Boto3 accepterer en eksplicit proxypolitik gennem botocores Config-objekt:

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)

Kortets nøgler vælger destinationsprotokollen. Værdierne beskriver proxyens slutpunkt. Dette eksempel sender både HTTP- og HTTPS-serviceforespørgsler gennem én HTTP-forwardproxy. Til en tilladt test af et offentligt AWS-slutpunkt uden en proxykonto kan en HTTP-post fra HTTP-proxylisten levere de to URL'er.

En https://-værdi ville i stedet kræve en proxylytter, der accepterer en TLS-forbindelse fra klienten. Ændr ikke værdiens skema blot for at matche HTTPS-nøglen.

Config.proxies tilsidesætter proxyvalget fra miljøvariablerne HTTP_PROXY og HTTPS_PROXY for den klient. Andre klienter kan oprettes med deres egne Config-objekter; oprettelsen af denne ændrer ikke en miljøvariabel for hele processen.

Bevar alle andre nødvendige klientindstillinger, såsom region og genforsøgspolitik, når du integrerer dette i en applikation. AWS-legitimationsoplysninger forbliver i applikationens normale legitimationskonfiguration. Der kræves ingen ændring af EndpointCreator eller en anden privat botocore-metode.

Til en TLS-forbindelse til en HTTPS-proxy har Config også proxies_config-indstillinger som proxy_ca_bundle og proxy_client_cert. De handler om tillid og klientcertifikatgodkendelse på proxyforbindelsen. De er adskilt fra valget af AWS-serviceendepunktet eller signeringen af AWS API-forespørgsler.

Relaterede artikler