【发布时间】:2015-09-29 22:02:35
【问题描述】:
我正在从存储桶中获取对象列表,但它得到了端点错误。
define('AWS_KEY', 'xxxxxx');
define('AWS_SECRET_KEY', 'x+x/xxxxxxxx/');
define('AWS_CANONICAL_ID','xx');
define('AWS_CANONICAL_NAME', 'xxxxx');
$HOST = 's3.amazonaws.com';
require_once 'php_plugins/aws/v1/sdk.class.php';
$Connection = new AmazonS3(array(
'key' => AWS_KEY,
'secret' => AWS_SECRET_KEY,
'canonical_id' => AWS_CANONICAL_ID,
'canonical_name' => AWS_CANONICAL_NAME,
));
$ListResponse = $Connection->list_buckets();
$Buckets = $ListResponse->body->Buckets->Bucket;
foreach ($Buckets as $Bucket) {
echo $Bucket->Name . "\t" . $Bucket->CreationDate . "\n";
$response = $Connection->list_objects($Bucket->Name);
}
我正在收到回复。
[body] => CFSimpleXML Object
(
[Code] => PermanentRedirect
[Message] => The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
[Bucket] => pics.online.com
[Endpoint] => pics.online.com.s3.amazonaws.com
[RequestId] => 5F102571A54DA3BA
[HostId] => tBBxwxfUbdlV+m1R/Z9BnjLViyjROdzXrhPfc28WHaZYo/1zAwof2C0G5CVpZvkP8oZERTL0CD8=
)
[status] => 301
我认为错误在 URL 代码调用“主机名/桶名” 在这里,我更改了我的存储桶名称 https://s3.amazonaws.com/pics.online.com/ 它应该调用 https://pics.online.com.s3.amazonaws.com/
谁能告诉我如何为 amazon s3 PHP 更改此路径?
【问题讨论】:
-
您将 S3 存储桶放在哪里?如果不是美国标准,请不要忘记设置您的区域。
-
@EdwardSamuel 我已设置区域,但它显示 AWS 错误代码:PermanentRedirect,状态代码:301
标签: php amazon-web-services amazon-s3