Boto3 acceptă o politică explicită de proxy prin obiectul Config din 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)

Cheile hărții aleg protocolul destinației. Valorile descriu punctul final al proxy-ului. Acest exemplu trimite atât cererile de serviciu HTTP, cât și cele HTTPS printr-un singur proxy HTTP de redirecționare. Pentru un test permis al unui punct final public AWS fără cont de proxy, o intrare HTTP din lista de proxy-uri HTTP poate furniza cele două URL-uri.

O valoare https:// ar necesita în schimb un ascultător de proxy care acceptă o conexiune TLS de la client. Nu schimbați schema valorii doar pentru a se potrivi cu cheia HTTPS.

Config.proxies suprascrie selecția proxy-ului din variabilele de mediu HTTP_PROXY și HTTPS_PROXY pentru acel client. Alți clienți pot fi construiți cu propriile obiecte Config; construirea acestuia nu schimbă o variabilă de mediu la nivel de proces.

Păstrați orice alte opțiuni necesare ale clientului, cum ar fi regiunea și politica de reîncercare, când integrați acest lucru într-o aplicație. Acreditările AWS rămân în configurația obișnuită de acreditări a aplicației. Nu este nevoie de modificarea EndpointCreator sau a altei metode private botocore.

Pentru o conexiune TLS la un proxy HTTPS, Config are și opțiuni proxies_config precum proxy_ca_bundle și proxy_client_cert. Acestea privesc încrederea și autentificarea prin certificat de client pe conexiunea proxy. Sunt separate de alegerea punctului final al serviciului AWS sau de semnarea cererilor AWS API.

Articole similare