メインコンテンツへスキップ

Azure Functions にデプロイ

このガイドでは、Azure Functions を使用して、Node.js ベースの関数アプリを Azure にデプロイする際によくある問題を回避する方法を説明します。

Azure Functions はサーバーレスのデプロイプラットフォームです。コードをデプロイするためにインフラを維持する必要はありません。Azure Functions の基本的な構成要素は、関数アプリです。関数アプリは、Azure で関数が実行される実行コンテキストを提供します。それは、Azure がまとめて管理、デプロイ、スケーリングする1つ以上の個別の関数で構成されます。複数の関数を1つの論理ユニットとして組織化し、まとめて管理することができます。

前提条件

  • Prisma ORM を使用する既存の関数アプリプロジェクト

知っておくべきこと

Prisma ORM は Azure Functions とうまく連携しますが、アプリケーションをデプロイする前にいくつか注意すべき点があります。

複数のバイナリターゲットを定義する

関数アプリをデプロイする際、Azure Functions がリモートビルドを実行するオペレーティングシステムは、関数をホストするオペレーティングシステムとは異なります。そのため、Prisma スキーマで以下の binaryTargets オプションを指定することをお勧めします。

schema.prisma
generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "debian-openssl-1.1.x"]
}

接続プール

一般的に、FaaS (Function as a Service) 環境を使用してデータベースと対話する場合、関数の呼び出しごとにデータベースへの新しい接続が発生する可能性があります。これは、常時稼働している Node.js サーバーでは問題になりません。したがって、より良いパフォーマンスを得るためにDB接続をプールすることが有益です。この問題を解決するには、Prisma Accelerate を使用できます。その他の解決策については、サーバーレス環境向け接続管理ガイドを参照してください。

まとめ

Prisma Client の API についてさらに詳しく知るには、関数ハンドラを探索し、Prisma Client API リファレンスをご覧ください。

© . All rights reserved.