簡體   English   中英

如何使用cloudformation模板傳遞aws-lambda函數名稱以生成cloudwatch警報

[英]How to pass aws-lambda function name to generate a cloudwatch alarm using cloudformation template

我有一個aws lambda函數,在上面,我想使用cloudformation模板創建一個cloudwatch警報。

可以說我有一個名為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函數上創建這些cloudwatch警報? 如“ Value ”是否要使用正則表達式? 我試過了

    MyPackage-MyLambdaFunctionName.*  

這沒有用。 還是有一種方法可以將lambda函數名稱限制為MyPackage-MyLambdaFunctionName (不帶隨機標識符)

任何指導/幫助表示贊賞。

謝謝

lambda函數名稱末尾的隨機字符串在那里,因為在創建lambda名稱時並未明確設置它。 文檔

FunctionName

Lambda函數的名稱,最多64個字符。 如果您未指定名稱,則AWS CloudFormation會生成一個名稱。

通常,這是正確的做法,因為如果您進行設置,就無法更改任何需要替換的參數(盡管如此,我無法想到在lambda上需要該參數的任何參數)。

從同一文檔:

如果指定名稱,則無法執行需要替換此資源的更新。 您可以執行不需要或不需中斷的更新。 如果必須替換資源,請指定一個新名稱。

要創建警報,您可以僅在警報創建代碼中引用Lambda函數。

像這樣:

Dimensions:
  - Name: "FunctionName"
    Value:
      Ref: LambdaFunctionReference

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM