【发布时间】:2016-03-31 01:16:39
【问题描述】:
我已建立 AWS 帐户。我正在尝试将我的第一个程序化 PUT 放入 S3。我已经使用控制台创建了一个存储桶并将东西放在那里。我还创建了一个子目录 (myFolder) 并将其公开。我创建了 .aws/credentials 文件并尝试使用示例代码,但出现以下错误:
在“https://s3.amazonaws.com/gps-photo.org/mykey.txt”上执行“PutObject”时出错; AWS HTTP 错误:客户端错误:
PUT https://s3.amazonaws.com/gps-photo.org/mykey.txt导致403 Forbidden响应:AccessDeniedAccess DeniedFC49CD(截断...) AccessDenied(客户端):拒绝访问 -AccessDeniedAccess DeniedFC49CD15567FB9CD1GTYxjzzzhcL+YyYsuYRx4UgV9wzTCQJX6N4jMWwA39PFaDkK2B9R+FZf8GVM6VvMXfLyI/4abo=
我的代码是
<?php
// Include the AWS SDK using the Composer autoloader.
require '/home/berman/vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;
$bucket = 'gps-photo.org';
$keyname = 'my-object-key';
// Instantiate the client.
$s3 = S3Client::factory(array(
'profile' => 'default',
'region' => 'us-east-1',
'version' => '2006-03-01'
));
try {
// Upload data.
$result = $s3->putObject(array(
'Bucket' => $bucket,
'Key' => "myFolder/$keyname",
'Body' => 'Hello, world!',
'ACL' => 'public-read'
));
// Print the URL to the object.
echo $result['ObjectURL'] . "\n";
} catch (S3Exception $e) {
echo $e->getMessage() . "\n";
}
如果有人可以帮助我,那就太好了。谢谢。 --伦
【问题讨论】:
标签: php amazon-web-services amazon-s3