Saya menggunakan pustaka python Boto 3, dan ingin terhubung ke AWS CloudFront. Saya perlu menentukan Profil AWS (AWS Credentials) yang benar, tetapi melihat dokumentasi resmi, saya tidak melihat cara untuk menentukannya.
Saya menginisialisasi klien menggunakan kode:
client = boto3.client('cloudfront')
Namun, ini menyebabkannya menggunakan profil default untuk terhubung. Saya tidak dapat menemukan metode untuk menentukan profil mana yang akan digunakan.
python
amazon-web-services
boto3
Nader A. Jabbar
sumber
sumber
client = boto3.client('s3', aws_access_key_id = '<access-key>', aws_secret_access_key = '<secret-key>')
Jawaban:
Saya pikir dokumentasinya tidak bagus dalam mengungkapkan bagaimana melakukan ini. Namun, ini telah menjadi fitur yang didukung selama beberapa waktu, dan ada beberapa detail dalam permintaan tarik ini .
Jadi ada tiga cara berbeda untuk melakukan ini:
Opsi A) Buat sesi baru dengan profil
Opsi B) Ubah profil sesi default dalam kode
Opsi C) Ubah profil sesi default dengan variabel lingkungan
sumber
dev.client('s3')
bukanboto3.client('s3')
ipython
juga berguna bagi saya.boto3.session.Session().available_profiles
- ini adalah daftar. Kemudian gunakan yang Anda inginkan @ jordan-phillips.Lakukan ini untuk menggunakan profil dengan nama 'dev':
sumber
Bagian dari dokumentasi boto3 ini berguna.
Inilah yang berhasil untuk saya:
sumber
Cukup tambahkan profil ke konfigurasi sesi sebelum panggilan klien.
boto3.session.Session(profile_name='YOUR_PROFILE_NAME').client('cloudwatch')
sumber