2016-07-03 56 views
0

希望有人能幫忙。我是AWS新手,我們有桶,有子桶。我擁有正確的Access Key和Secret,因爲我可以使用Cyber​​Duck登錄並修改/刪除存儲桶中的文件,但是當我試圖列出存儲桶內容時,我得到一個AccessDenied/403錯誤代碼。AWS SDK 2.8在帶有AccessDenied/403的getIterator()函數中停滯

這是我目前正在使用的代碼,這看起來很直截了當。我只是不知道在我的帳戶(其他管理員)中是否還有其他事情需要我阻止我列出存儲桶內容。有一點需要注意的是,如果我做$ 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

由於我沒有管理員訪問我們公司的AWS控制檯,我繼續前進,只是讓自己成爲s3帳戶,並且一切正常。我將與其他開發人員進行交流,以瞭解我們的最終是否有任何權限需要修復,但現在一切都按預期工作。在深入研究之前,我應該先做這件事。我只是認爲發給我的憑證足夠全球化:(