Proxyk konfigurálása a Pythonhoz készült Azure SDK-hoz

Gyakran van szükség proxyra, ha:

  • Ön vállalati tűzfal mögött van.
  • A hálózati forgalomnak biztonsági berendezésen kell áthaladnia.
  • Hibakereséshez vagy útválasztáshoz egyéni proxyt szeretne használni.

Ha a szervezetében proxykiszolgálóra van szükség az internetes erőforrások eléréséhez, az Azure SDK for Python használata előtt állítson be egy, a proxykiszolgáló adatait tartalmazó környezeti változót. A HTTP_PROXY és HTTPS_PROXY környezeti változók beállításakor a Python Azure SDK a proxykiszolgálót használja futásidőben.

A proxykiszolgáló URL-címe a következő formátumú: http[s]://[username:password@]<ip_address_or_domain>:<port>/, ahol a felhasználónév és jelszó kombinációja nem kötelező.

A proxy adatait az informatikai vagy hálózati csapattól, a böngészőből vagy a hálózati segédprogramokból találhatja meg.

A proxykat globálisan környezeti változók használatával konfigurálhatja. Proxyt is konfigurálhat egy egyéni ügyfélkonstruktorhoz vagy műveleti módszerhez egy nevesített proxiesargumentum átadásával.

Globális konfiguráció

Ha globálisan szeretne proxyt konfigurálni a szkripthez vagy alkalmazáshoz, definiáljon HTTP_PROXY vagy HTTPS_PROXY környezeti változókat a kiszolgáló URL-címével. Ezek a változók az Azure-kódtárak bármely verziójával működnek. Vegye figyelembe, hogy HTTPS_PROXY ez nem jelent HTTPS-proxyt. Megadja a kérelmekhez https:// használni kívánt proxyt.

Ha átadja a paramétert use_env_settings=False egy ügyfélobjektum-konstruktornak vagy műveleti módszernek, az SDK figyelmen kívül hagyja ezeket a környezeti változókat.

Beállítás a parancssorból

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

Beállítás Python-kódban

Állítsa be a proxybeállításokat környezeti változók használatával. Nincs szükség egyéni konfigurációra.

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"

Egyéni konfiguráció

Proxy beállítása egy ügyfél vagy metódus Python kódjában

Egyéni konfiguráció esetén adjon meg egy proxyt egy adott ügyfélobjektumhoz vagy műveleti módszerhez. Használjon egy nevű proxiesargumentumot.

Az alábbi kód például a Példa: Azure Storage használata című cikkből származik, és a BlobClient konstruktorban felhasználói hitelesítő adatokkal megadott HTTPS-proxyt ad meg. Ebben az esetben az objektum a azure.storage.blob kódtárból származik, amely a következőn azure.corealapul.

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