Compartir a través de


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

Si su organización requiere el uso de un servidor proxy para acceder a los recursos de Internet, deberá 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.

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

Configuración global

Para configurar un proxy globalmente para el script o la aplicación, defina 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, pero el proxy para https:// las solicitudes.

Estas variables de entorno se omiten si se pasa el parámetro use_env_settings=False a un constructor de objetos de cliente o a un 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

Establecer 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 cliente o por 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 las bibliotecas de Azure con Azure Storage especifica un proxy HTTPS con credenciales de usuario con el constructor BlobClient. 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" }