Dajte Boto3 klijentu eksplicitnu kartu proxyja
Proslijedite botocore Config.proxies u konstruktor klijenta da biste birali rute bez mijenjanja unutrašnjosti botocore.
Boto3 prihvaća eksplicitnu politiku proxyja kroz botocore objekt Config:
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)
Ključevi karte biraju protokol odredišta. Vrijednosti opisuju završnu točku proxyja. Ovaj primjer šalje i HTTP i HTTPS zahtjeve usluga kroz jedan HTTP forward proxy. Za dopušteni test javne AWS završne točke bez proxy računa, HTTP unos s popisa HTTP proxyja može dati ta dva URL-a.
Vrijednost https:// bi umjesto toga zahtijevala proxy poslužitelj slušatelja koji prihvaća TLS vezu od klijenta. Ne mijenjajte shemu vrijednosti samo da bi odgovarala ključu HTTPS.
Config.proxies nadjačava odabir proxyja iz varijabli okruženja HTTP_PROXY i HTTPS_PROXY za taj klijent. Drugi se klijenti mogu graditi s vlastitim Config objektima; izgradnja ovoga ne mijenja varijablu okruženja na razini procesa.
Sačuvajte sve druge potrebne opcije klijenta, poput regije i politike ponovnog pokušaja, kada ovo ugrađujete u aplikaciju. AWS vjerodajnice ostaju u uobičajenoj konfiguraciji vjerodajnica aplikacije. Nije potrebna izmjena EndpointCreator ili neke druge privatne botocore metode.
Za TLS vezu s HTTPS proxyjem, Config ima i opcije proxies_config kao što su proxy_ca_bundle i proxy_client_cert. One se odnose na povjerenje i autentifikaciju klijentskog certifikata na proxy vezi. Odvojene su od odabira AWS završne točke usluge ili potpisivanja AWS API zahtjeva.