Konfigurera proxyservrar för Azure SDK för Python

Om din organisation kräver att en proxyserver används för att komma åt Internetresurser måste du ange en miljövariabel med proxyserverinformationen för att använda Azure SDK för Python. Om du anger miljövariablerna (HTTP_PROXY och HTTPS_PROXY) används proxyservern vid körning av Azure SDK för Python.

En proxyserver-URL har formuläret http[s]://[username:password@]<ip_address_or_domain>:<port>/ där kombinationen av användarnamn och lösenord är valfri.

Du kan sedan konfigurera en proxy globalt med hjälp av miljövariabler, eller så kan du ange en proxy genom att skicka ett argument med namnet proxies till en enskild klientkonstruktor eller åtgärdsmetod.

Global konfiguration

Om du vill konfigurera en proxy globalt för skriptet eller appen definierar HTTP_PROXY du eller HTTPS_PROXY miljövariabler med serverns URL. Dessa variabler fungerar med valfri version av Azure-biblioteken. Observera att HTTPS_PROXY det inte betyder HTTPS proxy, utan proxy för https:// begäranden.

Dessa miljövariabler ignoreras om du skickar parametern use_env_settings=False till en klientobjektkonstruktor eller åtgärdsmetod.

Ange från kommandoraden

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

Ange i Python-kod

Du kan ange proxyinställningar med hjälp av miljövariabler, utan att det behövs någon anpassad konfiguration.

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"

Anpassad konfiguration

Ange i Python-kod per klient eller per metod

För anpassad konfiguration kan du ange en proxy för ett specifikt klientobjekt eller en åtgärdsmetod. Ange en proxyserver med ett argument med namnet proxies.

Följande kod från artikeln Exempel: Använd Azure Storage anger till exempel en HTTPS-proxy med användarautentiseringsuppgifter med BlobClient konstruktorn. I det här fallet kommer objektet från azure.storage.blob-biblioteket, som baseras på 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" }