Konfigurera proxyservrar för Azure SDKs för Python

Du behöver ofta en proxy om:

  • Du är bakom en företagsbrandvägg.
  • Nätverkstrafiken måste gå via en säkerhetsinstallation.
  • Du vill använda en anpassad proxy för felsökning eller routning.

Om din organisation kräver att en proxyserver får åtkomst till Internetresurser anger du en miljövariabel med proxyserverinformationen innan du använder Azure SDKs för Python. När du anger miljövariablerna HTTP_PROXY och HTTPS_PROXY använder Azure SDKs för Python proxyservern vid körning.

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 hämta din proxyinformation från IT- eller nätverksteamet, från webbläsaren eller från nätverksverktyg.

Du kan konfigurera en proxy globalt med hjälp av miljövariabler. Du kan också konfigurera en proxy för en enskild klientkonstruktor eller åtgärdsmetod genom att skicka ett argument med namnet proxies.

Global konfiguration

Om du vill konfigurera en proxy globalt för ditt skript eller app, definiera miljövariablerna HTTP_PROXY eller HTTPS_PROXY med serverns URL. Dessa variabler fungerar med valfri version av Azure-biblioteken. Observera att HTTPS_PROXY det inte betyder en HTTPS-proxy. Den anger vilken proxy som ska användas för https:// begäranden.

Om du skickar parametern use_env_settings=False till en klientobjektkonstruktor eller åtgärdsmetod ignorerar SDK:t dessa miljövariabler.

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

Ange proxyinställningar med hjälp av miljövariabler. Du behöver ingen 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 en proxy i Python kod för en klient eller metod

För anpassad konfiguration anger du en proxy för ett specifikt klientobjekt eller en åtgärdsmetod. Använd ett argument med namnet proxies.

Följande kod från artikeln Example: use Azure storage anger till exempel en HTTPS-proxy med användarautentiseringsuppgifter i konstruktorn BlobClient. 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" }