Jak skonfigurować serwery proxy dla bibliotek platformy Azure

Adres URL serwera proxy ma postać http[s]://[username:password@]<ip_address_or_domain>:<port>/ , w której kombinacja username:password 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 do proxies 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ą w dowolnej wersji bibliotek platformy Azure.

Te zmienne środowiskowe są ignorowane, jeśli przekazujesz parametr use_env_settings=False do konstruktora obiektu klienta lub metody operacji.

Z poziomu kodu w języku Python

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"

Z poziomu interfejsu 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

Konfiguracja poszczególnych klientów lub metody

Aby skonfigurować 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 platformie 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 = "your_url"

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