当我的 AWS Glue 任务更改状态时,我如何接收 Amazon SNS 通知?

1 分钟阅读
0

我想在 AWS Glue 提取、转换、加载(ETL)任务成功、失败、超时或停止时收到通知。

简短描述

创建和订阅 Amazon Simple Notification Service (Amazon SNS) 主题。然后,为您要监控的每个状态更改创建 Amazon EventBridge 事件规则。

**注意:**对于这个问题,最好使用 Amazon EventBridge 而不是 Amazon CloudWatch。

解决方法

创建并订阅 Amazon SNS 主题

1.    打开 Amazon SNS 控制台

2.    选择 Topics(主题),然后选择 Create topic(创建主题)。

3.    输入 Topic name(主题名称)。 Display name(显示名称)字段为可选项。

4.    选择 Create topic(创建主题)。

5.    从导航窗格中选择 Subscriptions(订阅)。然后,选择 Create subscription(创建订阅)。

6.    在 Details(详细信息)下方填写以下字段:

        对于 Topic ARN(主题 ARN),选择您创建的主题的 ARN。

        对于 Protocol(协议),选择 Email(电子邮件)。

        对于 Endpoint(端点),则输入要发送通知的电子邮件地址。

7.    选择 Create subscription(创建订阅)。

8.    检查您的电子邮件账户,然后等待收到订阅确认电子邮件。收到后,选择 Confirm subscription(确认订阅)链接。

创建 EventBridge 事件规则

1.    打开 EventBridge console(EventBridge 控制台)。

2.    在导航窗格中,选择 Rules(规则),然后选择 Create rule(创建规则)。

3.    为规则输入名称。将其他字段保留为其默认选项,然后选择 Next(下一步)。

4.    向下滚动到创建方法部分,然后选择自定义模式(JSON 编辑器)

5.    在 Event pattern(事件模式)中,输入与以下内容类似的代码。将 job_name 替换为您的 AWS Glue ETL 任务的名称。对于 state(状态),输入要通知的状态更改(成功、失败、超时或停止)。为要监视的每个状态更改创建单独的事件规则:

{
  "detail-type": "Glue Job State Change",
  "source": "aws.glue",
  "detail": {
    "jobName": "MyJob",
    "state": "SUCCEEDED"
  }
}

6.    选择 Next(下一步)。您将进入 Select target(s)(选择目标)页面。

7.    对于 Target types(目标类型),请选择 AWS service(AWS 服务)。然后,从下拉列表中选择 SNS topic(SNS 主题)。

8.    在 Topic(主题)下拉列表中,选择您之前创建的 SNS 主题的名称。

9.    选择 Next(下一步)。您将进入 Configure tags - optional(配置标签 - 可选)页面。选择 Next(下一步),然后选择 Create rule(创建规则)。

要测试事件规则和 SNS 主题,请运行 AWS Glue 任务。验证当任务更改为您在事件规则中指定的状态时,您是否会收到电子邮件通知。


相关信息

当 AWS Glue 任务重试失败时,如何使用 AWS Lambda 函数接收 SNS 警报?

如何在爬网程序运行完成后自动启动 AWS Glue 作业任务?

使用 CloudWatch Events 自动化 AWS Glue

AWS Glue 事件

AWS 官方
AWS 官方已更新 2 个月前