Apache Airflow 変数 AWS Secrets Manager の でのシークレットキーの使用 - Amazon Managed Workflows for Apache Airflow

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Apache Airflow 変数 AWS Secrets Manager の でのシークレットキーの使用

次のサンプル は AWS Secrets Manager 、Amazon Managed Workflows for Apache Airflow で Apache Airflow 変数のシークレットキーを取得するために を呼び出します。AWS Secrets Manager シークレットを使用した Apache Airflow 接続の設定 でのステップを完了していることが前提となります。

バージョン

  • このページのサンプルコードは、Python 3.7Apache Airflow v1 で使用できます。

  • このページのコード例は、Python 3.10Apache Airflow v2 と共に使用可能です。

前提条件

このページのサンプルコードを使用するには、以下が必要です。

アクセス許可

要件

コードサンプル

以下の手順では、Secrets 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 の追加と更新 を参照してください。