Recibí el siguiente error al enviar ListObjectRequest:
The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256 Según esta respuesta, AmazonS3Config se actualizó de la siguiente manera:
var amazonS3Config = new AmazonS3Config { SignatureVersion = "4", ServiceURL = bucketName, RegionEndpoint = RegionEndpoint.USEast1, SignatureMethod = SigningAlgorithm.HmacSHA256 }; var s3Client = new AmazonS3Client(accessKeyID, secretKey, amazonS3Config);Pero sigo recibiendo este error. ¿Qué me he perdido aquí?
Gracias.
Intente usar la última versión de amazonS3 sdk. Creo que ServiceUrl no es necesario cuando conoce regionEndpoint, lo usé con la nube privada amazonS3 y cuando no conozco Region Endpoint. Puedo recuperar la información de Amazon usando el siguiente código.
var amazonS3Config = new AmazonS3Config(); // region of FrankPurt is : RegionEndpoint.EUCentral1 // according to amazonS3 Doc http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region amazonS3Config.RegionEndpoint = RegionEndpoint.USEast1; var s3Client = new AmazonS3Client("your access key", "your secret key", amazonS3Config); S3DirectoryInfo dir = new S3DirectoryInfo(s3Client, "your bucket name", "your folder path without bucket name"); Console.WriteLine(dir.GetFiles().Count());Al usar esto, puedo trabajar en la región oeste 2 de la UE
AmazonS3Config config = new AmazonS3Config(); config.SignatureVersion = "4"; config.RegionEndpoint = Amazon.RegionEndpoint.GetBySystemName("eu-west-2"); config.SignatureMethod = Amazon.Runtime.SigningAlgorithm.HmacSHA256;la región debería