gpt4 book ai didi

php - 使用签名算法版本 4 创建签名的 S3 下载链接

转载 作者:搜寻专家 更新时间:2023-10-31 21:30:26 25 4
gpt4 key购买 nike

我需要 eu-central-1 中某个存储桶的过期下载链接。

使用 $s3->getObjectUrl($bucket, $filename, '+5 minutes'); 从 SDK-PHP 我只得到像 http://.../file.txt 这样的未签名的 URLs没有查询字符串。

完整代码:

require 'vendor/autoload.php';
use Aws\S3\S3Client;

$client = S3Client::factory([
'version' => 'latest',
'region' => 'eu-central-1',
'signature' => 'v4',
'credentials' => [
'key' => 'xxxxx',
'secret' => 'xxxxx'
]
]);

$plainUrl = $client->getObjectUrl('mybucket', 'data.txt');
// > https://my-bucket.s3.amazonaws.com/data.txt

$signedUrl = $client->getObjectUrl('mybucket', 'data.txt', '+10 minutes');
// > https://my-bucket.s3.amazonaws.com/data.txt

我不知道为什么?

最佳答案

啊啊啊getObjectUrl 不再有第三个参数。这有效:

$cmd = $client->getCommand('GetObject', [
'Bucket' => $bucket,
'Key' => 'test1G.dat'
]);

$request = $client->createPresignedRequest($cmd, '+20 minutes');
$presignedUrl = (string) $request->getUri();

关于php - 使用签名算法版本 4 创建签名的 S3 下载链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30588023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com