为 Amazon S3 来源创建 EventBridge 规则(控制台) - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为 Amazon S3 来源创建 EventBridge 规则(控制台)

在中设置规则之前 EventBridge,必须创建 Amazon CloudTrail 跟踪。有关更多信息,请参阅在控制台中创建跟踪

重要

如果您使用控制台创建或编辑管道,则会为您创建 EventBridge 规则和 Amazon CloudTrail 跟踪。

创建跟踪
  1. 打开控制 Amazon CloudTrail 台。

  2. 在导航窗格中,选择 Trails(跟踪记录)。

  3. 选择创建跟踪。对于跟踪名称,输入跟踪的名称。

  4. 存储位置下,创建或指定要用于存储日志文件的存储桶。默认情况下,Amazon S3 存储桶和对象都是私有的。只有资源所有者(创建存储桶的 Amazon 账户)才能访问存储桶及其对象。存储桶必须具有允许访问存储桶中对象的 Amazon CloudTrail 权限的资源策略。

  5. 跟踪日志桶和文件夹下,指定 Amazon S3 桶和对象前缀(文件夹名称)以记录文件夹中所有对象的数据事件。对于每个跟踪,您可以添加最多 250 个 Amazon S3 对象。填写所需的加密密钥信息,然后选择下一步

  6. 对于事件类型,选择管理事件

  7. 对于管理事件,选择编辑。跟踪将记录指定桶和前缀上的 Amazon S3 对象级 API 活动(例如,GetObjectPutObject)。

  8. 选择写入

  9. 如果您对跟踪满意,请选择创建跟踪

使用 Amazon S3 源创建针对您的管道的 EventBridge 规则
  1. 打开亚马逊 EventBridge 控制台,网址为 https://console.aws.amazon.com/events/

  2. 在导航窗格中,选择规则。保留选中的默认总线或选择一个事件总线。选择创建规则

  3. 名称中,输入规则的名称。

  4. 对于规则类型,选择具有事件模式的规则。选择下一步

  5. 在 “事件来源” 下,选择Amazon 事件或 EventBridge 合作伙伴事件

  6. 示例事件类型下,选择 Amazon 事件

  7. 示例事件中,键入 S3 作为要筛选的关键字。选择 Amazon API 调用方式 CloudTrail

  8. 创建方法下,选择自定义模式(JSON 编辑器)

    粘贴下面提供的事件模式。确保添加桶名称和 S3 对象键(或键名称),它们作为 requestParameters 唯一标识桶中的对象。在本例中,针对名为 my-bucket 的桶和对象键 my-files.zip 创建了一条规则。在使用编辑窗口指定资源时,您的规则将更新为使用自定义事件模式。

    下面是一个可供复制并粘贴的示例事件模式:

    { "source": [ "aws.s3" ], "detail-type": [ "AWS API Call via CloudTrail" ], "detail": { "eventSource": [ "s3.amazonaws.com" ], "eventName": [ "CopyObject", "CompleteMultipartUpload", "PutObject" ], "requestParameters": { "bucketName": [ "my-bucket" ], "key": [ "my-files.zip" ] } } }
  9. 选择下一步

  10. 目标类型中,选择 Amazon 服务

  11. 选择目标中,选择CodePipeline。在管道 ARN 中,输入该规则启动的管道的管道 ARN。

    注意

    要获取管道 ARN,请运行 get-pipeline 命令。管道 ARN 将显示在输出中。它是使用以下格式构造的:

    arn:aws:codepipeline:region:account:pipeline-name

    示例管道 ARN:

    arn: aws: codepipeline: us-east-2:80398 示例:MyFirstPipeline

  12. 要创建或指定一个 IAM 服务角色来授予调用与您的 EventBridge 规则关联的目标的 EventBridge 权限(在本例中,目标是 CodePipeline),请执行以下操作:

    • 选择 “为此特定资源创建新角色” 以创建服务角色,该角色 EventBridge授予您启动管道执行的权限。

    • 选择 “使用现有角色” 输入一个服务角色,该角色 EventBridge 授予您启动管道执行的权限。

  13. 选择下一步

  14. 标签页面上,选择下一步

  15. 查看和创建页面上,检查规则配置。如果您对规则满意,请选择 Create rule