Ne peut pas récupérer les informations d'Identification Amazon
Je suis en train de fournir des informations d'identification pour mon Ressort de démarrage maven application hébergée sur le cloud (Pivot Web Services) pour être en mesure de télécharger sur Amazon S3. Cependant, chaque fois que j'essaie d'obtenir les informations d'identification à l'aide de:
DefaultAWSCredentialsProviderChain credentialProviderChain = new DefaultAWSCredentialsProviderChain();
TransferManager transferManager = new TransferManager(credentialProviderChain.getCredentials());
Il dit
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
[Request processing failed; nested exception is com.amazonaws.AmazonClientException: Unable
to load AWS credentials from any provider in the chain] with root cause
2016-01-28T23:55:38.55+0000 [APP/0] OUT com.amazonaws.AmazonClientException:
Unable to load AWS credentials from any provider in the chain
Je suis un peu confus quant à savoir si mes informations d'identification doivent être définis dans un beans.xml ou de l'application.fichier de propriétés. Mais j'ai essayé les deux, en vain. Quelqu'un pourrait-il me diriger dans la bonne direction?
vous pouvez essayer AWS Cognito, le service de
OriginalL'auteur Tometoyou | 2016-01-29
Vous devez vous connecter pour publier un commentaire.
Découvrez les docs! http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html
AWS informations d'identification de fournisseur de la chaîne qui ressemble à des informations d'identification dans cet ordre:
Plus générale docs ici: http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/credentials.html
Ainsi, le mode voulez-vous utiliser? Si vous êtes en cours d'exécution sur EC2, profil d'instance informations d'identification doivent être privilégiées. Sinon, juste pour obtenir en cours d'exécution, vous pouvez utiliser les propriétés du système technique en mettant ce avant votre code:
System.setProperty("aws.accessKeyId", "<YOUR ACCESS KEY>"); System.setProperty("aws.secretKey", "<YOUR SECRET KEY>");
. En général, cependant, il est préférable de ne pas mettre les informations d'identification dans votre code source.découvrez ClasspathPropertiesFileCredentialsprovider, qui vous permet de jeter un simple fichier de propriétés dans votre classpath qui contient vos informations d'identification. Il n'est pas partie de la chaîne. Une alternative est la PropertiesFileCredentialsProvider.
Votre solution de PropertiesFileCredentialsProvider travaillé, merci!
Pour maven, première travaillé !
OriginalL'auteur guitarsteve
cette approche a fonctionné:
OriginalL'auteur Raj Hassani