Azure函数应用程序与Python一次性初始化

Azure函数应用程序与Python一次性初始化,python,azure-function-app,Python,Azure Function App,我将Azure函数应用程序与Python一起使用。我有24个功能应用程序,都使用Postgres DB和自定义Vision。所有功能应用程序都设置为HttpTriggers。现在,当一个函数被触发时,一个新的数据库处理程序(或自定义vision处理程序)对象被创建、使用并在函数应用程序调用完成时终止 在收到的每一个请求上实例化一个新对象似乎会适得其反。有没有一种方法可以实例化共享对象一次,然后在调用它们时将它们传递给函数 一般来说,Azure函数是无状态的,不共享从一个调用到下一个调用的对象。然

我将Azure函数应用程序与Python一起使用。我有24个功能应用程序,都使用Postgres DB和自定义Vision。所有功能应用程序都设置为HttpTriggers。现在,当一个函数被触发时,一个新的数据库处理程序(或自定义vision处理程序)对象被创建、使用并在函数应用程序调用完成时终止


在收到的每一个请求上实例化一个新对象似乎会适得其反。有没有一种方法可以实例化共享对象一次,然后在调用它们时将它们传递给函数

一般来说,Azure函数是无状态的,不共享从一个调用到下一个调用的对象。然而,也有一些例外


共享连接对象

Azure文档建议共享应用程序中的连接对象,这些对象将被一次打开并反复使用

要想让它对您起作用,需要记住以下几点:

此反模式的关键元素是重复创建和销毁可共享对象的实例。如果类不可共享(非线程安全),则此反模式不适用

那里有一些演练可能会对您有所帮助。由于你的问题相当笼统,我只能建议你通读一遍,看看这是否对你有帮助


耐用功能

备选方案是考虑标准而不是标准。它们的目的是能够在函数之间传递对象,使它们不是完全无状态的

持久功能是Azure功能的高级扩展,并不适用于所有应用程序。本文假设您非常熟悉中的概念以及无服务器应用程序开发中涉及的挑战