繁体   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