1
我使用適用於.Net的AWS SDK在S3存儲桶中創建文件,我使用的是S3FileInfo,文件是私人創建的,我似乎無法找到公開創建它們的方法。我可以使用Amazon.S3.IO.S3FileInfo創建一個使用AWS SDK for .Net的公共文件
我使用適用於.Net的AWS SDK在S3存儲桶中創建文件,我使用的是S3FileInfo,文件是私人創建的,我似乎無法找到公開創建它們的方法。我可以使用Amazon.S3.IO.S3FileInfo創建一個使用AWS SDK for .Net的公共文件
「默認情況下,您的Amazon S3存儲桶和對象是私有的。要使對象可通過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
});
}
}
這做的伎倆。謝謝 – Escobar5