Dare a un client Boto3 una mappa proxy esplicita
Passate botocore Config.proxies al costruttore del client per scegliere i percorsi senza modificare le interiora di botocore.
Boto3 accetta una politica proxy esplicita tramite l'oggetto Config di 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)
Le chiavi della mappa scelgono il protocollo di destinazione. I valori descrivono l'endpoint del proxy. Questo esempio invia sia le richieste di servizio HTTP sia quelle HTTPS attraverso un unico proxy HTTP in avanti. Per un test consentito di un endpoint AWS pubblico senza account proxy, una voce HTTP dal elenco dei proxy HTTP può fornire quei due URL.
Un valore https:// richiederebbe invece un listener proxy che accetti una connessione TLS dal client. Non cambiate lo schema del valore solo per farlo corrispondere alla chiave HTTPS.
Config.proxies sostituisce la selezione del proxy dalle variabili d'ambiente HTTP_PROXY e HTTPS_PROXY per quel client. Gli altri client possono essere costruiti con i propri oggetti Config; costruire questo non cambia una variabile d'ambiente a livello di processo.
Conservate ogni altra opzione client necessaria, come regione e politica di retry, quando integrate questo in un'applicazione. Le credenziali AWS restano nella normale configurazione delle credenziali dell'applicazione. Non serve modificare EndpointCreator né un altro metodo privato di botocore.
Per una connessione TLS a un proxy HTTPS, Config ha anche opzioni proxies_config come proxy_ca_bundle e proxy_client_cert. Riguardano la fiducia e l'autenticazione del certificato client sulla connessione al proxy. Sono separate dalla scelta dell'endpoint del servizio AWS o dalla firma delle richieste dell'API AWS.