NotebookUtils verktyg för affärshändelser för Fabric

Använd modulen notebookutils.businessEvents för att publicera affärshändelser från en Fabric-anteckningsbok. Du kan publicera en enskild händelse eller en batch av händelser som följer ett affärshändelseschema i ett händelseschema.

Business Event Tools finns tillgängliga i Python 3.12 och PySpark (Python) notebooks.

Följande tabell listar de tillgängliga metoderna:

Method Signature Description
help help(methodName: str = '') -> None Visar hjälp för modulen eller den angivna metoden.
publish publish(eventSchemaSetWorkspace: str, eventSchemaSet: str, eventTypeName: str, eventData: Union[Dict[str, Any], List[Dict[str, Any]]], dataVersion: str = 'v1') -> bool Publicerar ett eller flera affärsevenemang till den angivna händelsetypen.

Få hjälp

Kör följande kommando för att få en översikt av modulen:

notebookutils.businessEvents.help()

För att få hjälp med metoden publish , ange metodnamnet:

notebookutils.businessEvents.help("publish")

Publicera ett affärsevenemang

Använd publish() för att skicka en nyttolast som matchar schemat för en affärshändelse:

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

print(f"Published: {published}")

I följande tabell beskrivs parametrarna:

Parameter Type Description
eventSchemaSetWorkspace String Namnet eller ID:t på arbetsytan som innehåller händelseschemaset.
eventSchemaSet String Namnet eller ID:t på händelseschemasetet.
eventTypeName String Namnet på affärsevenemanget som ska publiceras.
eventData Ordbok eller lista över ordböcker Händelsens nyttolast. Varje ordbok måste följa det valda affärshändelseschemat.
dataVersion String Versionen av affärshändelseschemat. Standardvärdet är v1.

Metoden återvänder True när evenemanget publiceras framgångsrikt. Om händelsen inte kan publiceras utlöser metoden ett undantag.

Publicera flera affärsevenemang

För att publicera flera händelser av samma typ i ett anrop, skicka en lista med ordböcker till 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}")

Alla nyttolaster i listan måste följa schemaversionen specificerad av dataVersion.

Considerations

  • Skapa affärshändelsetypen och dess schema innan du publicerar händelser från en anteckningsbok.
  • Använd antingen namn eller ID:n för eventSchemaSetWorkspace och eventSchemaSet.
  • Anpassa egenskapsnamnen, datatyperna och de obligatoriska fälten i eventData till den valda schemaversionen.
  • Hantera undantag från publish() så att notebook- och pipeline-körningar rapporterar publiceringsfel.