部署到 Azure Functions
本指南解释了如何在使用 Azure Functions 将基于 Node.js 的函数应用部署到 Azure 时避免常见问题。
Azure Functions 是一个无服务器部署平台。你无需维护基础设施即可部署代码。在 Azure Functions 中,基本构建块是函数应用。函数应用在 Azure 中提供一个执行上下文,你的函数在此运行。它由 Azure 一起管理、部署和扩展的一个或多个独立函数组成。你可以将多个函数组织并作为一个逻辑单元进行集体管理。
先决条件
- 一个现有的包含 Prisma ORM 的函数应用项目
须知事项
虽然 Prisma ORM 与 Azure functions 配合良好,但在部署应用程序之前仍有一些事项需要注意。
定义多个 binary targets
部署函数应用时,Azure functions 运行远程构建的操作系统与托管函数的操作系统不同。因此,我们建议在 Prisma schema 中指定以下 binaryTargets
选项
schema.prisma
generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "debian-openssl-1.1.x"]
}
连接池
通常,当你使用 FaaS (函数即服务) 环境与数据库交互时,每次函数调用都可能导致与数据库建立新连接。这在持续运行的 Node.js 服务器上不是问题。因此,使用连接池来提高数据库连接性能是有益的。要解决此问题,你可以使用 Prisma Accelerate。有关其他解决方案,请参阅无服务器环境的连接管理指南。
总结
要深入了解 Prisma Client 的 API,可以探索函数处理程序并查看 Prisma Client API 参考