本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用事件开始 CodePipeline执行
此示例演示如何配置 Amazon EventBridge 规则,以便在发布、修改或删除 CodeArtifact 存储库中的软件包版本时开始 AWS CodePipeline 执行。
配置 EventBridge权限
您必须为 EventBridge 添加权限 CodePipeline 才能调用您创建的规则。要使用 AWS Command Line Interface (AWS CLI) 添加这些权限,请按照AWS CodePipeline 用户指南中为 CodeCommit 源创建 CloudWatch 事件规则 (CLI) 中的步骤 1 进行操作。
创建 EventBridge规则
要创建规则,请使用带有 --name
和 --event-pattern
参数的 put-rule
命令。事件模式指定与每个事件的内容相匹配的值。如果模式与事件匹配,则会触发目标。例如,以下模式匹配来自my_domain
域中myrepo
存储库 CodeArtifact 的事件。
aws events put-rule --name
MyCodeArtifactRepoRule
--event-pattern \ '{"source":["aws.codeartifact"],"detail-type":["CodeArtifact Package Version State Change"], "detail":{"domainName":["my_domain
"],"domainOwner":["111122223333
"],"repositoryName":["myrepo
"]}}'
创建 EventBridge规则目标
以下命令将目标添加到规则中,这样当事件与规则匹配时,就会触发 CodePipeline 执行。对于 RoleArn
参数,请指定之前在本主题中创建的角色的 Amazon 资源名称 (ARN)。
aws events put-targets --rule
MyCodeArtifactRepoRule
--targets \ 'Id=1,Arn=arn:aws:codepipeline:us-west-2
:111122223333
:pipeline-name
, RoleArn=arn:aws:iam::123456789012
:role/MyRole
'