Airflow 松弛松弛操作员在气流合成器中工作不正常

Airflow 松弛松弛操作员在气流合成器中工作不正常,airflow,slack,google-cloud-composer,Airflow,Slack,Google Cloud Composer,当google cloud composer中的DAG运行在气流中失败时,我试图向tom slack发送通知。使用的气流版本是1.9,因此我不能使用松弛的Webhook。但是当我添加代码时,我得到了一个奇怪的错误:没有名为“slackclient”的模块 我不知道如何在google cloud composer中实现这一点。我尝试通过在composer中添加PyPi变量来安装slack包。但到目前为止,一切都不起作用。 有人能帮忙吗 我的代码: from slackclient import S

当google cloud composer中的DAG运行在气流中失败时,我试图向tom slack发送通知。使用的气流版本是1.9,因此我不能使用松弛的Webhook。但是当我添加代码时,我得到了一个奇怪的错误:没有名为“slackclient”的模块

我不知道如何在google cloud composer中实现这一点。我尝试通过在composer中添加PyPi变量来安装slack包。但到目前为止,一切都不起作用。 有人能帮忙吗

我的代码:

from slackclient import SlackClient
from airflow.operators.slack_operator import SlackAPIPostOperator

slack_channel= 'gsdgsdg'
slack_token = 'ssdfhfdrtxcuweiwvbnw54135f543589zdklchvfö'

def task_fail_slack_alert(context):

    slack_msg = \
    """
        :red_circle: Task Failed. 
        *Task*: {task}  
        *Dag*: {dag} 
        *Execution Time*: {exec_date}  
        *Log Url*: {log_url} 
        """.format(task=context.get('task_instance'
        ).task_id, dag=context.get('task_instance').dag_id,
        ti=context.get('task_instance'),
        exec_date=context.get('execution_date'),
        log_url=context.get('task_instance').log_url)

    failed_alert = SlackAPIPostOperator(
            task_id = 'airflow_etl_failed',
            channel = slack_channel,
            token = slack_token,
            text = slack_msg
    )


    return failed_alert.execute(context=context)

SlackAPIPostOperator
需要安装
slackclient
库,这通常使用

$pip安装apache airflow[slack]

但当你运行Google Cloud Composer时,这显然是行不通的。相反,您可以使用环境的PyPI包安装程序安装
slackclient

导航到

谷歌云控制台->谷歌云作曲家->您的气流环境


然后选择“PYPI包”选项卡。然后可以指定要安装的
slackclient
模块,并可能将其固定在一个版本(
=1.3.2
?)

SlackAPIPostOperator
需要安装
slackclient
库,这通常使用

$pip安装apache airflow[slack]

但当你运行Google Cloud Composer时,这显然是行不通的。相反,您可以使用环境的PyPI包安装程序安装
slackclient

导航到

谷歌云控制台->谷歌云作曲家->您的气流环境

然后选择“PYPI包”选项卡。然后,您可以指定要安装的
slackclient
模块,并可能将其固定在一个版本(
=1.3.2
?)