Δώστε σε έναν πελάτη 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 forward proxy. Για μια επιτρεπόμενη δοκιμή δημόσιου τελικού σημείου 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.