NotebookUtils-hulpprogramma's voor bedrijfsgebeurtenissen in Fabric

Gebruik de notebookutils.businessEvents module om zakelijke gebeurtenissen te publiceren vanuit een Fabric-notitieboek. Je kunt een enkel event of een batch events publiceren die een business event schema volgen in een event schema set.

De business event utilities zijn beschikbaar in Python 3.12 en PySpark (Python) notebooks.

De volgende tabel geeft een overzicht van de beschikbare methoden:

Method Signature Description
help help(methodName: str = '') -> None Toont help voor de module of de opgegeven methode.
publish publish(eventSchemaSetWorkspace: str, eventSchemaSet: str, eventTypeName: str, eventData: Union[Dict[str, Any], List[Dict[str, Any]]], dataVersion: str = 'v1') -> bool Publiceert één of meer zakelijke evenementen naar het opgegeven evenementtype.

Hulp krijgen

Voer het volgende commando uit om een overzicht van de module te krijgen:

notebookutils.businessEvents.help()

Om hulp te krijgen voor de publish methode, specificeer je de methodnaam:

notebookutils.businessEvents.help("publish")

Publiceer een zakelijk evenement

Note

Business Events publiceren in verschillende regio's wordt ondersteund. Het publisher-item hoeft niet in dezelfde regio te zitten als het Event Schema Set-item dat het zakelijke event bevat. Bestaande rechten en netwerktoegangsvereisten blijven van toepassing.

Gebruik publish() om een payload te sturen die overeenkomt met het schema van een bedrijfsgebeurtenis:

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

print(f"Published: {published}")

In de volgende tabel worden de parameters beschreven:

Parameter Type Description
eventSchemaSetWorkspace String De naam of ID van de werkruimte die de event schema set bevat.
eventSchemaSet String De naam of ID van de event schema set.
eventTypeName String De naam van het type bedrijfsevenement dat gepubliceerd moet worden.
eventData Woordenboek of lijst van woordenboeken De evenementlading. Elk woordenboek moet voldoen aan het gekozen business event schema.
dataVersion String De versie van het schema voor bedrijfsgebeurtenissen. De standaardwaarde is v1.

De methode retourneert True als het evenement succesvol wordt gepubliceerd. Als het evenement niet gepubliceerd kan worden, veroorzaakt de methode een uitzondering.

Publiceer meerdere zakelijke evenementen

Om meerdere gebeurtenissen van hetzelfde type in één aanroep te publiceren, geef je een lijst met woordenboeken door aan 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}")

Alle payloads in de lijst moeten voldoen aan de schemaversie die door dataVersionis gespecificeerd.

Overwegingen

  • Maak het type business event en het schema aan voordat je events uit een notebook publiceert.
  • Gebruik ofwel namen of ID's voor eventSchemaSetWorkspace en eventSchemaSet.
  • Stem de eigenschapsnamen, gegevenstypen en verplichte velden in eventData af op de geselecteerde schemaversie.
  • Verwerk uitzonderingen van publish() zodat notebook- en pipeline-runs mislukkingen bij het publiceren melden.