0

我有一个需要 ARN 的 lambda 函数的阶跃函数。这些 Lambda 函数是使用 terraform 脚本创建的,其中的 ARN 存储在 SSM 参数存储中。我想从参数存储中检索这些 ARN,并将其作为输入传递给我的状态机。我如何将它包含在我的状态机中?

4

3 回答 3

0

我很幸运将 ssm 参数解析为模板参数。

在您的 cloudformation 模板中。

Parameters:
  SomeTemplateVar:
    Type: String
    Default: "{{resolve:ssm:YourSSMParameter:1}}"

然后,您可以在工作流 JSON 中引用该变量。

                "Lambda Invoke": {
                  "Type": "Task",
                  "Resource": "arn:aws:states:::lambda:invoke",
                  "OutputPath": "$.Payload",
                  "Parameters": {
                    "Payload.$": "$",
                    "FunctionName": "${SomeTemplateVar}"
                  },
于 2022-02-28T14:47:23.903 回答
0

AWS Step Functions 与参数存储等 AWS 服务集成,让您可以从工作流程中调用每项服务的 API 操作。

参考:https ://docs.aws.amazon.com/step-functions/latest/dg/supported-services-awssdk.html

下面是 ASL 中的阶跃函数定义示例:

{
  "Comment": "This is your state machine",
  "StartAt": "GetParameter",
  "States": {
    "GetParameter": {
      "Type": "Task",
      "Parameters": {
        "Names": ["<paramter_name>"]
      },
      "Resource": "arn:aws:states:::aws-sdk:ssm:getParameters",
      "ResultSelector": {
        "ssm-parameters.$": "$.Parameters"
      },
      "End": true
    }
  }
}

注意:将 <paramter_name> 替换为您的参数名称

于 2021-11-01T16:46:49.027 回答
-1

目前没有 Step function 与 Parameter Store 的直接服务集成。您可以做的是使用 lambda 集成,它调用参数存储来获取数据并将结果用于结果路径。

于 2020-05-17T10:13:09.173 回答