Konfigurieren von Proxys für das Azure SDK für Python
Wenn Ihre Organisation die Verwendung eines Proxyservers für den Zugriff auf Internetressourcen erfordert, müssen Sie eine Umgebungsvariable mit den Proxyserverinformationen festlegen, um das Azure SDK für Python zu verwenden. Das Festlegen der Umgebungsvariablen (HTTP_PROXY und HTTPS_PROXY) bewirkt, dass das Azure SDK für Python den Proxyserver zur Laufzeit verwendet.
Eine Proxyserver-URL weist das Formular http[s]://[username:password@]<ip_address_or_domain>:<port>/
auf, in dem die Kombination aus Benutzername und Kennwort optional ist.
Anschließend können Sie einen Proxy global konfigurieren, indem Sie Umgebungsvariablen verwenden, oder Sie können einen Proxy angeben, indem Sie ein Argument mit dem Namen proxies
an einen einzelnen Clientkonstruktor oder eine Vorgangsmethode übergeben.
Globale Konfiguration
Um einen Proxy global für Ihr Skript oder Ihre App zu konfigurieren, definieren Sie HTTP_PROXY
- oder HTTPS_PROXY
-Umgebungsvariablen mit der Server-URL. Diese Variablen funktionieren mit einer beliebigen Version der Azure-Bibliotheken. Beachten Sie, dass HTTPS_PROXY
kein Proxy, sondern der Proxy für https://
Anforderungen bedeutetHTTPS
.
Diese Umgebungsvariablen werden ignoriert, wenn Sie den Parameter use_env_settings=False
an einen Clientobjektkonstruktor oder eine Vorgangsmethode übergeben.
Festlegen über die Befehlszeile
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
Festlegen im Python-Code
Sie können Proxyeinstellungen mithilfe von Umgebungsvariablen festlegen, ohne dass eine benutzerdefinierte Konfiguration erforderlich ist.
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"
Benutzerdefinierte Konfiguration
Festlegen in Python-Code pro Client oder pro Methode
Für die benutzerdefinierte Konfiguration können Sie einen Proxy für ein bestimmtes Clientobjekt oder eine bestimmte Vorgangsmethode angeben. Geben Sie einen Proxyserver mit einem Argument namens proxies
an.
Der folgende Code aus dem Artikel Beispiel: Verwenden von Azure-Speicher gibt z. B. einen HTTPS-Proxy mit Benutzeranmeldeinformationen mit dem BlobClient
-Konstruktor an. In diesem Fall stammt das Objekt aus der azure.storage.blob-Bibliothek, die auf azure.core basiert.
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" }