【发布时间】:2015-10-22 00:07:46
【问题描述】:
我正在尝试配置亚马逊云前端,我已成功创建 clouldflayer url 并通过控制台从中访问私有 s3 存储桶。现在我正在尝试通过 php-sdk 来做到这一点,因为我尝试了以下代码
use Aws\CloudFront\CloudFrontClient;
$cle = new CloudFrontClient([
'version' => 'latest',
'region' => 'us-west-2',
'credentials.ini' => [
'key' => 'credentials\pk-myKey.pem',
'secret' => 'secret',
],
]);
$result = $cle->getCloudFrontOriginAccessIdentity([
'Id' => '****', // REQUIRED
]);
print_r($result);
但我收到错误
致命错误:未捕获异常 'Aws\CloudFront\Exception\CloudFrontException' 并带有消息“在“https://cloudfront.amazonaws.com/2015-04-17/origin-access-identity/cloudfront/SDF345G”上执行“GetCloudFrontOriginAccessIdentity”时出错;
AWS HTTP 错误:客户端错误:403 SignatureDoesNotMatch(客户端):凭证的范围应为有效区域,而不是“us-west-2”。 -
我已经一一尝试了所有原因,但它不起作用
【问题讨论】:
-
没有 PHP 经验,但 key 和 secret 往往是实际的 access-key 和 secret,而不是指向密钥文件的指针。此外,credentials.ini 可能不正确(同样,没有 PHP 经验)