Дайте клиенту Boto3 явную карту прокси
Передайте botocore Config.proxies в конструктор клиента, чтобы выбирать маршруты, не меняя внутренности botocore.
Boto3 принимает явную политику прокси через объект Config библиотеки 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)
Ключи карты выбирают протокол назначения. Значения описывают конечную точку прокси. Этот пример отправляет и HTTP-, и HTTPS-запросы к сервисам через один прямой HTTP-прокси. Для разрешённой проверки публичной конечной точки AWS без прокси-аккаунта HTTP-запись из списка HTTP-прокси может дать оба этих URL.
Значение https:// вместо этого потребует прокси-слушатель, принимающий TLS-соединение от клиента. Не меняйте схему значения только ради соответствия ключу HTTPS.
Config.proxies переопределяет выбор прокси из переменных среды HTTP_PROXY и HTTPS_PROXY для этого клиента. Другие клиенты можно создавать со своими объектами Config; создание этого не меняет переменную среды всего процесса.
Сохраняйте любые другие нужные параметры клиента, такие как регион и политика повторных попыток, когда встраиваете это в приложение. Учётные данные AWS остаются в обычной конфигурации учётных данных приложения. Изменять EndpointCreator или другой закрытый метод botocore не нужно.
Для TLS-соединения с HTTPS-прокси у Config есть также параметры proxies_config, например proxy_ca_bundle и proxy_client_cert. Они касаются доверия и аутентификации клиентского сертификата в соединении через прокси. Они отделены от выбора конечной точки сервиса AWS или подписи запросов AWS API.