Esc*_*ar5 1 .net amazon-s3 amazon-web-services
我正在使用适用于 .Net 的 AWS 开发工具包在 S3 存储桶中创建文件,我正在使用 S3FileInfo,一切正常,但文件是私有创建的,我似乎无法找到公开创建它们的方法。
“默认情况下,您的 Amazon S3 存储桶和对象是私有的。要使用 URL(例如https://s3.amazonaws.com/Bucket/Object)使对象可见,您必须使该对象公开可读。否则,您将需要创建一个签名 URL,其中包含带有身份验证信息的签名。”
您可以通过向访问控制列表添加条目来使对象公开可读。它可以通过类中的PutACL()方法来完成AmazonS3Client。
这是工作示例:
static void Main()
{
// data
const string accessKeyId = "AKIAIR42XOXH7RXDLVTA";
const string secretAccessKey = "z4cODfNLYU0YGf7MnXMCXGib2QaxM+inbA1UZw3k";
const string testBucket = "qwe.SampleBucket";
const string testFile = "testFile.txt";
using (var s3Client = new AmazonS3Client(accessKeyId, secretAccessKey, RegionEndpoint.USEast1))
{
// creating a file
var s3FileInfo = new S3FileInfo(s3Client, testBucket, testFile);
using (var streamWriter = s3FileInfo.CreateText())
{
streamWriter.Write("TestContent");
}
// setting a permission
s3Client.PutACL(new PutACLRequest
{
BucketName = testBucket,
Key = testFile,
CannedACL = S3CannedACL.PublicRead
});
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1006 次 |
| 最近记录: |