我的目标:
我有一个非常简单的工作流程,我想实现 . 给定ID,只有当该文件尚不存在时,才在s3存储桶中创建一个名为ID.txt的文件 .
到目前为止我尝试了什么:
我已阅读doco并使用aws-ruby-flow浏览了一些示例 .
到目前为止,总有意义 .
我仍然没有得到:
我的愿望是让工作流程处理包含s的SQS消息 . 我不了解的是当排队的消息出现时如何启动工作流程 .
问题
我是否需要在SQS中找到消息的任何地方实现我自己的轮询服务?
我有一个非常简单的工作流程,我想实现 . 给定ID,只有当该文件尚不存在时,才在s3存储桶中创建一个名为ID.txt的文件 .
我已阅读doco并使用aws-ruby-flow浏览了一些示例 .
到目前为止,总有意义 .
我的愿望是让工作流程处理包含s的SQS消息 . 我不了解的是当排队的消息出现时如何启动工作流程 .
我是否需要在SQS中找到消息的任何地方实现我自己的轮询服务?
1 回答
Amazon Simple Workflow Service可以跨分布式组件协调工作 . 但是,每个组件必须"call into" SWF以检查是否有任何工作正在等待执行 .
最近的更新现在也是allows Amazon SWF to trigger an AWS Lambda function而不是等待组件请求工作 .
但是,Amazon Simple Queue Service(SQS)消息无法触发Amazon SWF .
值得回过头来看看你的整个工作流程 . 例如,您可以:而不是将消息推送到SQS中:
发送到Amazon简单通知服务(SNS),它可以触发AWS Lambda函数,或
直接触发AWS Lambda函数,或
只需始终上传到Amazon S3(如果你已经存在,那么覆盖文件的危害是什么?),或者
重新考虑为什么要在Amazon S3中创建这样的文件并可能使用数据库