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

ジョブ用Power BIタスク

備考

プレビュー

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

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

Databricks UI で Power BI に公開することについて詳しくは、DatabricksからPower BIサービスに公開するを参照してください。

要件

Power BIタスクを構成する

Power BI接続が設定済みであれば、その接続を使用して公開を自動化するタスクを作成できます。

注記

ジョブUIは、その他の設定に基づいてオプションを動的に表示します。

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

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

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

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

Power BIタスクプロパティ

説明

SQLウェアハウス

セマンティックモデルの**インポート**モードでの更新、または**DirectQuery**モードでのクエリを処理するSQLウェアハウス。 Power BI タスクにはSQLウェアハウスが必要です。汎用コンピュートはサポートされていません。

Power BI接続

このタスクのPower BI接続。タスクはこの接続を使用してPower BIワークスペースとセマンティックモデルを取得し、Power BIに発行します。詳細については、オーケストレーションのためにUnity CatalogでPower BI接続を作成するを参照してください。

Power BIワークスペース

セマンティックモデルが公開されているPower BIワークスペース。

Power BIセマンティックモデル

公開するPower BIセマンティックモデル既存のモデルを選択するか、新しいモデル名を入力して [ 新しいセマンティック モデル <name> を公開 ] をクリックします。

既存のモデルを上書き

デフォルトでは、メタデータの更新は既存のモデルにのみ追加されます。このチェックボックスをオンにすると、タスクが実行されたときに、すべてのメタデータとデータの更新がPower BIセマンティックモデルに伝播されます。

Power BIクエリーモード

公開されるテーブルのデフォルトのクエリ モード DirectQuery が選択されている場合、 テーブルクエリモードの構成 プロパティを使用して個々のテーブルでクエリモードを設定することもできます。次のいずれかの値:

  • Import モデルのデータは Power BI にキャッシュされます。データを更新するには、ユーザーはモデルを使用する前にモデルを更新する必要があり、モデルによって SQLウェアハウスにクエリが実行され、データがロードされます。
  • **DirectQuery** データはPower BIには格納されません。ユーザーがダッシュボードを作成またはロードすると、SQLウェアハウスに対して最新のデータがクエリされます。

Power BIのクエリモードは、Power BIのストレージモードとも呼ばれます。クエリモードに関する詳細情報については、Power BIサービスにおけるセマンティックモデルモードを参照してください。

更新するテーブル

セマンティックモデルのソーステーブルとスキーマ。このプロパティのスキーマを選択すると、タスクを実行したときに、その時点でのスキーマ配下のすべてのテーブルが更新に使用されます。タスクは、新しいテーブル、カラム、コメント、主キー/外部キー関係を更新します。

認証方法

セマンティックモデルが選択したSQLウェアハウスに対して認証する方法を定義します。OAuthを使用する場合、最初のタスクの実行後にPower BIで認証情報を設定する必要がある場合があります。構成のためにPower BI UIでService Principalの資格情報を設定できない場合は、「REST APIを使用した資格情報の構成」を参照してください。PATを使用する場合、 IDとしてラン するためのPATが生成されて埋め込まれます。

テーブルクエリーモードを設定する

Power BI クエリ モード として DirectQuery が選択されている場合は、必要に応じて、 デュアル ストレージ モードを使用するように個々のテーブルを設定できます。 デュアル ストレージ モードに設定されたテーブルは、クエリのコンテキストに応じて、 Import モードまたは DirectQuery モードとして機能できます。

詳細については、Power BIサービスにおけるセマンティックモデルモードを参照してください。

更新後にリフレッシュしてください。

このオプションは、クエリ モードとして Import が選択されている場合に使用できます。デフォルトでは、モデルのメタデータのみが更新されますが、このチェックボックスをオンにすると、データ更新もトリガーされます(これにより、 SQLウェアハウスがクエリされます)。この更新は、Power BI の更新履歴で確認できます。

Power BIタスクプロパティ

説明

SQLウェアハウス

セマンティックモデルの**インポート**モードでの更新、または**DirectQuery**モードでのクエリを処理するSQLウェアハウス。 Power BI タスクにはSQLウェアハウスが必要です。汎用コンピュートはサポートされていません。

Power BI接続

このタスクのPower BI接続。タスクはこの接続を使用してPower BIワークスペースとセマンティックモデルを取得し、Power BIに発行します。詳細については、オーケストレーションのためにUnity CatalogでPower BI接続を作成するを参照してください。

Power BIワークスペース

セマンティックモデルが公開されているPower BIワークスペース。

Power BIセマンティックモデル

公開するPower BIセマンティックモデル既存のモデルを選択するか、新しいモデル名を入力して [ 新しいセマンティック モデル <name> を公開 ] をクリックします。

既存のモデルを上書き

デフォルトでは、メタデータの更新は既存のモデルにのみ追加されます。このチェックボックスをオンにすると、タスクが実行されたときに、すべてのメタデータとデータの更新がPower BIセマンティックモデルに伝播されます。

Power BIクエリーモード

公開されるテーブルのデフォルトのクエリ モード DirectQuery が選択されている場合、 テーブルクエリモードの構成 プロパティを使用して個々のテーブルでクエリモードを設定することもできます。次のいずれかの値:

  • Import モデルのデータは Power BI にキャッシュされます。データを更新するには、ユーザーはモデルを使用する前にモデルを更新する必要があり、モデルによって SQLウェアハウスにクエリが実行され、データがロードされます。
  • **DirectQuery** データはPower BIには格納されません。ユーザーがダッシュボードを作成またはロードすると、SQLウェアハウスに対して最新のデータがクエリされます。

Power BIのクエリモードは、Power BIのストレージモードとも呼ばれます。クエリモードに関する詳細情報については、Power BIサービスにおけるセマンティックモデルモードを参照してください。

更新するテーブル

セマンティックモデルのソーステーブルとスキーマ。このプロパティのスキーマを選択すると、タスクを実行したときに、その時点でのスキーマ配下のすべてのテーブルが更新に使用されます。タスクは、新しいテーブル、カラム、コメント、主キー/外部キー関係を更新します。

認証方法

セマンティックモデルが選択したSQLウェアハウスに対して認証する方法を定義します。OAuthを使用する場合、最初のタスクの実行後にPower BIで認証情報を設定する必要がある場合があります。構成のためにPower BI UIでService Principalの資格情報を設定できない場合は、「REST APIを使用した資格情報の構成」を参照してください。PATを使用する場合、 IDとしてラン するためのPATが生成されて埋め込まれます。

テーブルクエリーモードを設定する

Power BI クエリ モード として DirectQuery が選択されている場合は、必要に応じて、 デュアル ストレージ モードを使用するように個々のテーブルを設定できます。 デュアル ストレージ モードに設定されたテーブルは、クエリのコンテキストに応じて、 Import モードまたは DirectQuery モードとして機能できます。

詳細については、Power BIサービスにおけるセマンティックモデルモードを参照してください。

更新後にリフレッシュしてください。

このオプションは、クエリ モードとして Import が選択されている場合に使用できます。デフォルトでは、モデルのメタデータのみが更新されますが、このチェックボックスをオンにすると、データ更新もトリガーされます(これにより、 SQLウェアハウスがクエリされます)。この更新は、Power BI の更新履歴で確認できます。

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

REST APIを使用して資格情報を構成する

Power BI UI ではなく REST API を使用してセマンティックモデルの Service Principal 資格情報を設定するには、Microsoft Fabric Connections API または Power BI REST API のいずれかを使用します。

  • Microsoft Fabric Connections API は接続の認証情報を設定し、クラウド、オンプレミス データ ゲートウェイ、VNet データ ゲートウェイなど、すべての接続タイプで機能します。
  • Microsoft Power BI REST API は、データソースの認証情報を設定します。これは、オンプレミス データ ゲートウェイ接続およびクラウド データソースで機能します。

Databricks Service Principalで認証を行うには、Basic 資格情報タイプを使用し、Service PrincipalのアプリケーションIDをユーザー名として、そのシークレットをパスワードとして使用します。

Microsoft Fabric Connections API

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

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

クラウド接続

  1. IDがアクセスできる接続を一覧表示し、Databricks SQL warehouse用の ShareableCloud 接続を見つけます。その id をメモしておいてください。

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

    詳細については、「List Connections」に関するMicrosoftのドキュメントを参照してください。

  2. 接続 id を使用して、接続の認証情報を更新します。Service Principalの認証情報を直接渡します:

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

    詳細については、接続の更新に関する Microsoft のドキュメントを参照してください。

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

  1. IDがアクセスできる接続を一覧表示し、Databricks SQL warehouse用の OnPremisesGateway 接続を見つけます。その idgatewayId をメモしておいてください。

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

    詳細については、「List Connections」に関するMicrosoftのドキュメントを参照してください。

  2. 接続の gatewayId を使用して、ゲートウェイの公開鍵を取得します:

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

    詳細については、Get Gateway に関する Microsoft のドキュメントを参照してください。

  3. ゲートウェイの公開鍵を使用して、Service Principalの資格情報を暗号化します。詳細については、プログラムによる資格情報の設定に関するMicrosoftのドキュメントを参照してください。

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

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

    詳細については、接続の更新に関する Microsoft のドキュメントを参照してください。

VNet データゲートウェイ (VirtualNetworkGateway) などの他の接続タイプでは、そのタイプの資格情報ペイロードとともに同じ Endpoint を使用します。完全なリクエストスキーマについては、Update Connection に関する Microsoft のドキュメントを参照してください。

Power BI REST API

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

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

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

    詳細については、データソースの取得に関するMicrosoftのドキュメントを参照してください。

  2. そのデータソースの認証情報を更新し、接続タイプに encryptionAlgorithm を設定します。次の例はクラウドデータソース用で、encryptionAlgorithmNone に設定されています:

    HTTP
    PATCH https://api.powerbi.com/v1.0/myorg/gateways/{gatewayId}/datasources/{datasourceId}
    JSON
    {
    "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のドキュメントを参照してください。ゲートウェイの公開鍵を取得して資格情報を暗号化するPowerShellの例については、Databricks M2M OAuth資格情報管理サンプルを参照してください。資格情報の暗号化に関する詳細については、プログラムによる資格情報の設定に関するMicrosoftのドキュメントを参照してください。

トラブルシューティング

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

Power BIへの公開のトラブルシューティングに関する情報については、Troubleshoot publishing to Power BIを参照してください。それでも問題が解決しない場合は、製品フィードバックを送信できます。製品フィードバックを送信を参照してください。

その他のリソース