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

บทความที่เกี่ยวข้อง