Freigeben über


Konfigurieren von Proxys für das Azure SDK für Python

Ein Proxy wird häufig benötigt, wenn:

  • Sie befinden sich hinter einer Unternehmensfirewall
  • Ihr Netzwerkdatenverkehr muss eine Sicherheitsanwendung durchlaufen
  • Sie möchten einen benutzerdefinierten Proxy zum Debuggen oder Routing verwenden.

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.

Sie können Ihre Proxyinformationen aus Ihrem IT-/Netzwerkteam, aus Ihrem Browser oder aus Netzwerkdienstprogrammen abrufen.

Anschließend können Sie einen Proxy global mithilfe von Umgebungsvariablen konfigurieren oder einen Proxy angeben, indem Sie ein Argument proxies an einen einzelnen Clientkonstruktor oder eine Operationsmethode übergeben.

Globale Konfiguration

Um einen Proxy global für Ihr Skript oder Ihre App zu konfigurieren, definieren 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 nicht HTTPS Proxy bedeutet, sondern der Proxy für https:// Anforderungen ist.

Diese Umgebungsvariablen werden ignoriert, wenn Sie den Parameter use_env_settings=False an einen Clientobjektkonstruktor oder eine Operationsmethode ü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 proxiesan.

Der folgende Code aus dem Artikel Beispiel: Verwenden sie Azure Storage , gibt 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" }