使用PHP sdk设置cloudfront


setting up cloudfront with php sdk

我正在尝试配置亚马逊云前端,我已经成功地创建了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',