キャンバス アプリの実行フェーズとデータの呼び出しフローを理解する
ユーザーがキャンバス アプリを開くと、次のいくつかの段階を経て、ユーザーインターフェースを表示します。 アプリが読み込まれている間、SharePoint、Microsoft Dataverse、SQL Server (オンプレミスの)、Azure SQL データベース (オンライン)、Excel、Oracle などの データ ソース— に接続します。
この記事では、これらのさまざまな実行フェーズと、アプリがどのようにデータソースに接続するかについて説明します。
キャンバス アプリの実行フェーズ
キャンバス アプリは、ユーザーにインターフェースを表示する前に、実行の次のフェーズを通過します :
ユーザーを認証します : 初めてのユーザーに、アプリが必要とする接続で使用する認証情報を使ってサインインするよう促します。 そのユーザーが再びアプリを開くと、組織のセキュリティ ポリシーによっては、資格情報の入力が再び求められる場合があります。
メタデータの取得 : アプリを実行している Power Apps プラットフォームのバージョンやメタデータを取得する必要があるソースなどのメタデータを取得します。
アプリの初期化 : OnStart プロパティで指定されているタスクを実行します。
画面のレンダリング : アプリがデータを入力したコントロールで最初の画面をレンダリングします。 ユーザーが他の画面を開くと、アプリは同じプロセスを使用してその画面を表示します。
キャンバス アプリのデータ呼び出しフロー
キャンバス アプリからのデータ呼び出しには、OData プロトコルを介してコネクタを使用してデータソースを送信します。 OData は、バックエンド レイヤーへのフローを要求して、ターゲット データ ソースに接続し、クライアントのデータを取得するか、データをデータ ソースにコミットします。
OData リクエストがキャンバス アプリでどのように移動するかを理解することで、キャンバス アプリのパフォーマンスやバックエンド データ ソースの最適化に役立ちます。
このセクションでは、さまざまなデータ ソースタイプのキャンバス アプリでデータ呼び出しがどのように流れるかについて学習します。
オンライン データソースを使用したデータ コール フロー
次の図は、キャンバスアプリ (左側) の一般的なデータ リクエストがサーバー側のレイヤーを移動し、ターゲット データ ソース (右側) に到達する方法を示しており、クライアントにデータを返しています。

前述の図の各レイヤーは、リクエストを処理する際に、高速に実行される場合もありますが、オーバーヘッドが発生する場合もあります。 多くのアプリでは、2 つの特定のスポットで一般的に顕著なオーバー ヘッドが示される可能性があります。
バックエンド データ ソース リクエストの処理中。
クライアント - 要求を送信している間や、—受信したデータをヒープメモリ上で操作している間に、関連する JavaScript 関数を実行して、画面に表示するデータを処理します。
オンプレミスのデータ ゲートウェイを使用したデータ呼び出しフロー
キャンバス アプリが SQL サーバーのようなオンプレミスの データ ソースに接続する場合は、オンプレミスの データ ゲートウェイ という別のレイヤーが必要です。 このゲートウェイは、オンプレミスのデータソースにアクセスするために必須となります。 プロトコルを OData プロトコル要求から SQL データ操作言語 (DML) ステートメントに変換する役割を果たします。
次の図では、オンプレミスのデータ ゲートウェイを配置してデータ要求を処理する場所と方法を示しています。

アプリがオンプレミスのデータソースを使用する場合は、データゲートウェイの場所や仕様もデータ呼び出しのパフォーマンスに影響します。
Microsoft Dataverse とのデータ フロー
Microsoft Dataverse をデータ ソースとして使用する場合、データ要求は、Azure API Management を経由せずに、—環境インスタンスに直接送信されます。 そのため、データ呼び出しのパフォーマンスは、他のデータソースと比較してはるかに高速となります。 このアプリは、新しいキャンバスアプリを作成する際、規定で Microsoft Dataverse に接続されています。

このように、データの呼び出しがどのように移動するかという高度な概念を理解した上で、アプリのパフォーマンスを確認する詳細な作業に入ることができます。 簡潔に言えば、パフォーマンスのオーバーヘッドは—クライアント、API 管理、コネクタ、オンプレミスのデータ ゲートウェイ、バックエンド データ ソースなど、どの階層でも発生する可能性があります。
次の手順
関連項目
一般的なキャンバス アプリのパフォーマンスの問題と解決策
キャンバス アプリのパフォーマンスを向上させるためのヒントとベストプラクティス
Power Apps の一般的な問題と解決方法
Power Apps のスタートアップに関する問題のトラブルシューティング
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示