gpt4 book ai didi

aws-lambda - 每当我更新 CFN 堆栈时运行自定义资源

转载 作者:行者123 更新时间:2023-12-02 04:27:18 27 4
gpt4 key购买 nike

我有一个自定义资源,用于从 API 网关获取 API key 并将其作为 header 发送到 Cloudfront。当我创建堆栈时,我的 custom:resource 正在触发,因为它是第一次创建逻辑 ID。但是当我更新堆栈(即更改 API key 名称)时,AWS::ApiGateway::ApiKey 类型的 API key 资源将在创建新的 API key 时创建一个新的逻辑 ID,此时,我的 custom:resource 未调用,因为它具有相同的逻辑 ID,因此我的云前端拥有旧的 API key 而不是新的 API key 。

有没有办法在每次堆栈发生更新时调用我的custom:resource?作为解决方法,我正在更改 custom:resourceLogical Id 以便在更新堆栈中的资源时触发它。但这并不困难,因为 LogicalId 是作为对许多资源的引用而共享的。

顺便说一句,我的自定义资源附加到 lambda 函数。我什至尝试更改 Version 字段,并尝试向属性字段添加值(即堆栈名称、参数等),但它仍然没有调用。

{
"AWSTemplateFormatVersion" : "2010-09-09",
"Resources" : {
"MyFrontEndTest" : {
"Type": "Custom::PingTester",
"Version" : "1.0", -->Even changed the version to 2.0
"Properties" : {
"ServiceToken": "arn:aws:lambda:us-east-1:*****",
"InputparameterName" : "MYvalue" -->Added this field
}
}
}

谢谢感谢任何帮助

最佳答案

在堆栈更新时让自定义资源执行 lambda 的一个技巧是配置自定义资源以将所有堆栈参数传递给 lambda 函数。如果堆栈更新时任何参数发生变化,自定义资源将发生变化并触发 lambda。只需忽略 lambda 事件数据中不需要的键即可。当仅更新模板时,这对场景没有任何作用。

关于aws-lambda - 每当我更新 CFN 堆栈时运行自定义资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53300649/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com