使用 Azure Functions 在本地存储状态

Storing state locally with Azure Functions

Azure Functions 是否提供本地(状态)存储以消除调用存储、docDB 等其他服务的需要?

函数基于 Azure 应用服务构建,它提供了存储持久文件的能力。例如您可以将文件存储在 %HOME%\data\SomeFolderOfYourChoice.

如前所述,Azure Functions 可以与其文件夹结构进行交互,并能够将一些内容存储到其文件夹中。但是,请记住,Azure Functions 是按资源消耗计费的,也就是说,你的 Functions 需要更多的资源,你的账单成本也会更高。

有时使用 Azure PaaS 服务比将内容存储到函数中更便宜。这是一个提示! :)

根据 David Ebbo 的回应,Azure Functions 构建在主要的 Azure 无服务器平台上,即应用服务。

这个 link 会解释更多,但我已经复制了一些关键部分以防 link 烂掉。

https://github.com/projectkudu/kudu/wiki/Understanding-the-Azure-App-Service-file-system

持久文件是您部署的程序的文件,它们植根于 Linux/Containers 上的 %HOME%/home。这些文件在横向扩展实例之间共享。您将获得 1GB。

临时文件可以写入 %APPDATA%%TMP%。这些不是共享的,并且在您的网络应用程序重新启动时它们是易变的。您将获得 500MB。

Kudu 是 Web 门户工具的名称,可让您进入 Web 应用程序环境,但显然您不会看到您编写的临时文件,除非您关闭 SCM 分离,请参阅 link。