Udostępnij za pośrednictwem


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" }