AWS Secrets Manager 對於 Apache 氣流變量使用秘密密鑰 - Amazon Managed Workflows for Apache Airflow

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Secrets Manager 對於 Apache 氣流變量使用秘密密鑰

下列範例呼叫, AWS Secrets Manager 以取得 Apache 氣流變數在 Amazon 管理工作流程中用於 Apache 氣流變數的秘密金鑰。它假設您已完成中的步驟使用 AWS Secrets Manager 密碼設定 Apache 氣流連線

版本

  • 此頁面上的示例代碼可以與 Apache 氣流 V1Python 3.7 中使用。

  • 您可以使用此頁面上的代碼示例與 Python 3.10 中的阿帕奇氣流 V2

必要條件

若要使用此頁面上的範例程式碼,您需要下列項目:

許可

要求

  • 若要將此程式碼範例與 Apache Airflow v1 搭配使用,不需要額外的相依性。此程式碼會在您的環境中使用 Apache 氣流 v1 基本安裝

  • 若要將此程式碼範例與 Apache Airflow v2 搭配使用,不需要額外的相依性。該代碼使用 Apache 氣流 v2 基本安裝在您的環境。

範例程式碼

下列步驟說明如何建立呼叫 Secret Manager 以取得密DAG碼的程式碼。

  1. 在命令提示符中,導航到存儲DAG代碼的目錄。例如:

    cd dags
  2. 複製下列程式碼範例的內容,並在本機儲存為secrets-manager-var.py

    from airflow import DAG from airflow.operators.python_operator import PythonOperator from airflow.models import Variable from airflow.utils.dates import days_ago from datetime import timedelta import os DAG_ID = os.path.basename(__file__).replace(".py", "") DEFAULT_ARGS = { 'owner': 'airflow', 'depends_on_past': False, 'email': ['airflow@example.com'], 'email_on_failure': False, 'email_on_retry': False, } def get_variable_fn(**kwargs): my_variable_name = Variable.get("test-variable", default_var="undefined") print("my_variable_name: ", my_variable_name) return my_variable_name with DAG( dag_id=DAG_ID, default_args=DEFAULT_ARGS, dagrun_timeout=timedelta(hours=2), start_date=days_ago(1), schedule_interval='@once', tags=['variable'] ) as dag: get_variable = PythonOperator( task_id="get_variable", python_callable=get_variable_fn, provide_context=True )

後續步驟?

  • 了解如何將此範例中的DAG程式碼上傳到的 Amazon S3 儲存貯體中的dags資料夾新增或更新 DAG