У меня проблема в том, что я пытаюсь просто перечислить сегменты с помощью .net C # SDK для AWS S3, но всегда получаю исключение «Отказ в доступе». Я работаю на Windows 10.
Сообщение об ошибке: Amazon.S3.AmazonS3Exception: 'Access Denied'
Мой код C #:
namespace AwsEmptyApp1
{
class Program
{
public static void Main(string[] args)
{
IAmazonS3 client = new AmazonS3Client();
ListBucketsResponse response = client.ListBuckets();
foreach (S3Bucket b in response.Buckets)
{
Console.WriteLine("{0}\t{1}", b.BucketName, b.CreationDate);
}
Console.Read();
}
}
}
Я попытался установить прокси вручную с помощью:
AmazonS3Config config = new AmazonS3Config();
config.RegionEndpoint = //ENDPOINT
config.ProxyHost = //Proxy http://USERNAME:PASSWORD@PROXYIP:PROXYPORT
Или:
AmazonS3Config config = new AmazonS3Config();
config.RegionEndpoint = //ENDPOINT
config.ProxyHost = //Proxy http://PROXYIP:PROXYPORT
config.ProxyPort = 8080;
config.ProxyCredentials = new NetworkCredential(user, pw);
Любопытно, что он работает с локальным интерфейсом командной строки.
aws s3api head-bucket --bucket [BUCKETNAME]
работает.
aws s3 ls [BUCKET]
работает хорошо.
Я также вижу все данные в веб-интерфейсе.
Я проверил свою роль с aws sts get-caller-identity
и свои учетные данные с aws configure list
, и все в порядке
Я работаю за прокси. Настройки прокси устанавливаются в моих пользовательских и системных переменных HTTP_PROXY
и HTTPS_PROXY
в формате http://USERNAME:PASSWORD@PROXYIP:PROXYPORT
.
Мои учетные данные AWS хранятся в C:\Users\[User]\.aws\credentials
У вас есть предложения для меня?
Спасибо! :)