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

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

发生特定 AWS 事件时,您可以使用 EventBridge 运行 Amazon ECS 任务。本教程中,您将设置一个 EventBridge 规则,使得每当使用 Amazon S3 PUT 操作将文件上传至某个 Amazon S3 存储桶时运行一个 Amazon ECS 任务。

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

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

  1. 通过以下网址打开 Amazon EventBridge 控制台:https://console.amazonaws.cn/events/

  2. 在导航窗格中,选择 Rules (规则)

  3. 选择 Create rule

  4. 为规则输入名称和描述。

  5. 对于 Define pattern (定义模式),请执行以下操作:

    1. 选择 Event pattern

    2. 选择 Pre-defined pattern by service (服务预定义的模式)

    3. 对于 Service provider (服务提供商),选择 AWS

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

    5. 对于 Event type (事件类型),选择 Object Level Operations (对象级别操作)

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

    7. 选择 Specific bucket(s) by name (按名称的特定存储桶),然后输入存储桶名称。

  6. 对于 Select event bus (选择事件总线),选择 AWS default event bus (AWS 默认事件总线)。当您账户中的某个 AWS 服务发出一个事件时,它始终会发送到您账户的默认事件总线。

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

    1. 选择 ECS task (ECS 任务)

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

    3. 对于 Launch Type (启动类型),选择 FARGATEEC2FARGATE 仅在支持 AWS Fargate 的区域中显示。

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

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

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

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

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

      subnet-123abcd,subnet-789abcd
    7. 选择是否允许自动分配公有 IP 地址。

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

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

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

  8. 选择 Create