Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Usa i profili
Utilizzando il credentials
file condiviso config
e, puoi configurare diversi profili. Ciò consente all'applicazione di utilizzare più set di configurazione delle credenziali. Il [default]
profilo è stato menzionato in precedenza. SDKUtilizza la ProfileCredentialsProvidercredentials
file condiviso.
Il seguente frammento di codice mostra come creare un client di servizio che utilizza le impostazioni definite come parte del profilo denominato. my_profile
Region region = Region.US_WEST_2; DynamoDbClient ddb = DynamoDbClient.builder() .region(region) .credentialsProvider(ProfileCredentialsProvider.create("my_profile")) .build();
Imposta un profilo diverso come predefinito
Per impostare un profilo diverso dal [default]
profilo come predefinito per l'applicazione, imposta la variabile di AWS_PROFILE
ambiente sul nome del profilo personalizzato.
Per impostare questa variabile su Linux, macOS o Unix, usa: export
export AWS_PROFILE="other_profile"
Per impostare queste variabili su Windows, utilizza set
:
set AWS_PROFILE="other_profile"
In alternativa, impostate la proprietà del sistema aws.profile
Java sul nome del profilo.
Ricarica le credenziali del profilo
È possibile configurare qualsiasi provider di credenziali che disponga di un profileFile()
metodo nel relativo generatore per ricaricare le credenziali del profilo. Queste classi di profilo di credenziali sono:,, e ProfileCredentialsProvider
DefaultCredentialsProvider
InstanceProfileCredentialsProvider
ProfileTokenProvider.
Nota
Il ricaricamento delle credenziali del profilo funziona solo con le seguenti impostazioni nel file di profilo:aws_access_key_id
,, aws_secret_access_key
e. aws_session_token
Impostazioni comeregion
, sso_session
sso_account_id
, e source_profile
vengono ignorate.
Per configurare un provider di credenziali supportato per ricaricare le impostazioni del profilo, fornisci un'istanza del metodo ProfileFileSupplier
profileFile()
Il seguente esempio di codice mostra un ProfileCredentialsProvider
che ricarica le impostazioni delle credenziali dal profilo. [default]
ProfileCredentialsProvider provider = ProfileCredentialsProvider .builder() .profileFile(ProfileFileSupplier.defaultSupplier()) .build(); // Set up a service client with the provider instance. DynamoDbClient dynamoDbClient = DynamoDbClient.builder() .region(Region.US_EAST_1) .credentialsProvider(provider) .build(); /* Before dynamoDbClient makes a request, it reloads the credentials settings by calling provider.resolveCredentials(). */
Quando ProfileCredentialsProvider.resolveCredentials()
viene chiamato, SDK for Java ricarica le impostazioni. ProfileFileSupplier.defaultSupplier()
è una delle numerose implementazioni praticheProfileFileSupplier
fornite da. SDK Se il tuo caso d'uso lo richiede, puoi fornire la tua implementazione.
L'esempio seguente mostra l'uso del metodo di ProfileFileSupplier.reloadWhenModified()
convenienza. reloadWhenModified()
utilizza un Path
parametro, che offre flessibilità nella designazione del file sorgente per la configurazione anziché la posizione standard ~/.aws/credentials
(oconfig
).
Le impostazioni verranno ricaricate quando resolveCredentials()
viene chiamata solo se si SDK determina che il contenuto del file è stato modificato.
Path credentialsFilePath = ... ProfileCredentialsProvider provider = ProfileCredentialsProvider .builder() .profileFile(ProfileFileSupplier.reloadWhenModified(credentialsFilePath, ProfileFile.Type.CREDENTIALS)) .profileName("my-profile") .build(); /* A service client configured with the provider instance calls provider.resolveCredential() before each request. */
Il ProfileFileSupplier.aggregate()
metodo unisce il contenuto di più file di configurazione. Siete voi a decidere se ricaricare un file per chiamata resolveCredentials()
o se le impostazioni di un file vengono corrette al momento della prima lettura.
L'esempio seguente mostra un file DefaultCredentialsProvider
che unisce le impostazioni di due file che contengono le impostazioni del profilo. SDKRicarica le impostazioni nel file a cui fa riferimento la credentialsFilePath
variabile ogni volta che resolveCredentials()
viene chiamata e le impostazioni sono cambiate. Le impostazioni dell'profileFile
oggetto rimangono le stesse.
Path credentialsFilePath = ...; ProfileFile profileFile = ...; DefaultCredentialsProvider provider = DefaultCredentialsProvider .builder() .profileFile(ProfileFileSupplier.aggregate( ProfileFileSupplier.reloadWhenModified(credentialsFilePath, ProfileFile.Type.CREDENTIALS), ProfileFileSupplier.fixedProfileFile(profileFile))) .profileName("my-profile") .build(); /* A service client configured with the provider instance calls provider.resolveCredential() before each request. */