Boto3 menerima kebijakan proxy eksplisit melalui objek Config botocore:

import boto3
from botocore.config import Config

network = Config(proxies={
    'http': 'http://proxy.example:8080',
    'https': 'http://proxy.example:8080',
})
s3 = boto3.client('s3', config=network)

Kunci peta memilih protokol tujuan. Nilainya menjelaskan titik akhir proxy. Contoh ini mengirim permintaan layanan HTTP dan HTTPS melalui satu proxy HTTP penerus. Untuk uji titik akhir AWS publik yang diizinkan tanpa akun proxy, entri HTTP dari daftar proxy HTTP dapat menyediakan kedua URL itu.

Nilai https:// sebaliknya memerlukan pendengar proxy yang menerima koneksi TLS dari klien. Jangan ubah skema nilai hanya agar cocok dengan kunci HTTPS.

Config.proxies menimpa pemilihan proxy dari variabel lingkungan HTTP_PROXY dan HTTPS_PROXY untuk klien itu. Klien lain dapat dibuat dengan objek Config sendiri; membuat yang ini tidak mengubah variabel lingkungan seluruh proses.

Pertahankan opsi klien lain yang diperlukan, seperti wilayah dan kebijakan percobaan ulang, saat memasukkannya ke dalam aplikasi. Kredensial AWS tetap berada dalam konfigurasi kredensial normal aplikasi. Tidak perlu mengubah EndpointCreator atau metode privat botocore lainnya.

Untuk koneksi TLS ke proxy HTTPS, Config juga memiliki opsi proxies_config seperti proxy_ca_bundle dan proxy_client_cert. Opsi itu berkaitan dengan kepercayaan dan autentikasi sertifikat klien pada koneksi proxy. Itu terpisah dari memilih titik akhir layanan AWS atau menandatangani permintaan AWS API.

Artikel terkait