如何将每个 AWS Step Function 的执行存储到 DynamoDB

How to store every AWS Step Function's execution to DynamoDB

有没有办法将每个执行存储到 DynamoDB,因为 AWS Step Functions 执行将在一个月后删除。

您可以使用 AWS StepFunctions API 来做到这一点。您可以使用 ListExecutions, and get the history of an execution using GetExecutionHistory 获取状态机的执行列表。然后您可以存储这些调用的结果。

您可以在机器中添加第一步,从 context 获取其执行 ARN 并将其放入 DynamoDB table

步骤可能如下所示:

"Put item into DynamoDB": {
  "Type": "Task",
  "Resource": "arn:aws:states:::dynamodb:putItem",
  "Parameters": {
    "TableName": "<your-table-name>",
    "Item": {
      "job_id":  { 
        "S.$" : "$$.Execution.Id"
        }     
    }
  },
  "Next": "<next-task>"
}