NotebookUtilsのビジネスイベントユーティリティ(Fabric用)

notebookutils.businessEventsモジュールを使って、Fabricノートからビジネスイベントを公開しましょう。 ビジネスイベントスキーマに続く単一のイベントまたはイベントのバッチをイベントスキーマセットで公開できます。

ビジネスイベントユーティリティはPython 3.12およびPySpark(Python)ノートブックで利用可能です。

以下の表は利用可能な方法を示しています:

Method Signature [説明]
help help(methodName: str = '') -> None モジュールまたは指定されたメソッドのヘルプを表示します。
publish publish(eventSchemaSetWorkspace: str, eventSchemaSet: str, eventTypeName: str, eventData: Union[Dict[str, Any], List[Dict[str, Any]]], dataVersion: str = 'v1') -> bool 指定されたイベントタイプに対して1つ以上のビジネスイベントを公開します。

ヘルプを取得する

以下のコマンドを実行して、モジュールの概要を確認できます:

notebookutils.businessEvents.help()

publishメソッドの助けを得るには、メソッド名を指定してください:

notebookutils.businessEvents.help("publish")

ビジネスイベントを公開する

publish()を使って、ビジネスイベントのスキーマに合致するペイロードを送信します:

published = notebookutils.businessEvents.publish(
    eventSchemaSetWorkspace="ContosoWorkspace",
    eventSchemaSet="OrderEvents",
    eventTypeName="OrderDelayed",
    eventData={
        "orderId": "12345",
        "status": "delayed",
        "reason": "weather"
    },
    dataVersion="v1"
)

print(f"Published: {published}")

次の表で、パラメーターについて説明します。

Parameter タイプ [説明]
eventSchemaSetWorkspace String イベントスキーマセットを含むワークスペースの名前またはIDです。
eventSchemaSet String イベントスキーマセットの名前またはIDです。
eventTypeName String 公開するビジネスイベントの種類の名前。
eventData 辞書または辞書一覧 イベントのペイロードです。 各辞書は選択されたビジネスイベントスキーマに準拠しなければなりません。
dataVersion String ビジネスイベントスキーマのバージョンです。 既定値は v1 です。

イベントが正常に公開されるとメソッドは True に戻ります。 イベントを公開できない場合、メソッドは例外を発生させます。

複数のビジネスイベントを公開する

同じタイプの複数のイベントを1回の呼び出しで公開するには、辞書のリストを eventDataに渡します。

published = notebookutils.businessEvents.publish(
    eventSchemaSetWorkspace="ContosoWorkspace",
    eventSchemaSet="OrderEvents",
    eventTypeName="OrderDelayed",
    eventData=[
        {
            "orderId": "12345",
            "status": "delayed",
            "reason": "weather"
        },
        {
            "orderId": "12346",
            "status": "delayed",
            "reason": "traffic"
        }
    ],
    dataVersion="v1"
)

print(f"Published: {published}")

リスト内のすべてのペイロードは dataVersionで指定されたスキーマバージョンに準拠しなければなりません。

考慮事項

  • ノートブックからイベントを公開する前に、ビジネスイベントタイプとそのスキーマを作成しましょう。
  • eventSchemaSetWorkspaceeventSchemaSetには名前かIDを使いましょう。
  • eventDataのプロパティ名、データ型、必要項目を選択したスキーマバージョンに合わせます。
  • publish()からの例外を処理し、ノートブックとパイプラインが公開失敗を報告できるようにします。