2016-03-21 6 views
1

Wie kann ich ein benanntes Profil (z. B. "meinprofil") als AWS-Anmeldeinformationsanbieter angeben?Verwenden eines Standardprofilnamens in einem AWS Credentials Provider?

Ich habe einen AWS Kinesis-Client, der zur Zeit Anmeldeinformationen im App-Bundle gespeichert verwendet:

KinesisProducerConfiguration config = new KinesisProducerConfiguration(); 
config.setCredentialsProvider(new PropertiesFileCredentialsProvider("credentials.properties")); 

und möchte es so modifizieren, dass es ein Profil angegeben in der Standard-Konfigurationsdatei AWS ~/.aws/credentials verwenden kann.

ich die Anmeldeinformationen wie folgt zu erreichen:

String awskey = new ProfilesConfigFile() 
          .getAllProfiles() 
          .get("myprofile") 
          .getCredentials() 
          .getAWSAccessKeyId(); 

Was muß ich in dem ersten Code-Snippet tun, so dass ich ein Profil angeben kann, in der Credentials-Datei?

Antwort

3

Wenn ich Ihre Frage richtig verstehe, sieht es aus wie ProfileCredentialsProvider könnte tun, was Sie wollen, z.:

config.setCredentialsProvider(new ProfileCredentialsProvider("credentials.properties", "myprofile")); 

Hoffe, das hilft!