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.

Схожі статті