Geef een Boto3-client een expliciete proxymap
Geef botocore Config.proxies door aan de constructor van de client om routes te kiezen zonder de binnenkant van botocore te wijzigen.
Boto3 accepteert een expliciet proxybeleid via het Config-object van 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)
De sleutels van de map kiezen het protocol van de bestemming. De waarden beschrijven het proxy-eindpunt. Dit voorbeeld stuurt zowel HTTP- als HTTPS-serviceverzoeken via één HTTP-doorstuurproxy. Voor een toegestane test van een openbaar AWS-eindpunt zonder proxyaccount kan een HTTP-item uit de HTTP-proxylijst die twee URL's leveren.
Een https://-waarde zou in plaats daarvan een proxylistener vereisen die een TLS-verbinding van de client accepteert. Wijzig het schema van de waarde niet alleen om bij de HTTPS-sleutel te passen.
Config.proxies overschrijft de proxykeuze uit de omgevingsvariabelen HTTP_PROXY en HTTPS_PROXY voor die client. Andere clients kunnen met hun eigen Config-objecten worden gebouwd; het bouwen van deze wijzigt geen procesbrede omgevingsvariabele.
Behoud alle andere vereiste clientopties, zoals regio en beleid voor opnieuw proberen, wanneer u dit in een applicatie opneemt. AWS-referenties blijven in de normale referentieconfiguratie van de applicatie. Er is geen wijziging van EndpointCreator of een andere privémethode van botocore nodig.
Voor een TLS-verbinding naar een HTTPS-proxy heeft Config ook proxies_config-opties zoals proxy_ca_bundle en proxy_client_cert. Die gaan over vertrouwen en clientcertificaatauthenticatie op de proxyverbinding. Ze staan los van het kiezen van het AWS-service-eindpunt of het ondertekenen van AWS API-verzoeken.