Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使Aws Lambda连续运行_Java_Amazon Web Services_Aws Lambda - Fatal编程技术网

Java 如何使Aws Lambda连续运行

Java 如何使Aws Lambda连续运行,java,amazon-web-services,aws-lambda,Java,Amazon Web Services,Aws Lambda,我有一个AWS Lambda函数,它部署在控制台中。因为它会自动使用来自某个外部队列的消息,所以我希望它能够持续运行,而不是进行调度。 如何使aws lambda连续运行?如果您可以使用aws提供的SQS而不是外部队列,则可以将该队列设置为lambda函数的触发器,并在队列上设置新项目后让其执行。您可以向lambda添加触发器,并设置要响应的SQS队列。在AWS控制台(在web上),您可以从Lambda函数本身或从SQS(我建议使用此策略)执行此操作。控制台将引导您完成有关设置适当安全性的详细信

我有一个AWS Lambda函数,它部署在控制台中。因为它会自动使用来自某个外部队列的消息,所以我希望它能够持续运行,而不是进行调度。
如何使aws lambda连续运行?

如果您可以使用aws提供的SQS而不是外部队列,则可以将该队列设置为lambda函数的触发器,并在队列上设置新项目后让其执行。

您可以向lambda添加触发器,并设置要响应的SQS队列。在AWS控制台(在web上),您可以从Lambda函数本身或从SQS(我建议使用此策略)执行此操作。控制台将引导您完成有关设置适当安全性的详细信息。 有关设置的详细信息:

有关在Lambda中使用SQS消息的一些一般信息:

您首选的编程语言可能有一个为您实现API的客户端库

重要信息:如果要按顺序处理队列,请确保将lambda的保留并发设置为0

此外,如果您使用CLI或其他自动部署工具,请确保更新配置文件,这样您就不会在部署时覆盖Lambda的设置

编辑:当您说外部队列时;你是说非SQS队列?
我想它仍然可以用另一个系统来完成。做这件事的最好方法是举办一个活动。添加消息时,使用http请求触发Lambda。如果出于某种原因您不能这样做,您可以为Lambda添加一个时间表,并运行它,比如说每5分钟运行一次。有关日程安排的更多信息:

Lambda的硬超时为15分钟。你有什么理由不想使用定时lambda?根据成本,使用EC2实例而不是连续运行lambda函数更合理。仅供参考:与AWS EC2相比,Lambda的目的是简化构建响应事件和新信息的更小的按需应用程序。