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.

Gerelateerde artikelen