【问题标题】:How do I get the log group name and ARN of a lambda generated by CloudFormation?如何获取 CloudFormation 生成的 lambda 的日志组名称和 ARN?
【发布时间】:2020-01-23 20:52:54
【问题描述】:

我正在像这样在 CloudFormation 中生成一个 lambda:

TestFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: lib/test.handler
    Timeout: 30
    Role: !GetAtt ExecutionRole.Arn

现在,CloudFormation 将自动为此 lambda 创建一个日志组。如何访问该日志组名称和 ARN?

我不想创建一个日志组,然后将它与我的 lambda 关联。我想访问自动为我创建的日志组。

【问题讨论】:

  • CloudFormation 不创建日志组。当 Lambda 运行时,如果附加到 Lambda 的角色有权创建日志组,则仅创建一个日志组。日志组的 ARN 如下所示:arn:${Partition}:logs:${Region}:${Account}:log-group:${Lambda_Function_Name}

标签: amazon-web-services amazon-cloudformation amazon-cloudwatch


【解决方案1】:

由 lambda 函数创建的日志组将具有 /aws/lambda/<function name> 形式的名称。见这里:https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html

您可以使用以下命令构造日志组的名称:

!Sub '/aws/lambda/${TestFunction}'

和arn:

!Sub 'arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/${TestFunction}:*'

【讨论】:

  • 注意:在第一次调用之前不会创建日志组,因此您可能会遇到资源未找到错误。不确定替代方案是什么。
猜你喜欢
  • 2020-11-10
  • 2017-05-14
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 2020-02-03
  • 2018-11-13
  • 1970-01-01
  • 2022-08-11
相关资源
最近更新 更多