簡體   English   中英

我們能否從 SSM 參數存儲中檢索值並將其作為輸入傳遞給 AWS 步驟 function?

[英]Can we retrieve the values from SSM parameter store and pass it as an input to AWS step function?

我有一個步驟 function,它需要 lambda function 的 ARN。這些 Lambda 函數是使用 terraform 腳本創建的,其 ARN 存儲在 SSM 參數存儲中。 我想從參數存儲中檢索這些 ARN,並將其作為輸入傳遞到我的 state 機器。 我如何將它包含在我的 state 機器中?

目前沒有步驟 function 與 Parameter Store 直接服務集成。 您可以做的是使用 lambda 集成,它調用參數存儲來獲取數據並將結果用於結果路徑。

AWS Step Functions 與參數存儲等 AWS 服務集成,讓您可以從工作流中調用每個服務的 API 操作。

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

例子:

{
  "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> 替換為您的參數名稱

我很幸運將 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}"
                  },

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM