教程:当文件上传至 Amazon S3 存储桶时运行 Amazon ECS 任务 - Amazon CloudWatch Events
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

教程:当文件上传至 Amazon S3 存储桶时运行 Amazon ECS 任务

注意

Amazon EventBridge 是管理事件的首选方式。CloudWatch Events 和 EventBridge 是相同的底层服务和 API,但 EventBridge 提供了更多功能。您在 CloudWatch 或 EventBridge 中所作的更改将显示在每个控制台中。有关更多信息,请参阅 。Amazon EventBridge

您可以使用 CloudWatch 事件来运行亚马逊云服务器任务,如果某些Amazon事件发生。在本教程中,您将设置 CloudWatch Events 规则,使得每当使用 Amazon S3 PUT 操作将文件上传至 Amazon S3 存储桶时运行一个 Amazon ECS 任务。

本教程假定您已在 Amazon ECS 中创建任务定义。

每当使用 PUT 操作将文件上传至某个 S3 存储桶时运行一个 Amazon ECS 任务

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择 EventsCreate rule

  3. 对于 Event source (事件源),执行以下操作:

    1. 选择 Event Pattern (事件模式)

    2. 选择 Build event pattern to match events by service

    3. 对于服务名称,选择 Simple Storage Service (S3)

    4. 对于事件类型,选择 Object Level Operations

    5. 依次选择特定操作Put Object (放置对象)

    6. 选择 Specific bucket(s) by name,然后键入存储桶名称。

  4. 对于目标,请执行以下操作:

    1. 依次选择添加目标ECS 任务

    2. 对于集群任务定义,选择您创建的资源。

    3. 适用于启动类型中,选择FARGATE或者EC2FARGATE仅显示在Amazon Fargate支持。

    4. (可选)为 Task Group (任务组) 指定一个值。如果 Launch Type (启动类型)FARGATE,可指定一个平台版本(可选)。仅指定平台版本的数字部分,如 1.1.0。

    5. (可选)指定任务定义修订版和任务计数。如果未指定任务定义修订版,则使用最新版本。

    6. 如果任务定义使用 awsvpc 网络模式,则必须指定子网和安全组。所有子网和安全组必须位于同一 VPC。

      如果指定了多个安全组和子网,则用逗号分隔它们(而非空格)。

      对于子网,为每个子网指定完整的 subnet-id 值,如下例所示:

      subnet-123abcd,subnet-789abcd

    7. 选择是否允许自动分配公有 IP 地址。

    8. CloudWatch 事件可以创建要运行的任务所需的 IAM 角色:

      • 若要自动创建 IAM 角色,请选择为此特定资源创建新角色

      • 要使用您之前创建的 IAM 角色,请选择使用现有角色。这必须是已具有足够权限调用构建的角色。CloudWatch 事件不会为您选择的角色授予额外的权限。

  5. 选择 Configure details

  6. 对于 Rule definition,键入规则的名称和描述。

  7. 选择 Create rule