メインコンテンツまでスキップ

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 データをアプリケーションに追加するには、次の手順を実行します。

  1. Power Apps の左端のナビゲーション バーから、 [作成] をクリックします。
  2. 「空白のキャンバスから開始」 をクリックし、希望するキャンバス サイズを選択して新しいキャンバス アプリを作成します。
  3. アプリケーションから、 [データの追加] > [コネクタ] > [Databricks] をクリックします。作成した Databricks 接続をクリックします。
  4. 「データセットの選択」 サイドバーからカタログを選択します。
  5. 「データセットの選択」 サイドバーから、キャンバス アプリを接続するすべてのテーブルを選択します。
  6. 接続 をクリックします。

Power Apps でのデータ操作:

コネクタは作成、更新、および削除操作をサポートしますが、主キーが定義されているテーブルに対してのみサポートされます。作成操作を実行するときは、常に主キーを指定する必要があります。

Databricks は生成された ID 列をサポートします。この場合、主キーの値は行の作成時にサーバー上で自動的に生成され、手動で指定することはできません。

Databricks データを使用して Power Automate フローを構築する

Databricksステートメント実行 APIジョブ API はPower Automate 内で公開されており、SQL ステートメントを記述して既存のジョブを実行できます。Databricks をアクションとして使用して Power Automate フローを作成するには、次の手順を実行します。

  1. Power Automate の左端のナビゲーション バーから、 [作成] をクリックします。

  2. フローを作成し、任意のトリガー タイプを追加します。

  3. 新しいフローから + をクリックし、「Databricks」を検索して、利用可能なアクションを表示します。

  4. SQL クエリを記述するには、次のいずれかのアクションを選択します。

    • SQL ステートメントの実行 : SQL ステートメントを記述して実行します。以下を入力してください:

      • Body/warehouse_id には、 SQLステートメントを実行するウェアハウスの ID を入力します。
      • Body/statement_id には、実行する SQL ステートメントの ID を入力します。

      高度なセキュリティの詳細については、ここを参照してください。

    • ステータスを確認して結果を取得する : SQL ステートメントのステータスを確認し、結果を収集します。以下を入力してください:

      • ステートメント ID には、SQL ステートメントの実行時に返された ID を入力します。

      問題の詳細については、ここを参照してください。

    • ステートメントの実行をキャンセルします。SQL ステートメントの実行を終了します。以下を入力してください:

      • ステートメント ID には、終了する SQL ステートメントの ID を入力します。

      問題の詳細については、ここを参照してください。

    • チャンク インデックスで結果を取得: 大きな結果セットに適したチャンク インデックスで結果を取得します。以下を入力してください:

      • ステートメント ID には、結果を取得する SQL ステートメントの ID を入力します。
      • チャンク インデックス には、対象のチャンク インデックスを入力します。

      問題の詳細については、ここを参照してください。

  5. 既存の Databricks ジョブと対話するには、次のいずれかのアクションを選択します。

    • ジョブの一覧: ジョブの一覧を取得します。詳細については、ここを参照してください。
    • 新しいジョブ実行をトリガーし、 ジョブを実行し、トリガーされた実行のrun_idを返します。 詳細については、ここを参照してください。
    • 単一のジョブ実行を取得します。 実行ステータス (例: RUNNINGSUCCESSFAILED )、開始時刻と終了時刻、実行期間、クラスター情報など、実行に関するメタデータを返します。詳細については、ここを参照してください。
    • 実行をキャンセル: ジョブの実行またはタスクの実行をキャンセルします。詳細については、ここを参照してください。
    • 単一の実行の出力を取得する: 単一のジョブまたはタスク実行の出力とメタデータを取得します。詳細については、ここを参照してください。

Copilot Studio でGenie spacesに接続する

重要

この機能を使用する前に、次の操作を行ってください。

AI/BI Genie は、ビジネス チームが自然言語を使用してデータと対話できるようにする Databricks の機能です。DatabricksでのGenie spacesセットアップの詳細については、 「 AI/BI Genieスペースとは」を参照してください。 Databricks Genieスペースには明確な名前と説明を必ず入力してください。

GenieスペースをCopilot Studioエージェントのツールとして追加するには、次の手順を実行します。

  1. Copilot Studio サイドバーから、 [エージェント] をクリックします。

  2. 既存のエージェントを選択するか、 「+ 空のエージェントを作成」 をクリックして新しいエージェントを作成します。

    • メッセージを入力してエージェントを説明し、 「作成」を クリックします。
    • または、 「スキップ」 をクリックしてエージェントの情報を手動で指定します。
  3. [ツール] タブで、 [+ ツールを追加] をクリックします。

  4. 「Databricks」を検索するか、 モデルコンテキストプロトコル を選択します。

  5. Databricks Genie を選択し、Databricks への接続を選択します。

  6. 接続を構成します。

    1. ツールに名前を付けます。より説明的なツール名は、Copilot Studio エージェントがリクエストを調整するのに役立ちます。

    2. Genieスペース ID を入力するか、ドロップダウン メニューからGenieスペースを選択します。

    3. 代理 (OBO) フローを使用するには、 使用する資格情報 として エンド ユーザーの資格情報を 選択します。単一の ID を使用するには、 メーカー提供の資格情報 を選択します。

    4. ツールを保存します。

    5. (オプション) 設定画面のツールセクションを更新して、 Genieが接続されていることを確認します。

  7. 右上の [設定] をクリックします。 [オーケストレーション] セクションで、 [はい] をクリックして、エージェントの応答に生成AIオーケストレーションを使用します。

  8. (オプション) Genie対応の Copilot Studio エージェントをMicrosoft Teams またはMicrosoft 365 に公開して、 Genieの知識を他のユーザーに配布します。 エージェントを公開する方法については、 Microsoft のドキュメントを参照してください。

注記

エージェントがGenie Space をポーリング中であることを示しているにもかかわらず、統合が繰り返し「まだ処理中です」を返す場合は、エージェントに次の指示を追加します:「応答を受信するまでGenie Space のポーリングを続行します。」

エージェントを Power App に追加できます。Power App を設定するには、 「Databricks データを使用して Power キャンバス アプリを構築する」を参照してください。Copilot Studio エージェントを Power App に追加するには、 Microsoft のドキュメントを参照してください。

公開されたアプリでエージェントを使用するには、公開されたアプリケーションを開き、右上隅の Copilot アイコンをクリックして質問します。

Copilot Studio で Databricks を知識ソースとして使用する

Databricks データをナレッジ ソースとして Copilot Studio エージェントに追加するには、次の手順を実行します。

  1. Copilot Studio サイドバーから、 [エージェント] をクリックします。

  2. 既存のエージェントを選択するか、 「+ 新しいエージェント」 をクリックして新しいエージェントを作成します。

    • メッセージを入力してエージェントを説明し、 「作成」を クリックします。
    • または、 「スキップ」 をクリックしてエージェントの情報を手動で指定します。
  3. [ナレッジ] タブで、 [+ ナレッジ] をクリックします。

  4. [詳細設定] をクリックします。

  5. ナレッジ ソースとして Databricks を クリックします。

  6. データが格納されているカタログ名を入力します。

  7. 接続 をクリックします。

  8. エージェントがナレッジ ソースとして使用するテーブルを選択し、 [追加] をクリックします。

バッチアップデートを実行する

Power Apps の入力に応じて一括作成、更新、または削除操作を実行する必要がある場合、Databricks では Power Automate フローを実装することをお勧めします。これを実現するには、次の手順を実行します。

  1. Power Apps で Databricks 接続を使用してキャンバス アプリを作成します。

  2. Databricks 接続を使用して Power Automate フローを作成し、Power Apps をトリガーとして使用します。

  3. Power Automate トリガーで、Power Apps から Power Automate に渡す入力フィールドを追加します。

  4. すべての変更を収集するには、Power Apps 内にコレクション オブジェクトを作成します。

  5. Power Automate フローをキャンバス アプリに追加します。

  6. キャンバス アプリから Power Automate フローを呼び出し、 ForAllコマンドを使用してコレクションを反復処理します。

    SQL
    ForAll(collectionName, FlowName.Run(input field 1, input field 2, input field 3,)

書き込みます

行レベルの同時実行性により、行レベルでの変更を検出し、並列書き込みによって同じデータ ファイル内の異なる行が更新または削除されるときに発生する競合を自動的に解決することで、並列書き込み操作間の競合が軽減されます。

行レベルの同時実行は、Databricks Runtime 14.2 以上に含まれています。行レベルの同時実行性は、次の種類のテーブルではデフォルトでサポートされています。

  • 削除ベクトルが有効でパーティション分割されていないテーブル
  • 液体クラスタリングのあるテーブル(削除が無効になっていない限り)

削除ベクトルを有効にするには、次の SQL コマンドを実行します。

SQL
ALTER TABLE table_name SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

Databricksでの書き込み競合の詳細については、 「 Databricksでの分離レベルと書き込み競合」を参照してください。

制限事項

Copilot Studio の制限

  • Copilot Studio のGenie spacesでは、 Genie APIレート制限により、1 分あたり最大 5 件の質問がサポートされます。

Power Apps の制限

次の PowerFx 数式は、ローカルで取得されたデータのみを使用して値を計算します。

カテゴリー

テーブル関数

  • グループ
  • Distinct

集計

  • 行数カウント
  • 標準偏差P
  • 標準偏差S