Python için Azure SDK'sı için proxy'leri yapılandırma

Kuruluşunuz İnternet kaynaklarına erişmek için ara sunucu kullanılmasını gerektiriyorsa, Python için Azure SDK'sını kullanmak için ara sunucu bilgilerini içeren bir ortam değişkeni ayarlamanız gerekir. Ortam değişkenlerini (HTTP_PROXY ve HTTPS_PROXY) ayarlamak, Python için Azure SDK'nın çalışma zamanında ara sunucuyu kullanmasına neden olur.

Ara sunucu URL'si, kullanıcı adı ve parola bileşiminin isteğe bağlı olduğu biçimdedir http[s]://[username:password@]<ip_address_or_domain>:<port>/ .

Ardından ortam değişkenlerini kullanarak bir ara sunucuyu genel olarak yapılandırabilir veya adlı proxies bir bağımsız değişkeni tek bir istemci oluşturucuya veya işlem yöntemine geçirerek bir ara sunucu belirtebilirsiniz.

Genel yapılandırma

Bir proxy'yi betiğiniz veya uygulamanız için genel olarak yapılandırmak için sunucu URL'si ile değişkenleri tanımlayın veya HTTPS_PROXY ortam değişkenleri belirleyinHTTP_PROXY. Bu değişkenler, Azure kitaplıklarının herhangi bir sürümüyle çalışır. Bunun HTTPS_PROXY ara sunucu değil, istekler için https:// ara sunucu anlamına geldiğini HTTPS unutmayın.

Parametreyi use_env_settings=False bir istemci nesnesi oluşturucusunun veya işlem yönteminin geçirmesi durumunda bu ortam değişkenleri yoksayılır.

Komut satırından ayarlama

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

Python kodunda ayarlama

Ortam değişkenlerini kullanarak ara sunucu ayarlarını özel yapılandırmaya gerek olmadan ayarlayabilirsiniz.

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"

Özel yapılandırma

İstemci veya yöntem başına Python kodunda ayarlama

Özel yapılandırma için, belirli bir istemci nesnesi veya işlem yöntemi için bir ara sunucu belirtebilirsiniz. adlı proxiesbağımsız değişkene sahip bir ara sunucu belirtin.

Örneğin, Örnek: Azure depolamayı kullanma makalesindeki aşağıdaki kod, oluşturucu ile kullanıcı kimlik bilgilerine sahip bir HTTPS proxy'si BlobClient belirtir. Bu durumda nesnesi, azure.core tabanlı azure.storage.blob kitaplığından gelir.

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" }