AWS Lambda: 异步 C# 处理程序

7
AWS文档指出:
使用异步在C#函数中与AWS Lambda一起工作
如果您知道Lambda函数需要长时间运行的过程,例如上传大文件到Amazon S3或从DynamoDB读取大量记录流,那么您可以利用异步/等待模式。通过创建具有此签名的处理程序,Lambda将同步执行函数,并在返回或超时之前等待最多5分钟以完成执行。
我感到非常困惑Lambda会:
同步执行函数并等待最多5分钟
当Lambda支持高达15分钟的处理时间。这是否意味着如果我在处理程序上放置异步,我只能在5分钟内处理一个事件?

@TheGeneral 谢谢。我已经删除了广泛的部分,并将向AWS支持提出问题。我对.NET中的异步有一些基本的理解,并在Lambda集成中同时使用了异步/非异步。如果我能从AWS支持那里得到明确的答复,我会创建一个答案。 - qkhanhpro
1
对我来说,这是一个有趣的问题。我有一种感觉,文档没有更新,应该写成:“通过创建具有此签名的处理程序,Lambda将同步执行函数,并等待最多15分钟以完成执行,然后返回或超时。” - David Webster
2个回答

7

AWS支持的最终答案是:

  • 该文档已经过时,应以最大15分钟超时运行(取决于Lambda函数配置)。
  • async修饰符不会改变AWS的行为,它们只会等待它。
  • 行为差异仅存在于.NET方面。

"行为差异仅存在于.NET方面"。这句话的意思是,行为差异只存在于.NET方面。 - Jim Aho
1
支持的意思是,区别在于等待异步.NET函数与同步调用。AWS对此没有做任何值得注意的事情。 - qkhanhpro

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接