Proxy Requests lokal tugas di Google Cloud Composer
Buat Session Requests lokal untuk tugas dengan rute eksplisit alih-alih mengubah lingkungan proxy proses worker yang dipakai bersama.
Untuk tugas Cloud Composer yang membutuhkan satu permintaan HTTP keluar melalui proxy, konfigurasikan klien HTTP di dalam callable tugas:
def fetch_status():
import requests
with requests.Session() as session:
session.trust_env = False
with session.get(
'https://api.example/health',
proxies={'https': 'http://proxy.example:8080'},
timeout=(5, 30),
) as response:
response.raise_for_status()
return response.status_code
Gunakan callable ini melalui susunan tugas DAG yang sudah ada. Proxy harus dapat dijangkau dari worker yang menjalankannya. Untuk panggilan API publik yang diizinkan tanpa autentikasi proxy, daftar proxy HTTP menyediakan kandidat untuk URL proxy HTTP sesi. Simpan URL terautentikasi atau konfigurasi akun lain di sumber rahasia yang dimaksudkan untuk penerapan.
Session dan respons ditutup saat fungsi berakhir. trust_env=False menonaktifkan integrasi lingkungan Requests, sehingga pengaturan proxy warisan tidak dapat menggantikan perilaku klien ini, dan juga mematikan pemilihan CA bundle berbasis lingkungan oleh Requests. Berikan CA bundle yang dimaksud melalui opsi verify klien ini bila perlu.
Variabel lingkungan yang dikonfigurasi untuk lingkungan Airflow terkelola memiliki cakupan lebih luas dan batasan yang ditetapkan platform. Meneruskan rute ke Session ini menjaga keputusan tetap melekat pada operasi HTTP tugas ini tanpa mengubah os.environ untuk kode lain di proses worker.