簡體   English   中英

如何確定 AWS Lambda 是使用 AWS CDK 創建的?

[英]How can I identify that an AWS Lambda was created using the AWS CDK?

我正在尋找一種方法來識別 AWS Lambda 是使用 AWS CDK 配置的。 是否有標簽或其他類型的元數據來識別這一點? SAM 提供了一個標簽lambda_createdBy:SAM 我可以自己添加一個標簽,但對於一個已經配置了數千個 Lambda 的組織,識別這需要更改所有這些的代碼。

AFAIK CDK 不添加任何特殊的 CDK 特定標簽。 我相信某些資源會自動標記為 CF 模板,但它們是其中的一部分,所以就是這樣。

您可以編寫一個CDK 方面,將標簽添加到應用程序中的任何 lambda 函數,而不是全面修改代碼。

就像是:

class FunctionTagger implements IAspect {
  public visit(node: IConstruct): void {
    if (node instanceof lambda.Function) {
      Tags.add('myTag', 'myValue', node)
    }
  }
}

// Apply to the stack
stack.node.applyAspect(new FunctionTagger());

CDK 部署的 Lambda func 將傳播具有密鑰aws:cloudformation:stack-name的標簽。

然后您可以檢查是否有名為CDKMetadata資源的堆棧。 例如,

aws cloudformation describe-stack-resource --stack-name my-stack-name --logical-resource-id CDKMetadata

暫無
暫無

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

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