Accesso a credenziali e profili in un'applicazione - AWS SDK for .NET

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à.

Accesso a credenziali e profili in un'applicazione

Il metodo preferito per utilizzare le credenziali consiste nel consentire loro AWS SDK for .NET di trovarle e recuperarle automaticamente, come descritto in. Risoluzione di credenziali e profili

Tuttavia, è anche possibile configurare l'applicazione per recuperare attivamente profili e credenziali e quindi utilizzare esplicitamente tali credenziali durante la creazione di un client di servizio. AWS

Per recuperare attivamente profili e credenziali, utilizza le classi di Amazon.Runtime. CredentialManagementspazio dei nomi.

Le sezioni seguenti forniscono esempi per queste classi.

Esempi di classe CredentialProfileStoreChain

È possibile ottenere credenziali o profili dalla CredentialProfileStoreChainclasse utilizzando i TryGetProfilemetodi TryGetAWSCredentialsor. La ProfilesLocation proprietà della classe determina il comportamento dei metodi, come segue:

  • Se ProfilesLocation è nullo o vuoto, cerca nell'SDK Store se la piattaforma lo supporta, quindi cerca nel file delle AWS credenziali condivise nella posizione predefinita.

  • Se la ProfilesLocation proprietà contiene un valore, cerca nel file delle credenziali specificato nella proprietà.

Ottieni le credenziali dall'SDK Store o dal file delle credenziali condivise AWS

Questo esempio mostra come ottenere le credenziali utilizzando la CredentialProfileStoreChain classe e quindi utilizzare le credenziali per creare un oggetto AmazonS3Client. Le credenziali possono provenire dall'SDK Store o dal file delle credenziali condivise nella posizione predefinita. AWS

Questo esempio utilizza anche Amazon.Runtime. AWSCredentialsclasse.

var chain = new CredentialProfileStoreChain(); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("some_profile", out awsCredentials)) { // Use awsCredentials to create an Amazon S3 service client using (var client = new AmazonS3Client(awsCredentials)) { var response = await client.ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); } }

Ottieni un profilo dall'SDK Store o dal file di AWS credenziali condivise

Questo esempio mostra come ottenere un profilo utilizzando la CredentialProfileStoreChain classe. Le credenziali possono provenire dall'SDK Store o dal file delle AWS credenziali condivise nella posizione predefinita.

Anche questo esempio utilizza la classe. CredentialProfile

var chain = new CredentialProfileStoreChain(); CredentialProfile basicProfile; if (chain.TryGetProfile("basic_profile", out basicProfile)) { // Use basicProfile }

Ottieni credenziali da un file di credenziali personalizzato

Questo esempio mostra come ottenere le credenziali utilizzando la classe. CredentialProfileStoreChain Le credenziali provengono da un file che utilizza il formato di file delle AWS credenziali ma si trova in una posizione alternativa.

Questo esempio utilizza anche Amazon.Runtime. AWSCredentialsclasse.

var chain = new CredentialProfileStoreChain("c:\\Users\\sdkuser\\customCredentialsFile.ini"); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("basic_profile", out awsCredentials)) { // Use awsCredentials to create an AWS service client }

Esempi di classi SharedCredentialsFile e AWSCredentialsFactory

Crea un client AmazonS3 utilizzando la classe SharedCredentialsFile

Questo esempio mostra come trovare un profilo nel file delle AWS credenziali condivise, creare credenziali dal profilo e quindi utilizzare AWS le credenziali per creare un oggetto AmazonS3Client. SharedCredentialsFileL'esempio utilizza la classe.

Questo esempio utilizza anche la CredentialProfileclasse e Amazon.Runtime. AWSCredentialsclasse.

CredentialProfile basicProfile; AWSCredentials awsCredentials; var sharedFile = new SharedCredentialsFile(); if (sharedFile.TryGetProfile("basic_profile", out basicProfile) && AWSCredentialsFactory.TryGetAWSCredentials(basicProfile, sharedFile, out awsCredentials)) { // use awsCredentials to create an Amazon S3 service client using (var client = new AmazonS3Client(awsCredentials, basicProfile.Region)) { var response = await client.ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); } }
Nota

La CredentialsFile classe NetSDK può essere utilizzata esattamente allo stesso modo, tranne per il fatto che è necessario istanziare un nuovo oggetto NetSDK CredentialsFile anziché un oggetto. SharedCredentialsFile