Я пытаюсь получить файлы в репозитории Amazon S3, как вопрос. Я получил сообщение от Amazon «InvalidAccessKeyId».
The AWS Access Key Id you provided does not exist in our records. (Service: Amazon S3; Status Code: 403; Error Code: InvalidAccessKeyId; Request ID: 62781C914754D8ED; S3 Extended Request ID: +fhv2t247XoEK99IZ6/f8lcWUz7IWlGybGfb2HRNrWpCG+EbeSupSREmcseyBcJQ3VybXizwVTg=)
Прокомментируйте, что сервер не предоставил мне разрешения listBucket, поэтому я помещаю путь как backet (я также пытался поместить ведро и путь в ключ String bucketName = "my_bucket"; Строковый ключ = "папка / папка1 / example.xml"; ):
String accesKey= "my_access_key";
String secretKey= "my_secret_key";
String bucketName= "my_bucket/folder/folder1/";
String key= "example.xml";
BasicAWSCredentials creds = new BasicAWSCredentials(accesKey, secretKey);
AmazonS3 s3 = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(creds)).withRegion(Regions.EU_WEST_1).build();
s3.getObject(new GetObjectRequest(bucketName, key)




Имя сегмента должно быть просто my_bucket. И ключ будет folder / folder1 / example.xml
А также попробуй,
AmazonS3Client aws3 = new AmazonS3Client(accesKey, secretKey,
RegionEndpoint.your_region_endpoint);
string content = null;
var response = aws3.GetObjectAsync(new GetObjectRequest
{
BucketName = bucketName,
Key = key,
}).Result;
using (var s = new StreamReader(response.ResponseStream))
{
content = s.ReadToEnd();
}
Похоже, есть несколько проблем Проблема 1:
bucketName : only a bucket name
keyName: will have dir structure/filename
Проблема 2:
Проблема с секретным ключом / ключом доступа
Посмотрите, как api ищет учетные данные
Ошибка кажется вполне понятной. Что вы имеете в виду под "сервером не предоставлено разрешение listBucket"?