Boto3 accepterar en explicit proxypolicy via 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)

Kartans nycklar väljer målprotokollet. Värdena beskriver proxyns slutpunkt. Det här exemplet skickar både HTTP- och HTTPS-tjänsteförfrågningar genom en enda HTTP-vidarebefordranproxy. För ett tillåtet test av en offentlig AWS-slutpunkt utan proxykonto kan en HTTP-post från HTTP-proxylistan leverera de två webbadresserna.

Ett https://-värde skulle i stället kräva en proxylyssnare som tar emot en TLS-anslutning från klienten. Ändra inte värdets schema bara för att matcha HTTPS-nyckeln.

Config.proxies åsidosätter proxyvalet från miljövariablerna HTTP_PROXY och HTTPS_PROXY för den klienten. Andra klienter kan byggas med egna Config-objekt; att bygga den här ändrar inte en miljövariabel för hela processen.

Behåll alla andra nödvändiga klientalternativ, som region och policy för nya försök, när du tar in detta i ett program. AWS-uppgifterna finns kvar i programmets vanliga uppgiftskonfiguration. Ingen ändring av EndpointCreator eller någon annan privat botocore-metod behövs.

För en TLS-anslutning till en HTTPS-proxy har Config också proxies_config-alternativ som proxy_ca_bundle och proxy_client_cert. De gäller tillit och klientcertifikatautentisering på proxyanslutningen. De är skilda från att välja AWS-tjänstens slutpunkt eller signera AWS API-förfrågningar.

Relaterade artiklar