我正在尝试配置亚马逊云前端,我已经成功地创建了cloudflayer 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'与消息'错误执行"GetCloudFrontOriginAccessIdentity"在"https://cloudfront.amazonaws.com/2015-04-17/origin-access-identity/cloudfront/SDF345G";
AWS HTTP错误:Client error: 403 SignatureDoesNotMatch (Client): Credential应该被限定在一个有效的区域,而不是"us-west-2"。-
我已经一个接一个地尝试了所有的理由,但都不起作用
Credential should be scoped to a valid region, not 'us-west-2'.
与大多数AWS不同,CloudFront不是一个区域服务,而是一个全球服务,通过us-east-1进行配置和管理,而不考虑任何相关服务(S3, EC2等)部署在哪个区域。
'region' => 'us-east-1',