Azure Functions による Azure Static Web Apps での API のサポート
フロントエンド Web アプリケーションは、多くの場合、データとサービスのバックエンド API を呼び出します。 既定では、Azure Static Web Apps は、Azure Functions を介して組み込みのサーバーレス API エンドポイントを提供します。
Static Web Apps の Azure Functions API は、ホスティング プランに基づき、使用できる次の 2 つの構成で利用できます。
マネージド関数: 既定では、静的 Web アプリの API は、いくつかの制限が関連付けられた、Azure Static Web Apps によって管理およびデプロイされる Azure Functions アプリです。
独自の関数の持ち込み: 必要に応じて、任意のプランの種類の既存のAzure Functionsアプリケーションを用意することができます (Azure Functions のすべての機能が含まれます)。 この構成の場合、Functions アプリの個別のデプロイを処理する必要があります。
次の表では、マネージド関数と既存の関数の使用の違いを対比したものです。
機能 | マネージド関数 | 独自の関数の持ち込み |
---|---|---|
Azure Functions のトリガーとバインディングへのアクセス。 | HTTP のみ | すべて |
サポートされている Azure Functions ランタイム1 | 「サポートされている言語とランタイム」を参照してください。 | すべて |
サポートされている Azure Functions のホスティング プラン | 従量課金 | 従量課金 Premium 専用 |
ユーザー認証とロールベースの承認データに直接アクセスできる統合セキュリティ。 | ✔ | ✔ |
カスタム CORS ルールを必要とせずに、Web アプリで安全に /api ルートを使用できるようにするルーティングの統合。 |
✔ | ✔ |
バックエンド コンピューティングの動的グローバル分散のための分散関数 (プレビュー)。 | ✔ | ✕ |
Durable Functions プログラミング モデル | ✕ | ✔ |
マネージド ID | ✕ | ✔ |
Azure App Service の認証と承認のトークン管理 | ✕ | ✔ |
Azure Static Web Apps の外部で使用できる API 関数 | ✕ | ✔ |
Key Vault 参照 | ✕ | ✔ |
1 マネージド関数でランタイムのバージョンを指定するには、フロントエンド アプリに構成ファイルを追加し、apiRuntime
プロパティを設定します。 サポートには、Azure Functions 言語ランタイムのサポート ポリシーが適用されます。
Static Web Apps の API オプションには、次の Azure サービスが含まれます。
詳細については、「API の概要」を参照してください。
Note
分散関数は、マネージド関数で使用できます。 分散関数により、要求の負荷が高いリージョンにマネージド関数を自動的に分散されます。
構成
Web アプリでは、api
ルートを介して API エンドポイントを使用できます。
マネージド関数 | 独自の関数の持ち込み |
---|---|
/api ルートは固定されていますが、マネージド関数アプリのソース コードのフォルダーの場所は制御できます。 リポジトリの .github/workflows フォルダーにあるワークフロー YAML ファイルを編集することにより、この場所を変更できます。 |
/api ルートへの要求は、既存の Azure Functions アプリに送信されます。 |
トラブルシューティングとログ
ログは、Application Insights を追加した場合にのみ使用できます。
マネージド関数 | 独自の関数の持ち込み |
---|---|
静的 Web アプリ上で Application Insights を有効にして、ログ記録を有効にします。 | Azure Functions アプリ上で Application Insights を有効にして、ログ記録を有効にします。 |
制約
Azure Functions API には、Static Web Apps API の制約に加えて、次の制約も適用されます。
マネージド関数 | 独自の関数の持ち込み |
---|---|
|
|