【发布时间】:2018-12-31 17:51:18
【问题描述】:
我对使用 aws-sdk-php 非常陌生,我正在尝试为 Cloudfront 创建一个签名 URL(到 S3 存储桶中的对象)。我的代码如下(使用aws-sdk-php):
function test_cloudfront_signed_url(){
require ABSPATH . 'vendor/autoload.php';
$cloudFront = new Aws\CloudFront\CloudFrontClient([
'region' => 'us-west-2',
'version' => 'latest'
]);
// Setup parameter values for the resource
$resourceKey = 'REDACTED';
$expires = time() + 300;
// Create a signed URL for the resource using the canned policy
$signedUrlCannedPolicy = $cloudFront->getSignedUrl([
'url' => $resourceKey,
'expires' => $expires,
'private_key' => '/path/to/key/REDACTED.pem',
'key_pair_id' => 'REDACTED'
]);
echo $signedUrlCannedPolicy;
}
会生成一个 URL,但每当我尝试访问该 URL 时,我总是会收到一条错误消息,提示“缺少签名查询参数或 cookie 值”。也许我没有正确使用 SDK,但我不确定我做错了什么。我的私钥已经到位。
大部分代码来自我在 AWS 自己的文档中找到的内容。
有什么想法吗?
【问题讨论】:
标签: amazon-s3 aws-php-sdk