微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有什么方法可以从AWS Step Function读取S3文件的内容吗?

如何解决有什么方法可以从AWS Step Function读取S3文件的内容吗?

我有一个特定的工作流程,我想将500个json字符串列表从lambda函数传递给step函数onBehalfOfContentOwner),然后在该step函数的映射状态下遍历该列表。从那里,我想将列表中的每个项目传递到一个单独的步骤函数stepFunction1),在其中要完成其他工作。

我的问题是,当传递给stepFunction2时,我的500个json字符串列表超过了AWS服务限制。我尝试将列表分成几个较小的段,但这会导致同时运行stepFunction1的多个调用,由于其他限制,我无法使用该调用。我的下一个想法是尝试将json字符串列表存储在S3存储桶中,从stepFunction1访问它,然后从那里进行遍历。有什么办法可以做到这一点?是否可以从AWS状态机读取S3中的文件?我在这里有些困惑。

解决方法

一种解决方案是将项目存储在Amazon DynamoDB表中,然后从AWS Step Functions直接访问它们。

这是一个如何从DynamoDB检索项目的示例:

"Read Next Message from DynamoDB": {
  "Type": "Task","Resource": "arn:aws:states:::dynamodb:getItem","Parameters": {
    "TableName": "MyTable","Key": {
      "MessageId": {"S.$": "$.List[0]"}
    }
  },"ResultPath": "$.DynamoDB","Next": "Do something"
}

您可以在文档中找到有关calling DynamoDB APIs with Step Functions的更多信息。

,

Step函数与AWS Lambda函数配合使用非常好,您可以轻松设计出色的工作流程。

您可以从Lambda中读取S3。最终,您的lambda可以单独工作,并成为step函数的一部分。

我建议您首先创建一个lambda函数,读取并处理s3文件,然后在适合您的情况下尝试使用stepfunction。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。