AWS SWF(简单工作流程)仅在存在SQS消息时启动,这可能吗?

时间:2015-08-08 14:26:17

标签: amazon-web-services amazon-sqs amazon-swf aws-ruby-flow

我的目标:

我想要实现一个非常简单的工作流程。给定 ID ,仅当该文件尚不存在时,才在s3存储桶中创建一个名为 ID .txt的文件。

到目前为止我尝试了什么:

我已经阅读了doco,并使用aws-ruby-flow了解了一些例子  到目前为止,总有意义。

我仍然没有得到:

我的愿望是让工作流程处理包含s的SQS消息。我不了解的是当排队的消息出现时如何启动工作流程。

问题

我是否需要在SQS中找到消息的任何地方实现我自己的轮询服务?

1 个答案:

答案 0 :(得分:1)

Amazon Simple Workflow Service可以跨分布式组件协调工作。但是,每个组件都必须调用" SWF检查是否有任何工作等待执行。

最近的更新现在也是allows Amazon SWF to trigger an AWS Lambda function,而不是等待组件请求工作。

但是,Amazon Simple Queue Service(SQS)消息无法触发Amazon SWF。

值得踩回去查看整个工作流程。例如,您可以:

,而不是将消息推送到SQS
  • 发送到Amazon Simple Notification Service(SNS),它可以触发AWS Lambda函数,或
  • 直接触发AWS Lambda函数,或
  • 只需始终上传到Amazon S3(如果您只是创建一个空文件,如果文件已经存在,那么覆盖文件的危害是什么?)或
  • 重新考虑为什么要在Amazon S3中创建此类文件并可能使用数据库