Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan profil
Menggunakan credentials
file bersama config
dan, Anda dapat mengatur beberapa profil. Hal ini memungkinkan aplikasi Anda untuk menggunakan beberapa set konfigurasi kredensial. [default]
Profil tersebut telah disebutkan sebelumnya. SDKMenggunakan ProfileCredentialsProvidercredentials
file bersama.
Cuplikan kode berikut menunjukkan cara membangun klien layanan yang menggunakan pengaturan yang didefinisikan sebagai bagian dari profil bernama. my_profile
Region region = Region.US_WEST_2; DynamoDbClient ddb = DynamoDbClient.builder() .region(region) .credentialsProvider(ProfileCredentialsProvider.create("my_profile")) .build();
Tetapkan profil yang berbeda sebagai default
Untuk menetapkan profil selain [default]
profil sebagai default untuk aplikasi Anda, setel variabel AWS_PROFILE
lingkungan ke nama profil kustom Anda.
Untuk mengatur variabel ini di Linux, macOS, atau Unix, gunakan: export
export AWS_PROFILE="other_profile"
Untuk menetapkan variabel ini di Windows, gunakan set
:
set AWS_PROFILE="other_profile"
Atau, atur properti sistem aws.profile
Java ke nama profil.
Muat ulang kredensi profil
Anda dapat mengonfigurasi penyedia kredensi apa pun yang memiliki profileFile()
metode pada pembuatnya untuk memuat ulang kredensi profil. Kelas profil kredensil ini adalah:ProfileCredentialsProvider
,,DefaultCredentialsProvider
, dan InstanceProfileCredentialsProvider
ProfileTokenProvider.
catatan
Pemuatan ulang kredenal profil hanya berfungsi dengan pengaturan berikut di file profil:aws_access_key_id
,aws_secret_access_key
, dan. aws_session_token
Pengaturan sepertiregion
,sso_session
,sso_account_id
, dan source_profile
diabaikan.
Untuk mengonfigurasi penyedia kredensi yang didukung untuk memuat ulang setelan profil, berikan instance ProfileFileSupplier
profileFile()
pembangun. Contoh kode berikut menunjukkan ProfileCredentialsProvider
yang memuat ulang pengaturan kredensi dari profil. [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(). */
Ketika ProfileCredentialsProvider.resolveCredentials()
dipanggil, SDK untuk Java memuat ulang pengaturan. ProfileFileSupplier.defaultSupplier()
adalah salah satu dari beberapa implementasi kenyamananProfileFileSupplier
disediakan oleh. SDK Jika kasus penggunaan Anda membutuhkan, Anda dapat memberikan implementasi Anda sendiri.
Contoh berikut menunjukkan penggunaan metode ProfileFileSupplier.reloadWhenModified()
kenyamanan. reloadWhenModified()
mengambil Path
parameter, yang memberi Anda fleksibilitas dalam menunjuk file sumber untuk konfigurasi daripada lokasi standar ~/.aws/credentials
(atauconfig
).
Pengaturan akan dimuat ulang ketika resolveCredentials()
dipanggil hanya jika SDK menentukan konten file telah dimodifikasi.
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. */
ProfileFileSupplier.aggregate()
Metode ini menggabungkan isi dari beberapa file konfigurasi. Anda memutuskan apakah file dimuat ulang per panggilan ke resolveCredentials()
atau pengaturan file diperbaiki pada saat pertama kali dibaca.
Contoh berikut menunjukkan DefaultCredentialsProvider
yang menggabungkan pengaturan dua file yang berisi pengaturan profil. SDKMuat ulang pengaturan dalam file yang ditunjukkan oleh credentialsFilePath
variabel setiap kali resolveCredentials()
dipanggil dan pengaturan telah berubah. Pengaturan dari profileFile
objek tetap sama.
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. */