如何确定使用AWS CDK创建了AWS Lambda?

时间:2020-10-20 21:08:57

标签: amazon-web-services aws-lambda aws-cdk

我正在寻找一种方法来确定AWS Lambda已随AWS CDK一起配置。是否有标签或其他某种类型的元数据来识别? SAM提供标签lambda_createdBy:SAM。我可以自己添加一个标签,但是对于已经配置了成千上万个Lambda的组织而言,要识别该标签,需要更改所有标签的代码。

2 个答案:

答案 0 :(得分:0)

AFAIK CDK没有添加任何特殊的CDK特定标签。我相信某些资源会使用CF模板自动标记,尽管它们是其中的一部分。

您可以编写CDK Aspect,而不是一味地修改代码,而是将标签添加到应用程序中的所有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());

答案 1 :(得分:0)

CDK部署的Lambda函数将通过密钥aws:cloudformation:stack-name传播标签。

然后,您可以检查资源名为CDKMetadata的堆栈。例如,

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