Mengakses kredensi dan profil dalam aplikasi - AWS SDK untuk .NET (V3)

Versi 4 (V4) dari AWS SDK untuk .NET telah dirilis!

Untuk mulai menggunakan versi baru SDK, lihat Panduan Pengembang AWS SDK untuk .NET (V4), terutama topik untuk Migrasi ke versi 4.

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

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 AWSCredentials Pabrik

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

Kelas Net SDKCredentials File dapat digunakan dengan cara yang persis sama, kecuali Anda akan membuat instance objek Net SDKCredentials File baru alih-alih objek. SharedCredentialsFile