gpt4 book ai didi

.net - 我可以使用 Amazon.S3.IO.S3FileInfo 通过适用于 .Net 的 AWS 开发工具包创建公共(public)文件吗

转载 作者:行者123 更新时间:2023-12-02 21:26:55 30 4
gpt4 key购买 nike

我正在使用 AWS SDK for .Net 在 S3 存储桶中创建文件,我正在使用 S3FileInfo,一切正常,但文件创建为私有(private),而且我似乎找不到将它们创建为公开的方法。

最佳答案

“默认情况下,您的 Amazon S3 存储桶和对象是私有(private)的。要使用 URL(例如 https://s3.amazonaws.com/Bucket/Object)使对象可见,您必须使该对象公开可读。否则,您将需要创建一个签名 URL包括带有身份验证信息的签名。”

您可以通过向访问控制列表添加条目来使对象公开可读。它可以通过 AmazonS3Client 类中的 PutACL() 方法完成。

这是工作示例:

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
});
}
}

关于.net - 我可以使用 Amazon.S3.IO.S3FileInfo 通过适用于 .Net 的 AWS 开发工具包创建公共(public)文件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23553986/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com