希望有人能帮忙。我是 AWS 开发工具包的新手,我们有存储桶和子存储桶。我有正确的访问密钥和秘密,因为我可以使用 CyberDuck 登录并修改/删除存储桶中的文件,但是当我尝试列出存储桶内容时,我得到一个 AccessDenied / 403 错误代码。
这是我目前正在使用的代码,看起来非常简单。我只是不知道我的帐户中是否还有其他需要做的事情(其他权限)阻止我列出存储桶内容。需要注意的一件事是,如果我执行 $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
任何帮助将不胜感激!