我有一个aws函数,在此函数之上,我试图使用cloudformation模板创建一个云监视警报。
假设我有一个名为MyPackage-MyLambdaFunctionName的lambda函数,但是当我在aws控制台中看到我的lambda时,它是MyPackage-MyLambdaFunctionName-M2DEESRWNF6I。
我能够通过在维度中传递下面的内容来创建警报:
Dimensions:
- Name: FunctionName
Value: MyPackage-MyLambdaFunctionName-M2DEESRWNF6I
(指如何使用CloudFormation设置特定lambda的lambda报警)
但是问题是lambda函数在(-M2DEESRWNF6I).末尾有一个随机分量。
我有一个cloudformation模板,它可以在几个帐户中创建这些lambda函数。由于这些随机标识符在每个帐户中是不同的,所以我不能将上面的内容放在cloudformation模板中,因为它只对一个帐户工作,而对其他帐户不起作用。
那么,如何使用cloudformation模板在lamdba函数上创建这些云监视警报呢?比如"Value“是否需要正则表达式?我试过了
MyPackage-MyLambdaFunctionName.*
但不起作用。或者是否有方法将lambda函数名限制为MyPackage-MyLambdaFunctionName (没有随机标识符)?
如有任何指导/帮助,我们将不胜感激。
谢谢
发布于 2019-09-06 17:08:24
因为在创建lambda名称时没有显式地设置lambda名称,所以在lambda函数名的末尾有一个随机字符串。来自文档
FunctionName Lambda函数的名称,长度可达64个字符。如果不指定名称,AWS CloudFormation将生成名称。
一般来说,这样做是正确的,因为如果设置了它,就不能更改任何需要替换的参数(不过,在lambda上,我想不出有任何参数需要替换)。
来自同一个医生:
如果指定名称,则无法执行需要替换此资源的更新。您可以执行不需要中断或某些中断的更新。如果必须替换资源,请指定新名称。
要创建警报,只需在警报创建代码中引用Lambda函数即可。
如下所示:
Dimensions:
- Name: "FunctionName"
Value:
Ref: LambdaFunctionReference
https://stackoverflow.com/questions/57819768
复制相似问题