Comment configurer des proxys pour le Kit de développement logiciel (SDK) Azure pour Python

Vous avez souvent besoin d’un proxy si :

  • Vous êtes derrière un pare-feu d’entreprise.
  • Votre trafic réseau doit passer par une appliance de sécurité.
  • Vous souhaitez utiliser un proxy personnalisé pour le débogage ou le routage.

Si votre organisation exige qu’un serveur proxy accède aux ressources Internet, définissez une variable d’environnement avec les informations du serveur proxy avant d’utiliser le Kit de développement logiciel (SDK) Azure pour Python. Lorsque vous définissez les variables d’environnement HTTP_PROXY et HTTPS_PROXY, la Kit de développement logiciel (SDK) Azure pour Python utilise le serveur proxy au moment de l’exécution.

Une URL de serveur proxy a le formulaire http[s]://[username:password@]<ip_address_or_domain>:<port>/, où la combinaison nom d’utilisateur et mot de passe est facultative.

Vous pouvez obtenir vos informations de proxy auprès de votre équipe informatique ou réseau, à partir de votre navigateur ou à partir d’utilitaires réseau.

Vous pouvez configurer un proxy globalement à l’aide de variables d’environnement. Vous pouvez également configurer un proxy pour un constructeur client individuel ou une méthode d’opération en passant un argument nommé proxies.

Configuration globale

Pour configurer un proxy globalement pour votre script ou application, définissez les variables d’environnement HTTP_PROXY ou HTTPS_PROXY avec l’URL du serveur. Ces variables fonctionnent avec n’importe quelle version des bibliothèques Azure. Notez que HTTPS_PROXY cela ne signifie pas un proxy HTTPS. Spécifie le proxy à utiliser pour les requêtes https://.

Si vous passez le paramètre use_env_settings=False à un constructeur d’objet client ou à une méthode d’opération, le SDK ignore ces variables d’environnement.

Définir à partir de la ligne de commande

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

Définir dans le code Python

Définissez les paramètres de proxy à l’aide de variables d’environnement. Vous n’avez pas besoin d’une configuration personnalisée.

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"

Configuration personnalisée

Définir un proxy dans Python code pour un client ou une méthode

Pour la configuration personnalisée, spécifiez un proxy pour un objet client ou une méthode d’opération spécifique. Utilisez un argument nommé proxies.

Par exemple, le code suivant de l’article Example : utilisez Azure stockage spécifie un proxy HTTPS avec des informations d’identification utilisateur dans le constructeur BlobClient. Dans ce cas, l’objet provient de la azure.storage.blob bibliothèque, qui est basée sur 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" }