使用PHP和S3 SDK连接到Amazon S3有什么问题?

时间:2015-01-05 22:32:18

标签: php amazon-web-services amazon-s3

我是Amazon S3的新手,并使用Amazon S3测试了几个不同的代码示例,但它无法正常工作。尽量保持简单。在下面的示例中,我尝试列出我的桶中的所有对象。

<?php
require 'includes/aws.phar';
use Aws\S3\S3Client;

$bucket = '*** Bucket Name ***';

// Instantiate the S3 client with your AWS credentials
$s3 = S3Client::factory(array(
'key' => 'YOUR_AWS_ACCESS_KEY_ID',
'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
));

$objects = $s3->getIterator('ListObjects', array('Bucket' => $bucket));

echo "Keys retrieved!\n";
foreach ($objects as $object) {
    echo $object['Key'] . "\n";
}

?>

错误消息

Keys retrieved! 
Fatal error: Uncaught Aws\S3\Exception\AccessDeniedException: AWS Error Code: AccessDenied, Status Code: 403, AWS Request ID: 34CD33C789DF53E7, AWS Error Type: client, AWS Error Message: Access Denied, User-Agent: aws-sdk-php2/2.7.12 Guzzle/3.9.2 curl/7.30.0 PHP/5.5.6 ITR thrown in phar://C:/xampp/htdocs/amazon-s3-fineupload/view/includes/aws.phar/Aws/Common/Exception/NamespaceExceptionFactory.php on line 91

当我使用代码示例测试预签名URL时,我收到一条错误消息,指出我生成的签名与他们的签名不匹配

我没有对亚马逊做过任何设置。我需要在政策中添加一些内容吗?我检查了我的钥匙(钥匙和秘密),他们是正确的!与我的桶名相同。

有人可以在PHP中给我一个工作示例,在S3上显示一个文件并告诉我是否需要在S3上进行一些设置?

0 个答案:

没有答案