【问题标题】:Get execution arn of Step function inside one of its lambdas (Serverless Framework)在其中一个 lambda 中获取 Step 函数的执行 arn(无服务器框架)
【发布时间】:2021-09-23 08:18:52
【问题描述】:

使用 Serverless 框架和 step function 框架,我可以从 lambda 函数内部获取执行 ARN 吗?

【问题讨论】:

    标签: amazon-web-services serverless-framework


    【解决方案1】:

    您可以像 "Execution.$": "$$.Execution.Id" 这样输出执行 ARN。 (doc)

    下面是一个带有 Lambda 函数的简单演示。


    Nodejs Lambda 函数,名称为 HelloFunction(仅用于输出到 CloudWatch 日志):

    exports.handler = (event, context, callback) => {
        console.log(event);
    };
    

    步进函数(只需将 "$$.Execution.Id" 放入 HelloFunction lambda):

    {
      "Comment": "put execution ARN to Lambda",
      "StartAt": "HelloWorld",
      "States": {
        "HelloWorld": {
          "Type": "Task",
          "Resource": "arn:aws:states:::lambda:invoke",
          "Parameters": {
            "FunctionName": "HelloFunction",
            "Payload": {
              "Execution.$": "$$.Execution.Id"
            }
          },
          "End": true
        }
      }
    }
    

    输出如下:

    2021-09-23T00:05:07.197Z    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  INFO    {
      Execution: 'arn:aws:states:<region>-1:111122223333:execution:MyStateMachine_lambda_callback_service_integration_pattern:xxxxxxxxx-xxxx-xxxxxxxxxxxxx'
    }
    

    【讨论】:

      猜你喜欢
      • 2019-09-07
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 2021-01-09
      • 2021-03-10
      • 2019-07-23
      • 1970-01-01
      相关资源
      最近更新 更多