Dela via


Konfigurera proxyservrar för Azure SDK för Python

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

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 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 inte betyder HTTPS-proxy, utan att det är 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" }