Microsoft Power Platform で Databricks データを使用する
プレビュー
この機能は パブリック プレビュー段階です。
このページでは、接続を作成した後、次のプラットフォームから Databricks データを使用する方法について説明します。
- Power Apps : Databricks ガバナンス制御を維持しながら、Databricks の読み取りと書き込みが可能なアプリケーションを構築します。
- Power Automate : フローを構築し、カスタム SQL または既存のジョブを実行して結果を取得できるようにするアクションを追加します。
- Copilot Studio : Databricksデータを知識基盤として使用してカスタムエージェントを構築したり、 Genie Spacesをツールとして接続したりできます。
前提条件
Power Platform から Databricks に接続する前に、Microsoft Power Platform で Databricks への接続を作成する必要があります。
Databricks データを使用して Power Canvas アプリを構築する
Databricks データをアプリケーションに追加するには、次の手順を実行します。
- Power Apps の左端のナビゲーション バーから、 [作成] をクリックします。
- 「空白のキャンバスから開始」 をクリックし、希望するキャンバス サイズを選択して新しいキャンバス アプリを作成します。
- アプリケーションから、 [データの追加] > [コネクタ] > [Databricks] をクリックします。作成した Databricks 接続をクリックします。
- 「データセットの選択」 サイドバーからカタログを選択します。
- 「データセットの選択」 サイドバーから、キャンバス アプリを接続するすべてのテーブルを選択します。
- 接続 をクリックします。
Power Apps でのデータ操作:
コネクタは作成、更新、および削除操作をサポートしますが、主キーが定義されているテーブルに対してのみサポートされます。作成操作を実行するときは、常に主キーを指定する必要があります。
Databricks は生成された ID 列をサポートします。この場合、主キーの値は行の作成時にサーバー上で自動的に生成され、手動で指定することはできません。
Databricks データを使用して Power Automate フローを構築する
Databricksステートメント実行 APIとジョブ API はPower Automate 内で公開されており、SQL ステートメントを記述して既存のジョブを実行できます。Databricks をアクションとして使用して Power Automate フローを作成するには、次の手順を実行します。
-
Power Automate の左端のナビゲーション バーから、 [作成] をクリックします。
-
フローを作成し、任意のトリガー タイプを追加します。
-
新しいフローから + をクリックし、「Databricks」を検索して、利用可能なアクションを表示します。
-
SQL クエリを記述するには、次のいずれかのアクションを選択します。
-
SQL ステートメントの実行 : SQL ステートメントを記述して実行します。以下を入力してください:
- Body/warehouse_id には、 SQLステートメントを実行するウェアハウスの ID を入力します。
- Body/statement_id には、実行する SQL ステートメントの ID を入力します。
高度な問題の詳細については、 APIドキュメントを参照してください。
-
ステータスを確認して結果を取得する : SQL ステートメントのステータスを確認し、結果を収集します。以下を入力してください:
- ステートメント ID には、SQL ステートメントの実行時に返された ID を入力します。
問題の詳細については、 APIドキュメントを参照してください。
-
ステートメントの実行をキャンセルします。SQL ステートメントの実行を終了します。以下を入力してください:
- ステートメント ID には、終了する SQL ステートメントの ID を入力します。
問題の詳細については、 APIドキュメントを参照してください。
-
チャンク インデックスで結果を取得: 大きな結果セットに適したチャンク インデックスで結果を取得します。以下を入力してください:
- ステートメント ID には、結果を取得する SQL ステートメントの ID を入力します。
- チャンク インデックス には、対象のチャンク インデックスを入力します。
問題の詳細については、 APIドキュメントを参照してください。
-
-
既存の Databricks ジョブと対話するには、次のいずれかのアクションを選択します。
- ジョブの一覧: ジョブの一覧を取得します。詳細については、 APIドキュメントを参照してください。
- 新しいジョブ実行をトリガーし、 ジョブを実行し、トリガーされた実行の
run_idを返します。 詳細については、 APIドキュメントを参照してください。 - 単一のジョブ実行を取得します。 実行ステータス (例:
RUNNING、SUCCESS、FAILED)、開始時刻と終了時刻、実行期間、クラスター情報など、実行に関するメタデータを返します。詳細については、 APIドキュメントを参照してください。 - 実行をキャンセル: ジョブの実行またはタスクの実行をキャンセルします。詳細については、 APIドキュメントを参照してください。
- 単一の実行の出力を取得する: 単一のジョブまたはタスク実行の出力とメタデータを取得します。詳細については、 APIドキュメントを参照してください。
Copilot StudioでGenie Spacesに接続する
この機能を使用する前に、次の操作を行ってください。
- ワークスペースで マネージド MCP サーバーの プレビューを有効にします。「Databricks プレビューの管理」を参照してください。
- Power Apps で Databricks への接続を作成します。「Microsoft Power Platform で Databricks 接続を作成する」を参照してください。
GenieはDatabricksの機能の一つで、ビジネスチームが自然言語を使ってデータとやり取りすることを可能にします。DatabricksでGenie Space を設定する方法の詳細については、 Genie Space とは」を参照してください。 Databricks Genie Spaceには、分かりやすい名前と説明を必ず付けてください。
Copilot StudioエージェントにGenie Spaceをツールとして追加するには、次の手順を実行します。
-
Copilot Studio サイドバーから、 [エージェント] をクリックします。
-
既存のエージェントを選択するか、 「+ 空のエージェントを作成」 をクリックして新しいエージェントを作成します。
-
エージェントのモデルを選択します。Databricks では、エージェントのモデルとして Sonnet 4.5 を選択することをお勧めします。
-
「指示」 で、エージェントの機能と動作について説明します。
- Databricks は、以下の内容を指示書に含めることを推奨しています。「応答があるまで、常に Genie Space のポーリングを続けてください。」数秒で止めてはいけません。これにより、エージェントがGenie Spaceをポーリングしている間に、統合システムが「処理中」メッセージを繰り返し送信するのを防ぎます。
-
[ツール] の下で、 [+ ツールを追加] をクリックします。
-
「Databricks」を検索するか、 モデルコンテキストプロトコル を選択します。
-
Databricks Genie を選択し、 接続の 横にある Databricks への接続を選択して、 追加と構成を クリックします。
-
Databricks Genie ツールを構成します。
-
ツールに名前を付けます。より説明的なツール名は、Copilot Studio エージェントがリクエストを調整するのに役立ちます。
-
「入力」 欄にGenie Space IDを入力するか、ドロップダウンメニューからGenie Spaceを選択してください。
-
ツールを保存します。
-
(オプション)設定画面のツールセクションを更新して、Genie Spaceが接続されていることを確認してください。
-
-
右上の [設定] をクリックします。 [オーケストレーション] セクションで、 [はい] をクリックして、エージェントの応答に生成AIオーケストレーションを使用します。
-
エージェントを公開するには、右上の [公開] をクリックします。
-
(オプション) Genie対応の Copilot Studio エージェントをMicrosoft Teams またはMicrosoft 365 に公開して、 Genieの知識を他のユーザーに配布します。 エージェントを公開する方法については、 Microsoft のドキュメントを参照してください。
エージェントを Power App に追加できます。Power App を設定するには、 「Databricks データを使用して Power キャンバス アプリを構築する」を参照してください。Copilot Studio エージェントを Power App に追加するには、 Microsoft のドキュメントを参照してください。
公開されたアプリでエージェントを使用するには、公開されたアプリケーションを開き、右上隅の Copilot アイコンをクリックして質問します。
Copilot Studio で Databricks を知識ソースとして使用する
Databricks データをナレッジ ソースとして Copilot Studio エージェントに追加するには、次の手順を実行します。
-
Copilot Studio サイドバーから、 [エージェント] をクリックします。
-
既存のエージェントを選択するか、 「+ 新しいエージェント」 をクリックして新しいエージェントを作成します。
- メッセージを入力してエージェントを説明し、 「作成」を クリックします。
- または、 「スキップ」 をクリックしてエージェントの情報を手動で指定します。
-
[ナレッジ] タブで、 [+ ナレッジ] をクリックします。
-
[詳細設定] をクリックします。
-
ナレッジ ソースとして Databricks を クリックします。
-
データが格納されているカタログ名を入力します。
-
接続 をクリックします。
-
エージェントがナレッジ ソースとして使用するテーブルを選択し、 [追加] をクリックします。
バッチアップデートを実行する
Power Apps の入力に応じて一括作成、更新、または削除操作を実行する必要がある場合、Databricks では Power Automate フローを実装することをお勧めします。これを実現するには、次の手順を実行します。
-
Power Apps で Databricks 接続を使用してキャンバス アプリを作成します。
-
Databricks 接続を使用して Power Automate フローを作成し、Power Apps をトリガーとして使用します。
-
Power Automate トリガーで、Power Apps から Power Automate に渡す入力フィールドを追加します。
-
すべての変更を収集するには、Power Apps 内にコレクション オブジェクトを作成します。
-
Power Automate フローをキャンバス アプリに追加します。
-
キャンバス アプリから Power Automate フローを呼び出し、
ForAllコマンドを使用してコレクションを反復処理します。SQLForAll(collectionName, FlowName.Run(input field 1, input field 2, input field 3, …)
書き込みます
行レベルの同時実行性により、行レベルでの変更を検出し、並列書き込みによって同じデータ ファイル内の異なる行が更新または削除されるときに発生する競合を自動的に解決することで、並列書き込み操作間の競合が軽減されます。
行レベルの同時実行は、Databricks Runtime 14.2 以上に含まれています。行レベルの同時実行性は、次の種類のテーブルではデフォルトでサポートされています。
- 削除ベクトルが有効でパーティション分割されていないテーブル
- 液体クラスタリングのあるテーブル(削除が無効になっていない限り)
削除ベクトルを有効にするには、次の SQL コマンドを実行します。
ALTER TABLE table_name SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
Databricksでの書き込み競合の詳細については、 「分離レベルと書き込み競合」を参照してください。
制限事項
Copilot Studio の制限
- Copilot StudioのGenie Spacesは、Genie APIのレート制限により、1分間に最大5つの質問までしかサポートしていません。無料プランには、不正利用を防ぐための制限が設けられています。それ以上の規模でご利用になる場合は、Databricksのアカウントチームまでお問い合わせください。
Power Apps の制限
次の PowerFx 数式は、ローカルで取得されたデータのみを使用して値を計算します。
カテゴリー | 式 |
|---|---|
テーブル関数 |
|
集計 |
|