Doneu a un client de Boto3 un mapa de proxy explícit
Passeu Config.proxies de botocore al constructor del client per triar rutes sense modificar les entranyes de botocore.
Boto3 accepta una política de proxy explícita mitjançant l'objecte Config de 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)
Les claus del mapa seleccionen el protocol de destinació. Els valors descriuen el punt final del proxy. Aquest exemple envia tant les peticions de servei HTTP com les HTTPS a través d'un sol proxy HTTP d'avançament. Per a una prova permesa d'un punt final públic d'AWS sense cap compte de proxy, una entrada HTTP de la llista de proxys HTTP pot proporcionar aquests dos URL.
Un valor https:// requeriria en canvi un oient de proxy que accepti una connexió TLS del client. No canvieu l'esquema del valor només perquè coincideixi amb la clau HTTPS.
Config.proxies substitueix la selecció de proxy de les variables d'entorn HTTP_PROXY i HTTPS_PROXY per a aquest client. Els altres clients es poden construir amb els seus propis objectes Config; construir aquest no canvia cap variable d'entorn de tot el procés.
Conserveu qualsevol altra opció necessària del client, com ara la regió i la política de reintents, quan integreu això en una aplicació. Les credencials d'AWS continuen a la configuració habitual de credencials de l'aplicació. No cal modificar EndpointCreator ni cap altre mètode privat de botocore.
Per a una connexió TLS a un proxy HTTPS, Config també té opcions de proxies_config com proxy_ca_bundle i proxy_client_cert. Aquestes tracten de la confiança i de l'autenticació amb certificat de client a la connexió del proxy. Són independents de triar el punt final del servei d'AWS o de signar les peticions de l'API d'AWS.