O Boto3 aceita uma política de proxy explícita por meio do objeto Config do 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)

As chaves do mapa escolhem o protocolo de destino. Os valores descrevem o endpoint do proxy. Este exemplo envia as solicitações de serviço HTTP e HTTPS por um único proxy HTTP de encaminhamento. Para um teste permitido de um endpoint público da AWS sem conta de proxy, uma entrada HTTP da lista de proxies HTTP pode fornecer esses dois URL.

Um valor https:// exigiria, em vez disso, um ouvinte de proxy que aceite uma conexão TLS do cliente. Não altere o esquema do valor apenas para corresponder à chave HTTPS.

Config.proxies substitui a seleção de proxy das variáveis de ambiente HTTP_PROXY e HTTPS_PROXY para esse cliente. Outros clientes podem ser construídos com os próprios objetos Config; construir este não altera uma variável de ambiente de todo o processo.

Preserve qualquer outra opção necessária do cliente, como região e política de nova tentativa, ao integrar isto em uma aplicação. As credenciais da AWS permanecem na configuração normal de credenciais da aplicação. Não é preciso modificar EndpointCreator nem outro método privado do botocore.

Para uma conexão TLS com um proxy HTTPS, o Config também tem opções proxies_config como proxy_ca_bundle e proxy_client_cert. Elas dizem respeito à confiança e à autenticação de certificado de cliente na conexão do proxy. São separadas da escolha do endpoint do serviço da AWS ou da assinatura de solicitações da API da AWS.

Artigos relacionados