次の方法で共有


Microsoft Power Platform から Azure Databricks に接続する

このページでは、データ接続として Azure Databricks を追加して、Microsoft Power Platform から Azure Databricks に接続する方法について説明します。 接続されている場合は、次のプラットフォームから Azure Databricks データを使用できます。

  • Power Apps: Azure Databricks のガバナンス コントロールを維持しながら、Azure Databricks との間で読み取りと書き込みを行うことができるアプリケーションを構築します。
  • Power Automate: フローを構築し、カスタム SQL または既存のジョブを実行して結果を取得できるようにするアクションを追加します。
  • Copilot Studio: Azure Databricks データをナレッジ ソースとして使用してカスタム エージェントを構築するか、Genie スペースをツールとして接続します。

開始する前に

Power Platform から Azure Databricks に接続する前に、次の要件を満たす必要があります。

  • Microsoft Entra ID (旧称 Azure Active Directory) アカウントをお持ちの場合。
  • Premium Power Apps ライセンスをお持ちの場合。
  • Azure Databricks アカウントを持っている。
  • Azure Databricks の SQL ウェアハウス にアクセスできます。

省略可能: Azure Virtual Networks を使用して接続する

Azure Databricks ワークスペースで仮想ネットワークを使用している場合、接続する方法は 2 つあります。

オプション: Microsoft Entra サービス プリンシパルを作成する

Von Bedeutung

Azure Databricks と Power Platform が異なるテナントにある場合は、認証にサービス プリンシパルを使用する必要があります。

接続する前に、次の手順を実行して、Microsoft Entra サービス プリンシパルを作成、設定、および Azure Databricks アカウントまたはワークスペースに割り当てます。

手順 1: Azure Databricks 接続を Power Platform に追加する

Copilot Studio を使用している場合は、Power Apps または Power Automate を使用して Azure Databricks コネクタを定義する必要があります。 その後、Copilot Studio で使用できます。

Azure Databricks 接続を追加するには、次の操作を行います。

  1. Power Apps または Power Automate のサイドバーで、[ 接続] をクリックします。

    サイドバーに [接続 ] が表示されない場合は、[ その他>接続] をクリックします。

  2. 左上隅にある [ + 新しい接続 ] をクリックします。

  3. 右上の検索バーを使用して、"Azure Databricks" を検索します。

  4. Azure Databricks タイルをクリックします。

  5. ドロップダウン メニューから 認証の種類 を選択し、認証情報を入力します。

    • Power Platform のデプロイと Azure Databricks アカウントが同じ Microsoft Entra テナント内にある場合は、 OAuth 接続を使用できます。 次の情報を入力してください。

      • [サーバー ホスト名] に、Azure Databricks SQL Warehouse サーバーのホスト名を入力します。
      • [HTTP パス] に、SQL ウェアハウスの HTTP パスを入力します。
      • Create をクリックしてください。
      • Microsoft Entra ID でサインインします。
    • サービス プリンシパル接続 は、任意のシナリオで使用できます。 接続する前にMicrosoft Entra サービスプリンシパルを作成します。 次の情報を入力してください。

      • [クライアント ID] に、サービス プリンシパル ID を入力します。
      • クライアント シークレットの場合は、サービス プリンシパル シークレットを入力します。
      • [テナント] に、サービス プリンシパル テナントを入力します。
      • [ホスト名] に、Azure Databricks SQL Warehouse サーバーのホスト名を入力します。
      • [HTTP パス] に、SQL ウェアハウスの HTTP パスを入力します。
      • (省略可能)接続の作成後に、サービス プリンシパル接続の名前を変更したり、チーム メンバーと共有したりできます。

    Azure Databricks SQL ウェアハウスと HTTP パス接続の詳細については、「 Azure Databricks コンピューティング リソースの接続の詳細を取得する」を参照してください。

  6. Create をクリックしてください。

手順 2: Azure Databricks 接続を使用する

Power Apps または Power Automate で Azure Databricks 接続を作成したら、Azure Databricks データを使用して、Power キャンバス アプリ、Power Automate フロー、Copilot Studio エージェントを作成できます。

Azure Databricks データを使用して Power Canvas アプリを構築する

Azure Databricks データをアプリケーションに追加するには、次の操作を行います。

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

Power Apps でのデータ操作:

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

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

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

Azure Databricks ステートメント実行 APIジョブ API は Power Automate 内で公開されるため、SQL ステートメントを記述して既存のジョブを実行できます。 Azure 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. 既存の Azure Databricks ジョブと対話するには、次のいずれかのアクションを選択します。

    • ジョブの一覧表示: ジョブの一覧を取得します。 詳細については、このページを参照してください。
    • 新しいジョブの実行をトリガーします。 ジョブを実行し、トリガーされた実行の run_id を返します。 詳細については、このページを参照してください。
    • 1 つのジョブ実行を取得します。 実行状態 ( RUNNINGSUCCESSFAILEDなど)、開始時刻と終了時刻、実行期間、クラスター情報など、実行に関するメタデータを返します。 詳細については、このページを参照してください。
    • 実行を取り消す: ジョブの実行またはタスクの実行を取り消します。 詳細については、このページを参照してください。
    • 1 回の実行の出力を取得します 。1 つのジョブまたはタスクの実行の出力とメタデータを取得します。 詳細については、このページを参照してください。

Copilot Studio で Genie スペースに接続する

Von Bedeutung

この機能は パブリック プレビュー段階です

Von Bedeutung

この機能を使用する前に、次の操作を行います。

AI/BI Genie は、ビジネス チームが自然言語を使用してデータを操作できるようにする Azure Databricks 機能です。 Azure Databricks での Genie スペースの設定の詳細については、「 AI/BI Genie 空間とは」を参照してください。 Azure Databricks Genie スペースに明確な名前と説明を入力してください。

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

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

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

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

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

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

  6. 接続を構成します。

    1. ツールに名前を付けます。 よりわかりやすいツール名は、Copilot Studio エージェントが要求を調整するのに役立ちます。
    2. Genie Space ID を入力するか、ドロップダウン メニューから Genie スペースを選択します。
    3. On-Behalf-of (OBO) フローを使用するには、使用する 資格情報としてエンド ユーザー資格情報を選択します。 単一の ID を使用するには、 Maker で指定された資格情報を選択します
      • エンド ユーザーの資格情報については、接続パラメーターの共有を有効にするか、Microsoft のドキュメントを参照するか、ユーザーが Azure Databricks への既存の接続を持っている必要があります。 接続パラメーターの共有が有効になっていない場合、ユーザーは Power Apps で Azure Databricks への接続を作成する必要があります。
    4. ツールを保存します。
    5. (省略可能)構成画面のツール セクションを更新して、Genie スペースが接続されていることを確認します。
  7. 右上の [ 設定] をクリックします。 [ オーケストレーション ] セクションで、[ はい ] をクリックして、エージェントの応答に生成 AI オーケストレーションを使用します。

  8. (省略可能)Genie 対応の Copilot Studio エージェントを Microsoft Teams または Microsoft 365 に発行して、Genie の分析情報を他のユーザーに配布します。 エージェントを発行する方法については、 Microsoft のドキュメントを参照してください

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

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

Copilot Studio で Azure Databricks をナレッジ ソースとして使用する

知識ソースとして Azure Databricks データを Copilot Studio エージェントに追加するには、次の操作を行います。

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

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

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

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

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

  6. データのカタログ名を入力します。

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

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

Azure Databricks データを使用して Dataverse 仮想テーブルを作成する

Azure Databricks コネクタを使用して Dataverse 仮想テーブルを作成することもできます。 仮想テーブル (仮想エンティティとも呼ばれます) は、外部システムのデータを Microsoft Dataverse と統合します。 仮想テーブルは、物理テーブルを Dataverse データベースに格納せずに、Dataverse でテーブルを定義します。 仮想テーブルの詳細については、「仮想 テーブル (エンティティ) の概要」を参照してください。

仮想テーブルは Dataverse ストレージ容量を消費しませんが、パフォーマンスを向上させるために直接接続を使用することをお勧めします。

システム カスタマイザーまたはシステム管理者ロールが必要です。 詳細については、「 Power Platform のセキュリティ ロール」を参照してください。

Dataverse 仮想テーブルを作成するには、次の手順に従います。

  1. Power Apps のサイドバーで、[ テーブル] をクリックします。
  2. メニュー バーから [ + 新しいテーブル ] をクリックし、[ 仮想テーブルの作成] を選択します。
  3. 既存の Azure Databricks 接続を選択するか、Azure Databricks への新しい接続を作成します。 新しい接続を追加するには、「 手順 1: Power Platform に Azure Databricks 接続を追加する」を参照してください。
    • Databricks では、サービス プリンシパル接続を使用して仮想テーブルを作成することをお勧めします。
  4. [次へ] をクリックします。
  5. Dataverse 仮想テーブルとして表すテーブルを選択します。

    Dataverse 仮想テーブルには主キーが必要です。 キーは、GUID (文字列)、bigInt、または整数である必要があります。 ビューを仮想テーブルにすることはできませんが、具体化されたビューは作成できます。

  6. [次へ] をクリックします。
  7. 必要に応じて、テーブルの詳細を更新して、仮想テーブルを構成します。
  8. [次へ] をクリックします。
  9. データ ソースの詳細を確認し、[ 完了] をクリックします。
  10. Power Apps、Power Automate、Copilot Studio で Dataverse 仮想テーブルを使用します。

Dataverse 仮想テーブルの既知の制限事項の一覧については、「 既知の制限事項とトラブルシューティング」を参照してください。

仮想テーブルまたは直接接続を使用する必要がありますか?

Dataverse 仮想テーブルと直接接続には、さまざまな利点があります。 選択する方法は、ユース ケースによって異なります。 次の表は、各メソッドの主な機能をまとめたものです。

データ アクセス方法 OAuth を使用したエンドユーザー資格情報のパススルー ゼロコピー Read Azure Databricks への書き込み Canvas Apps モデル駆動型アプリ
直接接続
Dataverse 仮想テーブル

バッチ更新を実施する

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

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

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

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

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

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

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

    ForAll(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);

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

Azure Databricks をデータ ポリシーに追加する

Azure Databricks をビジネス データ ポリシーに追加すると、Azure Databricks は他のグループのコネクタとデータを共有できません。 これにより、データが保護され、データへのアクセス権を持たないユーザーとデータが共有されなくなります。 詳細については、「 データ ポリシーの管理」を参照してください。

Azure Databricks コネクタを Power Platform データ ポリシーに追加するには:

  1. Power Platform アプリケーションで、右上にある設定歯車をクリックし、[ 管理センター] をクリックします。
  2. サイドバーで、[ポリシー]>[データ ポリシー]をクリックします。
    • 新しい管理センターを使用している場合は、[ セキュリティ>データとプライバシー>Data ポリシー] をクリックします。
  3. [ + 新しいポリシー ] または既存のポリシーをクリックします。
  4. 新しいポリシーを作成する場合は、名前を入力します。
  5. ポリシーに追加する環境を選択し、上記の [ + ポリシーに追加] をクリックします。
  6. [次へ] をクリックします。
  7. Azure Databricks コネクタを検索してクリックします。
  8. [ ビジネスに移動 ] をクリックし、[ 次へ] をクリックします。
  9. ポリシーを確認し、[ポリシーの 作成] をクリックします。

制限事項

  • Power Platform コネクタは、政府機関向けクラウドをサポートしていません。

Copilot Studio の制限事項

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

Power Apps の制限事項

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

カテゴリ 計算式
テーブル関数
  • GroupBy
  • Distinct
集約
  • CountRows
  • StdevP
  • StdevS