我目前正努力让S3下载链接正常工作。我一直在使用this code作为参考,但当我尝试打开文件时,我收到错误:
不支持您提供的授权机制。请 使用AWS4-HMAC-SHA256。
我尝试了一些其他脚本,但所有脚本都以其他错误消息结束。 是否有一种简单的方法来迁移我正在使用的脚本以使其与Signature v4一起使用?
更新:根据hjpotter92的建议,我使用了AWS-SDK并提出了这个有效的代码:
$client = S3Client::factory([
'version' => 'latest',
'region' => 'eu-central-1',
'signature' => 'v4',
'credentials' => [
'key' => '12345',
'secret' => 'ABCDE'
]
]);
$cmd = $client->getCommand('GetObject', [
'Bucket' => '###name###',
'Key' => $fileName
]);
$request = $client->createPresignedRequest($cmd, '+2 minutes');
$presignedUrl = (string) $request->getUri();
return $presignedUrl;