簡體   English   中英

從 DAG 獲取 Airflow REST API url

[英]Get Airflow REST API url from DAG

假設我想要一個 DAG,它將 email 發送給具有特定 URL 的人,需要聯系它 REST API(我的 airflow 不在本地主機上,然后可以從網絡訪問)。 然后我需要從 DAG 實例訪問這個 URL。 有這方面的模板嗎? 還是另一種方式?

例如我需要猜測這個 API url 中的host

   https://{host}/api/v1/dags/{dag_id}/
 send_email_task = EmailOperator(
            task_id="send_email",
            to=RECIPIENT,
            subject=SUBJECT,
            html_content=f"""<body>You can trigger my dag using: https://{host}/api/v1/dags/{dag_id}/</body>"""
        )

Airflow 任務在完全獨立於 Airflow 網絡服務器的調度程序和工作人員服務上運行,您可以在沒有網絡服務器的情況下創建 Airflow 服務器,它可以毫無問題地工作,您可以使用 Airflow CLI 管理任務/dags。 Airflow webserver host是一個DNS的名字,和Airflow沒有任何關系

為了從你的 dags 訪問這個 DNS 名稱,你可以在元數據中創建一個變量,並從你的 dags 訪問它。

這是解釋如何創建和訪問 Airflow 變量的文檔 如果您有多個具有不同 URL 的環境(Dev、QA、Prod)服務器,您可以在所有環境中創建相同的變量,每個環境具有不同的值,並且您的 dag 將能夠使用正確的 url。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM