首页 > 解决方案 > 是否有任何 API 来检测运行 Lambda 的 AWS 堆栈名称

问题描述

我需要知道 lambda 处理程序装饰器代码中的堆栈名称或至少函数名称。任何想法 ?boto3.client('cloudformation') gettesr 和 describe 函数需要堆栈名称作为参数。那时 Lambda 上下文仍然是 None 。谢谢 !

标签: aws-lambda

解决方案


如果您需要堆栈名称,则应将其作为环境变量传递给函数。这些值始终可用。您可以!Ref AWS::StackName在环境定义中使用。像这样的东西:

  MyFunction:
    Type: 'AWS::Lambda::Function'
    Properties:
      FunctionName: My-Function
      # other properties left out for brevity
      Environment:
        Variables:
          StackName: !Ref AWS::StackName

推荐阅读