我设置了AWS Glue作业来上传测试数据到我们的数据库。上传只需要进行一次,并且不需要额外的运行,除非需要对测试数据进行添加或更改。但是,我们有多个需要进行上传的环境。一种方法是使用CDK部署作业,并在每个环境中手动运行作业。寻找在更新或创建作业时自动触发运行的指针。
使用CustomResource通过命令行或Glue SDK调用它。
重要的是要记住CDK不是一个部署解决方案——它是一个作为代码的基础设施解决方案。CDK实际上不做任何部署——cdk deploy
命令只是将模板发送到CloudFormation的快捷方式。
CDK只是一种将代码置于CloudFormation模板创建之上的方法,并为开发人员提供了更多的选择。所有它真正做的是生成一个CloudFormation模板-其他一切都是装饰。
因此,在 CloudFormation模板合成和部署之后必须发生的任何事情都不可能与CDK交互。你需要创建一个自定义资源来监视堆栈更新,当堆栈完成部署时,触发你想要的任何东西。或者,这是CodePipeline的完美使用-在管道中运行cdk(可以使用Synth和CodeDeploy阶段,也可以使用仅运行cdk deploy的单个codeBuild阶段),然后在它具有触发您的作业的lambda之后的阶段。