Bagikan melalui


Cara mengonfigurasi proksi untuk Azure SDK untuk Python

Proksi sering diperlukan jika:

  • Anda terlindungi oleh firewall perusahaan
  • Lalu lintas jaringan Anda perlu melalui perangkat keamanan
  • Anda ingin menggunakan proksi kustom untuk debugging atau perutean

Jika organisasi Anda memerlukan penggunaan server proksi untuk mengakses sumber daya internet, Anda perlu 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 dapat memperoleh informasi proksi dari tim TI/jaringan, dari browser, atau dari utilitas jaringan.

Anda kemudian dapat mengonfigurasi proksi secara global dengan menggunakan variabel lingkungan, atau Anda dapat menentukan proksi dengan meneruskan argumen bernama proxies ke konstruktor klien individual atau metode operasi.

Konfigurasi global

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

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 konstruktor BlobClient menggunakan kredensial pengguna. 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" }