本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Amazon S3 来源创建 EventBridge 规则(控制台)
在中设置规则之前 EventBridge,必须创建 Amazon CloudTrail 跟踪。有关更多信息,请参阅在控制台中创建跟踪。
重要
如果您使用控制台创建或编辑管道,则会为您创建 EventBridge 规则和 Amazon CloudTrail 跟踪。
创建跟踪
-
打开控制 Amazon CloudTrail 台。
-
在导航窗格中,选择 Trails(跟踪记录)。
-
选择创建跟踪。对于跟踪名称,输入跟踪的名称。
-
在存储位置下,创建或指定要用于存储日志文件的存储桶。默认情况下,Amazon S3 存储桶和对象都是私有的。只有资源所有者(创建存储桶的 Amazon 账户)才能访问存储桶及其对象。存储桶必须具有允许访问存储桶中对象的 Amazon CloudTrail 权限的资源策略。
-
在跟踪日志桶和文件夹下,指定 Amazon S3 桶和对象前缀(文件夹名称)以记录文件夹中所有对象的数据事件。对于每个跟踪,您可以添加最多 250 个 Amazon S3 对象。填写所需的加密密钥信息,然后选择下一步。
-
对于事件类型,选择管理事件。
-
对于管理事件,选择编辑。该跟踪记录了指定存储桶和前缀上的 Amazon S3 对象级API活动(例如
GetObject
和PutObject
)。 -
选择写入。
-
如果您对跟踪满意,请选择创建跟踪。
使用 Amazon S3 源创建针对您的管道的 EventBridge 规则
打开亚马逊 EventBridge 控制台,网址为https://console.aws.amazon.com/events/
。 -
在导航窗格中,选择规则。保留选中的默认总线或选择一个事件总线。选择创建规则。
-
在名称中,输入规则的名称。
-
对于规则类型,选择具有事件模式的规则。选择下一步。
-
在 “事件来源” 下,选择Amazon 事件或 EventBridge 合作伙伴事件。
-
在示例事件类型下,选择 Amazon 事件。
-
在示例事件中,键入 S3 作为要筛选的关键字。选择通过以下方式Amazon API拨打电话 CloudTrail。
-
在创建方法下,选择客户模式(JSON编辑器)。
粘贴下面提供的事件模式。确保添加桶名称和 S3 对象键(或键名称),它们作为
requestParameters
唯一标识桶中的对象。在本例中,针对名为amzn-s3-demo-source-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": [ "amzn-s3-demo-source-bucket" ], "key": [ "my-files.zip" ] } } }
-
选择下一步。
-
在目标类型中,选择 Amazon 服务。
-
在选择目标中,选择CodePipeline。在 Pi p el ARN ine 中ARN,输入要按此规则启动的管道。
注意
要获取管道ARN,请运行get-pipeline命令。管道ARN出现在输出中。它是使用以下格式构造的:
arn: aws: 代码管道:
region
:account
:pipeline-name
示例管道ARN:
arn: aws: codepipeline: us-east-2:80398: EXAMPLE MyFirstPipeline
-
要创建或指定IAM服务角色以授予调用与您的 EventBridge 规则关联的目标的 EventBridge 权限(在本例中,目标是 CodePipeline),请执行以下操作:
-
选择 “为此特定资源创建新角色”,创建一个服务角色来 EventBridge授予您启动管道执行的权限。
-
选择 “使用现有角色” 输入一个服务角色,该角色 EventBridge 授予您启动管道执行的权限。
-
-
选择下一步。
-
在标签页面上,选择下一步。
-
在查看和创建页面上,检查规则配置。如果您对规则满意,请选择 Create rule。