J'utilise aws-java-sdk version 1.11.104. Selon la AWS credentials doc la région par défaut est us-east-1
, mais quand je fais quand je crée définit pas la région manuellement un client, comme ceci:Définition de la région AWS par programme
AWSCredentialsProvider awsCredentialsProvider =
new AWSStaticCredentialsProvider(new BasicAWSCredentials(awsAccessKey, awsSecretKey));
AmazonS3 s3Client =
AmazonS3ClientBuilder.standard().withCredentials(awsCredentialsProvider).build();
Je reçois cette erreur:
com.amazonaws.SdkClientException:
Unable to find a region via the region provider chain.
Must provide an explicit region in the builder or setup environment to supply a region.
Pourquoi la région par défaut n'est-elle pas utilisée?
J'ai essayé d'ajouter ce qui suit avant mon code ci-dessus, mais cela ne fonctionne toujours pas.
System.setProperty(SDKGlobalConfiguration.AWS_REGION_ENV_VAR, "us-east-1");
Comment définir par programmation la région AWS? (Je voudrais le mettre à l'exécution pour toutes les classes de mon projet).
Merci.
Edit:
Je sais que je peux utiliser .withRegion()
sur le constructeur de clients, mais je me attendais à une région par défaut, ou la région choisi à partir d'une variable d'environnement à travers la chaîne des fournisseurs de la région par défaut.
2e question http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/client/builder/AwsClientBuilder.html#withRegion-com.amazonaws.regions.Regions- –
1ère question http: //docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html –
http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/ com/amazonaws/client/builder/AwsClientBuilder.html # setRegion-java.lang.String- – alfasin