Cara mengonfigurasi proksi untuk Azure SDK untuk Python

Jika organisasi Anda memerlukan penggunaan server proksi untuk mengakses sumber daya internet, Anda harus mengatur variabel lingkungan dengan informasi server proksi untuk menggunakan Azure SDK untuk Python. Mengatur variabel lingkungan (HTTP_PROXY dan HTTPS_PROXY) menyebabkan Azure SDK untuk Python menggunakan server proksi pada waktu proses.

URL server proksi memiliki formulir http[s]://[username:password@]<ip_address_or_domain>:<port>/ di mana kombinasi nama pengguna dan kata sandi bersifat opsional.

Anda kemudian dapat mengonfigurasi proksi secara global dengan menggunakan variabel lingkungan, atau Anda dapat menentukan proksi dengan meneruskan argumen yang dinamai proxies konstruktor klien individu atau metode operasi.

Konfigurasi global

Untuk mengonfigurasi proksi secara global untuk skrip atau aplikasi Anda, tentukan HTTP_PROXY atau HTTPS_PROXY variabel lingkungan dengan URL server. Variabel ini berfungsi dengan versi pustaka Azure apa pun. Perhatikan bahwa HTTPS_PROXY bukan berarti HTTPS proksi, tetapi proksi untuk https:// permintaan.

Variabel lingkungan ini diabaikan jika Anda meneruskan parameter use_env_settings=False ke konstruktor objek klien atau metode operasi.

Mengatur dari baris perintah

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

Atur dalam kode Python

Anda dapat mengatur pengaturan proksi menggunakan variabel lingkungan, tanpa konfigurasi kustom yang diperlukan.

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"

Konfigurasi kustom

Diatur dalam kode Python per klien atau per metode

Untuk konfigurasi kustom, Anda dapat menentukan proksi untuk objek klien atau metode operasi tertentu. Tentukan server proksi dengan argumen bernama proxies.

Misalnya, kode berikut dari artikel Contoh: gunakan penyimpanan Azure menentukan proksi HTTPS dengan kredensial pengguna dengan konstruktor BlobClient. Dalam hal ini, objek berasal dari pustaka azure.storage.blob, yang didasarkan pada 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" }