0
나는이 같은 S3 PHP SDK와 presigned 요청을 생성하는 것을 시도하고있다 :아마존 S3 PHP SDK presigned 요청
$s3Client = Aws\S3\S3Client::factory([
'credentials' => new Aws\Common\Credentials\Credentials('my-access-code', 'xxx')
]);
$command = $s3Client->getCommand('GetObject', [
'Bucket' => 'my-bucket-name',
'Key' => 'awesome-cat-image.png',
]);
$signedUrl = $command->createPresignedUrl('+10 minutes');
을하지만 고토 I 오류가 발생하는 URL이 말하는 :
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>
The request signature we calculated does not match the signature you provided. Check your key and signing method.
</Message>
<AWSAccessKeyId>xxx</AWSAccessKeyId>
<StringToSign>GET 1422564095 /my-bucket-name/awesome-cat-image.png</StringToSign>
<SignatureProvided>xxx</SignatureProvided>
<StringToSignBytes>
xxx
</StringToSignBytes>
<RequestId>xxx</RequestId>
<HostId>
xxx
</HostId>
</Error>
https://my-bucket-name.s3.amazonaws.com/awesome-cat-image.png에 액세스하는 것은 인증되지 않은 사용자를 허용하도록 설정된 사용 권한으로 올바르게 작동합니다.
이'url'를 구축 할 수있는 두 번째 방법을 시도를 찾을 수 있습니까? 그렇다면 동일한 결과를 얻었습니까? http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_createPresignedUrl – cmorrissey