Compartir vía


Configuración de servidores proxy para El SDK de Azure para Python

A menudo se necesita un proxy si:

  • Está detrás de un firewall corporativo
  • El tráfico de red debe pasar por un dispositivo de seguridad
  • Quieres usar un proxy personalizado para depurar o enrutar

Si su organización requiere el uso de un servidor proxy para acceder a los recursos de Internet, debe establecer una variable de entorno con la información del servidor proxy para usar el SDK de Azure para Python. Establecer las variables de entorno (HTTP_PROXY y HTTPS_PROXY) hace que Azure SDK para Python use el servidor proxy en tiempo de ejecución.

Una dirección URL del servidor proxy tiene el formato http[s]://[username:password@]<ip_address_or_domain>:<port>/ en el que la combinación de nombre de usuario y contraseña es opcional.

Puede obtener la información de proxy del equipo de TI o red, desde el explorador o desde las utilidades de red.

A continuación, puede configurar un proxy globalmente mediante variables de entorno o puede especificar un proxy pasando un argumento denominado proxies a un constructor de cliente individual o método de operación.

Configuración global

Para configurar un proxy globalmente para su script o aplicación, defina las variables de entorno HTTP_PROXY o HTTPS_PROXY con la dirección URL del servidor. Estas variables funcionan con cualquier versión de las bibliotecas de Azure. Tenga en cuenta que HTTPS_PROXY no significa HTTPS proxy, sino el proxy para las solicitudes de https://.

Estas variables de entorno se omiten si se pasa el parámetro use_env_settings=False a un constructor de objetos de cliente o método de operación.

Establecer desde la línea de comandos

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

Configurado en código de Python

Puede establecer la configuración de proxy mediante variables de entorno, sin necesidad de configuración personalizada.

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"

Configuración personalizada

Establecer en código de Python por cada cliente o por cada método

Para la configuración personalizada, puede especificar un proxy para un objeto de cliente específico o un método de operación. Especifique un servidor proxy con un argumento denominado proxies.

Por ejemplo, el código siguiente del artículo Ejemplo: uso de Azure Storage especifica un proxy HTTPS con credenciales de usuario con el BlobClient constructor . En este caso, el objeto procede de la biblioteca azure.storage.blob, que se basa en 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" }