過去兩天我一直在努力解決這個問題。我正在嘗試將檔案放入私有子網的 S3 存盤桶中。下面是我的代碼:
var s3Config = new AmazonS3Config() { ServiceURL = "https://myVPCnameamazonaws.com" };
using (var cli = new AmazonS3Client(
awsAccessKey,
awsSecretKey,
s3Config))
{
PutObjectRequest req = new PutObjectRequest()
{
BucketName = "test",
ContentType = "image/jpg",
InputStream = st,
Key = fileName
};
var response = cli.PutObject(req);
在我的代碼的最后一行中,我收到一條錯誤訊息:HttpErrorResponseException:遠程服務器回傳錯誤:(403) Forbidden。內部例外:
WebException:遠程服務器回傳錯誤:(403) Forbidden。

我不確定我應該寫什么代碼來擺脫這個錯誤。我正在使用 AWS 工具包。Visual Studio 2019..net 框架 4.7.2
對此的任何幫助將不勝感激。
uj5u.com熱心網友回復:
問題似乎是 AccessDenied 回應,它表明您的請求已到達 S3,但您的憑據無權將物件上傳到該 S3 存盤桶。
檢查與您的 AWS 憑證關聯的 IAM 策略。他們是否擁有必要的 S3 權限?
適當的策略將包括如下內容(假設您的存盤桶名稱是mybucket):
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource":"arn:aws:s3:::mybucket/*"
}
]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/342436.html
