我正在使用 AWS CDK 在 AWS CodePipeline 中创建一个 S3SourceAction,如所附屏幕截图所示。然而,这是使用AWS CodePipeline作为检测选项。如何通过 CDK 启用检测选项 Amazon CloudWatch Events?
这是我当前的 S3SourceAction 代码。
const sourceAction = new S3SourceAction({
actionName: 'S3ConfigSource',
bucket: bucketConfigFiles,
bucketKey: zippedConfigsDir,
output: sourceOutput,
role: codeDeployRole,
});
或者,如果这不可能,是否有另一种方法可以通过 CDK 自动让我的管道在 S3 存储桶文件发生更改时运行?
在您的 sourceAction 创建中只需添加
trigger: codepipeline_actions.S3Trigger.EVENTS
const sourceAction = new S3SourceAction({
actionName: 'S3ConfigSource',
bucket: bucketConfigFiles,
bucketKey: zippedConfigsDir,
output: sourceOutput,
trigger: codepipeline_actions.S3Trigger.EVENTS,
role: codeDeployRole,
});
从 CDK 文档中,这些是触发选项:
NONE
该操作永远不会检测到更改 - 它所属的管道只会在显式启动时开始运行。POLL
CodePipeline 将轮询 S3 以检测更改。EVENTS
CodePipeline 将使用 CloudWatch Events 来接收更改通知。