Mengakses kredensi dan profil dalam aplikasi - AWS SDK for .NET

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengakses kredensi dan profil dalam aplikasi

Metode yang lebih disukai untuk menggunakan kredensional adalah memungkinkan AWS SDK for .NET untuk menemukan dan mengambilnya untuk Anda, seperti yang dijelaskan dalam. Resolusi kredensi dan profil

Namun, Anda juga dapat mengonfigurasi aplikasi Anda untuk secara aktif mengambil profil dan kredensional, dan kemudian secara eksplisit menggunakan kredensional tersebut saat membuat klien layanan. AWS

Untuk secara aktif mengambil profil dan kredensional, gunakan kelas dari Amazon.Runtime. CredentialManagementnamespace.

  • Untuk menemukan profil dalam file yang menggunakan format file AWS kredensial (baik file AWSkredensial bersama di lokasi default atau file kredensial kustom), gunakan kelas. SharedCredentialsFile File dalam format ini kadang-kadang hanya disebut file kredensional dalam teks ini untuk singkatnya.

  • Untuk menemukan profil di SDK Store, gunakan kelas CredentialsFileNetSDK.

  • Untuk mencari di kedua file kredensial dan SDK Store, tergantung pada konfigurasi properti kelas, gunakan kelas. CredentialProfileStoreChain

    Anda dapat menggunakan kelas ini untuk menemukan profil. Anda juga dapat menggunakan kelas ini untuk meminta AWS kredensional secara langsung alih-alih menggunakan AWSCredentialsFactory kelas (dijelaskan selanjutnya).

  • Untuk mengambil atau membuat berbagai jenis kredensional dari profil, gunakan kelas. AWSCredentialsFactory

Bagian berikut memberikan contoh untuk kelas-kelas ini.

Contoh untuk kelas CredentialProfileStoreChain

Anda bisa mendapatkan kredensi atau profil dari CredentialProfileStoreChainkelas dengan menggunakan metode TryGetAWSCredentialsor TryGetProfile. ProfilesLocationProperti kelas menentukan perilaku metode, sebagai berikut:

  • Jika ProfilesLocation nol atau kosong, cari SDK Store jika platform mendukungnya, lalu cari file AWS kredensial bersama di lokasi default.

  • Jika ProfilesLocation properti berisi nilai, cari file kredensial yang ditentukan dalam properti.

Mendapatkan kredensional dari SDK Store atau file kredensial bersama AWS

Contoh ini menunjukkan kepada Anda cara mendapatkan kredensi dengan menggunakan CredentialProfileStoreChain kelas dan kemudian menggunakan kredensialnya untuk membuat objek Amazons3Client. Kredensional dapat berasal dari SDK Store atau dari file AWS kredensional bersama di lokasi default.

Contoh ini juga menggunakan Amazon.Runtime. AWSCredentialskelas.

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}"); } }

Mendapatkan profil dari SDK Store atau file AWS kredensial bersama

Contoh ini menunjukkan kepada Anda cara mendapatkan profil dengan menggunakan CredentialProfileStoreChain kelas. Kredensional dapat berasal dari SDK Store atau dari file AWS kredensional bersama di lokasi default.

Contoh ini juga menggunakan CredentialProfilekelas.

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

Dapatkan kredensional dari file kredensial kustom

Contoh ini menunjukkan kepada Anda cara mendapatkan kredensi dengan menggunakan kelas. CredentialProfileStoreChain Kredensialnya berasal dari file yang menggunakan format file AWS kredensial tetapi berada di lokasi alternatif.

Contoh ini juga menggunakan Amazon.Runtime. AWSCredentialskelas.

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 }

Contoh untuk kelas SharedCredentialsFile dan AWSCredentialsFactory

Buat Amazons3Client dengan menggunakan kelas SharedCredentialsFile

Contoh ini menunjukkan kepada Anda cara menemukan profil di file AWS kredensial bersama, membuat kredensi dari profil, dan kemudian menggunakan AWS kredensialnya untuk membuat objek Amazons3Client. Contoh menggunakan SharedCredentialsFilekelas.

Contoh ini juga menggunakan CredentialProfilekelas dan Amazon.Runtime. AWSCredentialskelas.

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}"); } }
catatan

CredentialsFileKelas netSDK dapat digunakan dengan cara yang persis sama, kecuali Anda akan membuat instance objek netSDK baru alih-alih objekCredentialsFile . SharedCredentialsFile