【问题标题】:Access dynamodb using sdk-for-php使用 sdk-for-php 访问 dynamodb
【发布时间】:2015-12-10 09:46:19
【问题描述】:
require "config.php";
require __DIR__ . '/vendor/autoload.php';
$sdk = new Aws\Sdk([
    'region'   => 'us-east-1',
    'version'  => 'latest',
    'credentials' => array(
        'key' => $global_access_key,
        'secret'  => $global_secret_key,
      ),
]);

$dynamodb = $sdk->createDynamoDb();

$response = $dynamodb->getItem([
    'TableName' => $global_table_name,
'Key' => [
    'userid' => [ 'N' => '1' ]
    ]
]);

var_dump($response);
die;

当我尝试运行此代码时,它给出的错误定义为:

致命错误:未捕获的异常“Aws\DynamoDb\Exception\DynamoDbException”,消息“在“https://dynamodb.us-east-1.amazonaws.com”上执行“GetItem”时出错; AWS HTTP 错误:cURL 错误 60:SSL 证书问题:无法在 C:\wamp\www\practice\vendor\aws\aws-sdk-php\src\WrappedHttpHandler.php 中获取本地颁发者证书(请参阅 http://curl.haxx.se/libcurl/c/libcurl-errors.html)'在第 159 行

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb fatal-error


    【解决方案1】:
    $sdk = new Aws\Sdk([
    'region'   => 'us-east-1',
    'version'  => 'latest',
    'credentials' => array(
        'key' => $global_access_key,
        'secret'  => $global_secret_key,
      ),
    'signature_version' => 'v4',
    'http'    => [
        'verify' => false
    ]
    ]);
    

    通过阅读文档得到答案

    【讨论】:

      【解决方案2】:

      而不是禁用 SSL 验证,这可能会导致中间人攻击。下面的解决方案会更安全、更合适。

      1. http://curl.haxx.se/ca/cacert.pem下载最新的证书文件
      2. 将其保存在您的代码可访问的路径中。 (例如:- C:\nginx\cert\cacert.pem)
      3. 根据您使用的 aws-sdk-php 版本修改您的代码,如下所示。

      2.X 版:-

      $aws = Aws\Common\Aws::factory(array(
       'region' => 'us-west-2',
       'key' => '****',
       'secret' => '****',
       'ssl.certificate_authority' => 'C:\nginx\cert\cert.pem'
      ));
      

      3.X 版:-

      $client = new DynamoDbClient([
          'region'  => 'us-west-2',
          'version' => 'latest',
          'http'    => [
              'verify' => 'C:\nginx\cert\cert.pem'
          ]
      ]);
      

      参考:-

      https://s3.cn-north-1.amazonaws.com.cn/aws-dam-prod/china/pdf/aws-sdk-php-guide.pdf

      http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/configuration.html#verify

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2012-02-18
        • 2020-01-19
        • 2013-02-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多