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