Boto3 godtar en eksplisitt proxypolicy gjennom 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)

Kartets nøkler velger målprotokollen. Verdiene beskriver proxyens endepunkt. Dette eksempelet sender både HTTP- og HTTPS-tjenesteforespørsler gjennom én HTTP-videresendingsproxy. For en tillatt test av et offentlig AWS-endepunkt uten proxykonto kan en HTTP-oppføring fra HTTP-proxylisten levere de to nettadressene.

En https://-verdi ville i stedet kreve en proxylytter som godtar en TLS-tilkobling fra klienten. Ikke endre skjemaet til verdien bare for å matche HTTPS-nøkkelen.

Config.proxies overstyrer proxyvalget fra miljøvariablene HTTP_PROXY og HTTPS_PROXY for den klienten. Andre klienter kan bygges med egne Config-objekter; å bygge denne endrer ikke en miljøvariabel for hele prosessen.

Behold alle andre nødvendige klientvalg, som region og policy for nye forsøk, når du tar dette inn i et program. AWS-legitimasjon blir værende i programmets vanlige legitimasjonskonfigurasjon. Ingen endring av EndpointCreator eller en annen privat botocore-metode er nødvendig.

For en TLS-tilkobling til en HTTPS-proxy har Config også proxies_config-valg som proxy_ca_bundle og proxy_client_cert. De gjelder tillit og klientsertifikatautentisering på proxtilkoblingen. De er atskilt fra å velge AWS-tjenesteendepunktet eller signere AWS API-forespørsler.

Relaterte artikler