Dev*_*uez 1 php amazon-s3 amazon-web-services laravel
AccessDeniedException当我尝试使用Laravel将对象放入S3存储桶时,我从AWS PHP SDK中获取了一个.我已经配置了密钥,密钥和区域application/config/packages/aws/aws-sdk-php-laravel/config.php.然后我尝试使用以下代码执行一个简单的putObject:
try {
AWS::get('s3')->putObject(array(
'Bucket' => Config::get('settings.AWS_BUCKET'),
'Key' => 'hello_.txt',
'Body' => 'hi',
'ACL' => 'public-read'
));
return 'great success';
} catch (Exception $e) {
return $e;
}
Run Code Online (Sandbox Code Playgroud)
正如我在开始时提出这个问题所期望的那样,失败并返回类似这样的事情(请求ID每次都在变化):
Aws\S3\Exception\AccessDeniedException: AWS Error Code: AccessDenied, Status Code: 403, AWS Request ID: CA0E8181A5F2D740, AWS Error Type: client, AWS Error Message: Access Denied, User-Agent: aws-sdk-php2/2.7.20 Guzzle/3.9.2 curl/7.40.0 PHP/5.4.37 Laravel/4.2.17 L4MOD/1.1.0
Run Code Online (Sandbox Code Playgroud)
据我所知,我只是被拒绝访问存储桶.如果我改变了密钥或秘密,我会分别得到一个InvalidAccessKeyIdException和SignatureDoesNotMatchException.我在这里错过了什么?