【发布时间】:2019-03-31 01:40:15
【问题描述】:
我正在构建将请求发送到我的网络服务器的 Alexa 技能, 然后 Web 服务器将执行一些处理并将文件上传到 Amazon S3。 在 Web 服务器进程期间,我让技能每 10 秒不断从 Amazon S3 获取文件,直到获取文件。并且响应基于文件内容。
但不幸的是,Web 服务器进程需要超过 1 分钟。这意味着技能必须停留超过 1 分钟才能使文件得到响应。
目前,我在代码中使用了带有异步等待的渐进式响应, 并且技能确实一直在等待S3上的文件。 但我发现该技能会在 50 秒后自动向 Lambda 发送第二个请求。这意味着对于相同的技能,我让两个 lambda 函数同时运行。
并且执行结果是:在渐进式响应做出的第一个响应之后,50秒后将听到属于第二个请求的渐进式响应做出的另一个响应。 直到最后什么都没发生。
我知道让技能等待这么久不好,但是如果技能需要等待这么长时间,我仍然想弄清楚可执行的方式。
有几点我想弄清楚。
- 有没有办法阻止技能送二 对 Lambda 的请求?
- 我还有其他方法可以尝试实现目标吗?
谢谢
【问题讨论】:
标签: amazon-web-services amazon-s3 aws-lambda alexa alexa-skills-kit