bash
  • templating
  • airflow
  • apache-airflow
  • airbnb
  • 2017-10-02 13 views 1 likes 
    1

    私は変数の内容をbashスクリプトでXcomに送信しようとしていました。しかし、私はそれに失敗しています。気流XComがテンプレート内に変数を送信する

    test_bash = """ 
    export test_val='123' 
    {{ ti.xcom_push(key='1',value=test_val) }} 
    echo $test_val 
    """ 
    
    bash_tash = BashOperator(
        task_id='test', 
        bash_command=test_bash, 
        retries=3, 
        dag=dag) 
    

    上記のコードでは、私はそれを引っ張ってみる。私はXcomに何かを送ることができません。私は一重引用符でテキストを送信しようとしており、正常に動作します。

    bashスクリプトからxcomに変数を送信する方法はありますか?

    おかげ

    答えて

    1

    あなたの価値をプッシュするBashOperatorを使用して、異なるそれを行うことができます。

    test_bash = """ 
    export test_val='123' 
    echo $test_val 
    """ 
    
    bash_task = BashOperator(
        task_id='test', 
        bash_command=test_bash, 
        xcom_push=True 
        retries=3, 
        dag=dag) 
    

    task instance > XCom

    をそして、あなたは別のタスクに値を引きます。

    関連する問題