这是我的第一次AWS工作,所以下面的问题对很多人来说可能很容易,但我需要一些帮助。
当我转到https://hello-world.s3-ca-central-1.amazonaws.com/
时,我会在浏览器中收到以下回复。
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2007-01-01/">
<Name>hello-world</Name>
<Prefix></Prefix>
<Marker></Marker>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>data-1.json</Key>
<LastModified>2017-01-01T10:00:00.000Z</LastModified>
<ETag>"1234567890qwertyui"</ETag>
<Size>12345</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
</ListBucketResult>
假设这是一个公共S3存储桶。如果我没有凭据,我怎样才能将数据存储在data-1.json
中(据我所知,我不需要公共存储桶的凭据)?我浏览了文档和博客文章,但找不到任何不使用凭据的示例。
我在检查https://github.com/awslabs/aws-php-sample之后提出了以下代码,但它也提到我需要凭证https://github.com/awslabs/aws-php-sample#basic-configuration
$s3 = new Aws\S3\S3Client([
'version' => '2007-01-01',
'region' => 'ca-central-1'
]);
$result = $s3->getObject([
'Bucket' => 'hello-world',
'Key' => 'data-1.json'
]);
echo $result['Body'];
注意:我将使用Symfony框架。