希望有人可以提供帮助。我是AWS SDK的新手,我们有桶,带子桶。我有正确的访问密钥和密钥,因为我可以使用CyberDuck登录并修改/删除存储桶中的文件,但是当我尝试列出存储桶内容时,我收到了AccessDenied / 403错误代码。
以下是我目前正在使用的代码,这看起来非常简单。我只是不知道我的帐户中是否还有其他需要做的事情(其他的permisisons)阻止我列出存储桶内容。需要注意的一点是,如果我使用$ client-> ListBuckets(),我可以看到所有的桶都可用,但它只是迭代器部分被阻止。
require 'vendor/autoload.php';
use Aws\Common\Aws;
use Aws\Common\Iterator\AwsResourceIterator;
$aws = Aws::factory(array(
'key' => '###my_key###',
'secret' => '###my_secret###'
));
$client = $aws->get('s3');
$iterator = $client->getIterator('ListObjects', array('Bucket' => $bucket));
foreach ($iterator as $object) {
echo $object['Key'] . "\n";
}
这是我得到的错误:
Fatal error: Uncaught Aws\S3\Exception\AccessDeniedException: AWS Error Code: AccessDenied, Status Code: 403, AWS Request ID: 195F81351F864AE4, AWS Error Type: client, AWS Error Message: Access Denied, User-Agent: aws-sdk-php2/2.8.30 Guzzle/3.9.3 curl/7.38.0 PHP/5.6.16 ITR thrown in /Volumes/localdev/www/aws/vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php on line 91
非常感谢任何帮助!
答案 0 :(得分:0)
由于我没有管理员访问我们公司的AWS控制台,所以我继续为自己设立了一个s3帐户,一切正常。我将与其他开发人员交谈,看看我们是否有任何我们需要修复的权限,但现在一切都按预期工作了。在深入研究之前,我应该先做到这一点。我只是觉得发给我的凭据足够全球:(