Jak skonfigurować serwery proxy dla zestawu Azure SDK dla języka Python
Jeśli twoja organizacja wymaga użycia serwera proxy do uzyskiwania dostępu do zasobów internetowych, musisz ustawić zmienną środowiskową z informacjami o serwerze proxy, aby używać zestawu Azure SDK dla języka Python. Ustawienie zmiennych środowiskowych (HTTP_PROXY i HTTPS_PROXY) powoduje, że zestaw Azure SDK dla języka Python będzie używał serwera proxy w czasie wykonywania.
Adres URL serwera proxy ma postać http[s]://[username:password@]<ip_address_or_domain>:<port>/
, w której kombinacja nazwy użytkownika i hasła jest opcjonalna.
Następnie można skonfigurować serwer proxy globalnie przy użyciu zmiennych środowiskowych lub określić serwer proxy, przekazując argument o nazwie proxies
do pojedynczego konstruktora klienta lub metody operacji.
Konfiguracja globalna
Aby skonfigurować serwer proxy globalnie dla skryptu lub aplikacji, zdefiniuj HTTP_PROXY
lub HTTPS_PROXY
zmienne środowiskowe przy użyciu adresu URL serwera. Te zmienne działają z dowolną wersją bibliotek platformy Azure. Należy pamiętać, że HTTPS_PROXY
nie oznacza HTTPS
to serwera proxy, ale serwera proxy dla https://
żądań.
Te zmienne środowiskowe są ignorowane w przypadku przekazania parametru use_env_settings=False
do konstruktora obiektu klienta lub metody operacji.
Ustaw z wiersza polecenia
rem Non-authenticated HTTP server:
set HTTP_PROXY=http://10.10.1.10:1180
rem Authenticated HTTP server:
set HTTP_PROXY=http://username:password@10.10.1.10:1180
rem Non-authenticated HTTPS server:
set HTTPS_PROXY=http://10.10.1.10:1180
rem Authenticated HTTPS server:
set HTTPS_PROXY=http://username:password@10.10.1.10:1180
Ustawianie w kodzie języka Python
Ustawienia serwera proxy można ustawić przy użyciu zmiennych środowiskowych bez konieczności konfigurowania niestandardowego.
import os
os.environ["HTTP_PROXY"] = "http://10.10.1.10:1180"
# Alternate URL and variable forms:
# os.environ["HTTP_PROXY"] = "http://username:password@10.10.1.10:1180"
# os.environ["HTTPS_PROXY"] = "http://10.10.1.10:1180"
# os.environ["HTTPS_PROXY"] = "http://username:password@10.10.1.10:1180"
Konfiguracja niestandardowa
Ustawianie w kodzie języka Python na klienta lub na metodę
W przypadku konfiguracji niestandardowej można określić serwer proxy dla określonego obiektu klienta lub metody operacji. Określ serwer proxy z argumentem o nazwie proxies
.
Na przykład poniższy kod z artykułu Przykład: użyj usługi Azure Storage określa serwer proxy HTTPS z poświadczeniami użytkownika z konstruktorem BlobClient
. W tym przypadku obiekt pochodzi z biblioteki azure.storage.blob, która jest oparta na pliku azure.core.
from azure.identity import DefaultAzureCredential
# Import the client object from the SDK library
from azure.storage.blob import BlobClient
credential = DefaultAzureCredential()
storage_url = "https://<storageaccountname>.blob.core.windows.net"
blob_client = BlobClient(storage_url, container_name="blob-container-01",
blob_name="sample-blob.txt", credential=credential,
proxies={ "https": "https://username:password@10.10.1.10:1180" }
)
# Other forms that the proxy URL might take:
# proxies={ "http": "http://10.10.1.10:1180" }
# proxies={ "http": "http://username:password@10.10.1.10:1180" }
# proxies={ "https": "https://10.10.1.10:1180" }