Amazon web services 使用CloudWatch事件:如何将JSON对象作为环境变量传递给CodeBuild

Amazon web services 使用CloudWatch事件:如何将JSON对象作为环境变量传递给CodeBuild,amazon-web-services,amazon-cloudwatch,Amazon Web Services,Amazon Cloudwatch,小结:我无法使用CloudWatch目标输入转换器指定JSON对象,以便将对象内容作为环境变量传递给CodeBuild项目 背景: 当S3 bucket接收到任何新对象时,我触发AWS代码构建作业。我已经为S3操作启用了CloudTrail,这样我就可以使用一个CloudWatch规则,将我的S3 bucket作为事件源,将CodeBuild项目作为目标 如果我使用input Transformer设置目标的“配置输入”部分,我可以使用以下格式从事件中获取单个“基元”值: 输入路径文本框: {&

小结:我无法使用CloudWatch目标输入转换器指定JSON对象,以便将对象内容作为环境变量传递给CodeBuild项目

背景: 当S3 bucket接收到任何新对象时,我触发AWS代码构建作业。我已经为S3操作启用了CloudTrail,这样我就可以使用一个CloudWatch规则,将我的S3 bucket作为事件源,将CodeBuild项目作为目标

如果我使用input Transformer设置目标的“配置输入”部分,我可以使用以下格式从事件中获取单个“基元”值:

输入路径文本框:

{"zip_file":"$.detail.requestParameters.key"}
 {"zip_file":"$.detail.resources"}
输入模板文本框:

{"environmentVariablesOverride": [ {"name":"ZIP_FILE", "value":<zip_file>}]}
我希望CodeBuild中的buildspec中的代码能够完成繁重的工作并解析JSON数据

如果我在输入路径文本框中指定:

{"zip_file":"$.detail.requestParameters.key"}
 {"zip_file":"$.detail.resources"}
然后代码构建项目永远不会被触发


是否有办法将由特定键标识的整个JSON对象作为环境变量?

检查此项……代码构建目标支持StartBuild API允许的所有参数。您需要在JSON字符串中使用environmentVariablesOverride

{"environmentVariablesOverride": [ {"name":"ZIPFILE", "value":<zip_file>}]}
{“environmentVariablesOverride”:[{“name”:“ZIPFILE”,“value”:}]}

请避免在环境名称中使用“\u”。

检查此项……代码构建目标支持StartBuild API允许的所有参数。您需要在JSON字符串中使用environmentVariablesOverride

{"environmentVariablesOverride": [ {"name":"ZIPFILE", "value":<zip_file>}]}
{“environmentVariablesOverride”:[{“name”:“ZIPFILE”,“value”:}]}
请避免在环境名称中使用“\u”。

我已经使用了该方法(请参见原始问题),并且它可以与环境变量名称中的“\u”配合使用。我已经使用了该方法(请参见原始问题),并且可以与环境变量名称中的“\u”配合使用。