ジョブ向けの Power BI タスク

Von Bedeutung

Power BI タスク機能は パブリック プレビュー段階です

Azure Databricks ワークスペースから Microsoft Power BI Online に手動で発行できますが、Power BI タスクを使用して Power BI セマンティック モデルを自動的に調整できます。

Azure Databricks UI での Power BI への発行の詳細については、「 Azure Databricks から Power BI サービスに発行する」を参照してください。

Requirements

Power BI タスクを構成する

Power BI 接続を構成したら、その接続を使用して発行を自動化するタスクを作成できます。

Note

ジョブ UI には、その他の構成済みの設定に基づいてオプションが動的に表示されます。

Power BI タスクを構成するフローを開始するには:

  1. タスクを追加する ジョブ の [ジョブ] UI の [タスク] タブに移動します。
  2. [ プラス] アイコンをクリックします。タスクを追加します
  3. タスク名を入力します。
  4. [ 種類 ] ドロップダウン メニューで、[ Power BI] を選択します。
  5. タスクのプロパティを構成します (プロパティとその使用方法については、次の表を参照してください)。
  6. (省略可能)再試行、実行期間、ストリーミング バックログのしきい値、または通知を構成するには、「 タスクの詳細設定」を参照してください。
  7. [タスクの保存] をクリックします。

Note

Databricks では、Azure Databricks サービス プリンシパルをタスクの実行 ID 設定することをお勧めします。 ベスト プラクティスについては、「 ジョブ ガバナンスのベスト プラクティス」を参照してください。 サービス プリンシパルには、タスクで使用される Databricks テーブル、スキーマ、Power BI 接続、および SQL ウェアハウスにアクセスするために必要な特権が必要です。

タスクを編集する場合、現在のユーザーの資格情報が使用されますが、タスクの実行時には 、実行 ID が使用されます。 ID には、タスクを実行するための適切な特権が必要です。

Power BI タスク プロパティ 説明
SQL ウェアハウス インポート モードで更新を処理する SQL ウェアハウス、またはセマンティック モデルの DirectQuery モードのクエリ。 Power BI タスクには SQL ウェアハウスが必要です。 汎用コンピューティングはサポートされていません。
Power BI 接続 このタスクの Power BI 接続。 このタスクでは、この接続を使用して Power BI ワークスペースとセマンティック モデルをフェッチし、Power BI に発行します。 オーケストレーションについては、「 Unity カタログで Power BI 接続を作成する」を参照してください。
Power BI ワークスペース セマンティック モデルが発行される Power BI ワークスペース。
Power BI セマンティック モデル 発行対象の Power BI セマンティック モデル。 既存のモデルを選択するか、新しいモデル名を入力し、[ Publish new semantic model <name>] をクリックします。
既存のモデルを上書きする 既定では、メタデータの更新は既存のモデルにのみ追加されます。 このチェック ボックスをオンにすると、タスクの実行時にすべてのメタデータとデータ更新が Power BI セマンティック モデルに伝達されます。
Power BI クエリ モード パブリッシュされるテーブルの既定のクエリ モード。 DirectQuery を選択すると、[テーブル クエリ モードの構成] プロパティを使用して、個々のテーブルに対してクエリ モードを設定することもできます。 次のいずれかの値:
  • 輸入 モデルのデータは Power BI にキャッシュされます。 データを更新するには、使用する前にモデルを更新する必要があります。このモデルは、SQL ウェアハウスにクエリを実行してデータを読み込みます。
  • DirectQuery データは Power BI に格納されません。 ユーザーがダッシュボードを作成または読み込むと、SQL ウェアハウスに最新のデータが照会されます。

Power BI クエリ モードは、Power BI ではストレージ モードとも呼ばれます。 クエリ モードの詳細については、「 Power BI サービスのセマンティック モデル モード」を参照してください。
更新するテーブル セマンティック モデルのソース テーブルとスキーマ。 このプロパティのスキーマを選択した場合、タスクを実行すると、その時点のスキーマのすべてのテーブルが更新に使用されます。 このタスクは、新しいテーブル、列、コメント、および主キー/外部キーのリレーションシップを更新します。
認証方法 選択した SQL ウェアハウスに対するセマンティック モデルの認証方法を定義します。 OAuth を使用する場合、最初のタスクの実行後に Power BI で資格情報を構成する必要がある場合があります。 もしPower BIのUIで設定のサービスプリンシパル認証情報を設定できない場合は、「REST APIで認証情報を設定する」をご覧ください。 PAT を使用する場合、Run as ID 用の PAT が生成されて埋め込まれます。
テーブル クエリ モードを構成する Power BI クエリ モードとして DirectQuery が選択されている場合は、必要に応じて、デュアル ストレージ モードを使用するように個々のテーブルを設定できます。 デュアル ストレージ モードに設定されたテーブルは、クエリのコンテキストに応じて、インポート モードまたは DirectQuery モードとして機能できます。
詳細については、「 Power BI サービスのセマンティック モデル モード」を参照してください。
更新後に更新する このオプションは、[ インポート] がクエリ モードとして選択されている場合に使用できます。 既定では、モデル メタデータのみが更新されますが、このチェック ボックスをオンにすると、データ更新もトリガーされます (SQL ウェアハウスに対してクエリを実行します)。 この更新は、Power BI の更新履歴で確認できます。

このタスクを編集、複製、無効化、または削除するには、「 Lakeflow ジョブのタスクの構成と編集」を参照してください。

REST APIで認証情報を設定する

Power BI UIではなくREST APIでセマンティックモデルのサービスプリンシパル認証情報を設定するには、Microsoft Fabric Connections APIまたはPower BI REST APIのいずれかを使用します。

  • Microsoft Fabric Connections APIは接続に認証情報を設定し、クラウド、オンプレミスデータゲートウェイ、VNetデータゲートウェイのすべての接続タイプに対応します。
  • Microsoft Power BI REST APIはデータソースに認証情報を設定します。 オンプレミスのデータゲートウェイ接続やクラウドデータソースで動作します。

Azure Databricksサービスプリンシパルで認証するには、サービスプリンシパルのアプリケーションIDをユーザー名、そのシークレットをパスワードとしてBasic認証情報を使用します。

Microsoft Fabric Connections API

Microsoft Fabric Connections APIを使って、セマンティックモデルが使用する接続の認証情報を更新してください。 Fabric APIにはMicrosoft Entra IDのアクセストークンが必要で、使用するIDには接続の権限(またはゲートウェイ接続の場合はPower BIのゲートウェイ管理者権限)が必要です。 トークンの取得方法については、Microsoft Fabric REST APIのドキュメントをご覧ください。

手順は、Power BIがクラウド接続で接続しているかオンプレミスのデータゲートウェイで接続しているかによって異なります。

クラウド接続

  1. アイデンティティがアクセスできる接続をリストアップし、Azure Databricks SQLウェアハウスのShareableCloud接続を見つけてください。 idに注意してください。

    GET https://api.fabric.microsoft.com/v1/connections
    

    詳細については、Microsoftのリスト接続に関するドキュメントをご覧ください。

  2. 接続 idを使って接続の認証情報を更新してください。 サービス プリンシパルの資格情報を直接渡します。

    PATCH https://api.fabric.microsoft.com/v1/connections/{connectionId}
    
    {
      "connectivityType": "ShareableCloud",
      "credentialDetails": {
        "credentials": {
          "credentialType": "Basic",
          "username": "<service-principal-application-id>",
          "password": "<service-principal-secret>"
        }
      }
    }
    

    詳細はMicrosoftのUpdate Connectionドキュメントをご覧ください。

オンプレミス データ ゲートウェイ

  1. アイデンティティがアクセスできる接続をリストアップし、Azure Databricks SQLウェアハウスのOnPremisesGateway接続を見つけてください。 idgatewayIdに注目してください。

    GET https://api.fabric.microsoft.com/v1/connections
    

    詳細については、Microsoftのリスト接続に関するドキュメントをご覧ください。

  2. 接続の gatewayId を使ってゲートウェイの公開鍵を取得してください:

    GET https://api.fabric.microsoft.com/v1/gateways/{gatewayId}
    

    詳細については、MicrosoftのGet Gatewayドキュメントをご覧ください。

  3. サービスプリンシパルの認証情報をゲートウェイの公開鍵で暗号化します。 詳細については、Microsoftの「認証情報をプログラム的に構成する」ドキュメントをご覧ください。

  4. 最初のステップで使った接続 id を使って接続を更新します。 ゲートウェイメンバーごとに1つの values エントリーを送信してください:

    PATCH https://api.fabric.microsoft.com/v1/connections/{connectionId}
    
    {
      "connectivityType": "OnPremisesGateway",
      "credentialDetails": {
        "credentials": {
          "credentialType": "Basic",
          "values": [
            {
              "gatewayId": "<gateway-id>",
              "encryptedCredentials": "<encrypted credential data>"
            }
          ]
        }
      }
    }
    

    詳細はMicrosoftのUpdate Connectionドキュメントをご覧ください。

VNetデータゲートウェイ(VirtualNetworkGateway)などの他の接続タイプは、同じエンドポイントにそのタイプの認証ペイロードを使用します。 リクエストスキーマの詳細については、MicrosoftのUpdate Connectionに関するドキュメントをご覧ください。

Power BI REST API

また、Power BI REST APIを使ってデータソースの認証情報を更新することもできます。 Power BI REST APIにはMicrosoft Entra IDアクセストークンが必要です。 Power BIがクラウドデータソース経由で接続する場合でもオンプレミスのデータゲートウェイ経由で接続する場合でも手順は同じですが、要件は異なります。

  • クラウドデータソース(ゲートウェイなし):セマンティックモデルの所有者である必要があります。 認証情報を直接送信し、 encryptionAlgorithmNoneに設定してください。
  • オンプレミスデータゲートウェイ:ゲートウェイ管理者権限が必要です。 ゲートウェイの公開鍵で認証情報を暗号化し、 encryptionAlgorithmRSA-OAEPに設定します。
  1. セマンティックモデルのデータソースを取得し、Azure Databricksのデータソースを探してください。 datasourceIdgatewayIdに注目してください。 Power BIクラウドデータソースを自動プロビジョニングされたクラウドゲートウェイにバインドするため、オンプレミスゲートウェイがなくてもgatewayIdが存在することになります。

    GET https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/datasources
    

    詳細はMicrosoftの「Get Datasources」ドキュメントをご覧ください。

  2. そのデータソースの認証情報を更新し、接続タイプに合わせて encryptionAlgorithm を設定してください。 以下の例はクラウドデータソースで、 encryptionAlgorithmNoneに設定されている場合です。

    PATCH https://api.powerbi.com/v1.0/myorg/gateways/{gatewayId}/datasources/{datasourceId}
    
    {
      "credentialDetails": {
        "credentialType": "Basic",
        "credentials": "{\"credentialData\":[{\"name\":\"username\",\"value\":\"<service-principal-application-id>\"},{\"name\":\"password\",\"value\":\"<service-principal-secret>\"}]}",
        "encryptedConnection": "Encrypted",
        "encryptionAlgorithm": "None",
        "privacyLevel": "None"
      }
    }
    

    オンプレミスデータゲートウェイの場合、認証情報をゲートウェイの公開鍵で暗号化し、 credentials 値を暗号化したデータに置き換え、 encryptionAlgorithmRSA-OAEPに設定します。

    詳細については、MicrosoftのUpdate Datasourceドキュメントをご覧ください。 ゲートウェイ公開鍵を取得し、認証情報を暗号化するPowerShellの例については、 Databricks M2M OAuth認証情報管理サンプルをご覧ください。 認証情報の暗号化の詳細については、Microsoftの「認証情報をプログラム的に構成する」ドキュメントをご覧ください。

Troubleshooting

Power BI タスクによって更新されている間は、Power BI サービスのセマンティック モデルを編集しないでください。 これを行うと、モデルが保留中の変更のままになる可能性があります。

Power BIへの発行のトラブルシューティングについては、「Power BIへの発行のトラブルシューティング」を参照してください。 問題が解決しない場合は、製品フィードバックを送信できます。 製品フィードバックの送信を参照してください。

その他のリソース