Utilitaires d’événements professionnels NotebookUtils pour Fabric

Utilisez le notebookutils.businessEvents module pour publier des événements métier depuis un carnet Fabric. Vous pouvez publier un événement unique ou un lot d’événements qui suivent un schéma d’événement métier dans un ensemble de schémas d’événements.

Les utilitaires d’événements métier sont disponibles dans les notebooks Python 3.12 et PySpark (Python).

Le tableau suivant liste les méthodes disponibles :

Method Signature Description
help help(methodName: str = '') -> None Affiche l’aide pour le module ou la méthode spécifiée.
publish publish(eventSchemaSetWorkspace: str, eventSchemaSet: str, eventTypeName: str, eventData: Union[Dict[str, Any], List[Dict[str, Any]]], dataVersion: str = 'v1') -> bool Publie un ou plusieurs événements professionnels dans le type d’événement spécifié.

Obtenir de l’aide

Exécutez la commande suivante pour avoir un aperçu du module :

notebookutils.businessEvents.help()

Pour obtenir de l’aide pour la publish méthode, spécifiez le nom de la méthode :

notebookutils.businessEvents.help("publish")

Publiez un événement professionnel

Utilisez publish() pour envoyer une charge utile correspondant au schéma d’un événement métier :

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

print(f"Published: {published}")

Le tableau suivant décrit les paramètres :

Parameter Type Description
eventSchemaSetWorkspace String Le nom ou l’identifiant de l’espace de travail contenant l’ensemble de schémas d’événements.
eventSchemaSet String Le nom ou l’ID de l’ensemble de schéma d’événements.
eventTypeName String Le nom du type d’événement professionnel à publier.
eventData Dictionnaire ou liste de dictionnaires La charge utile de l’événement. Chaque dictionnaire doit se conformer au schéma d’événements métier sélectionné.
dataVersion String La version du schéma d’événements métier. La valeur par défaut est v1.

La méthode revient True lorsque l’événement est publié avec succès. Si l’événement ne peut pas être publié, la méthode crée une exception.

Publiez plusieurs événements professionnels

Pour publier plusieurs événements du même type en un seul appel, passez une liste de dictionnaires à 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}")

Toutes les charges utiles de la liste doivent se conformer à la version du schéma spécifiée par dataVersion.

Considérations

  • Créez le type d’événement métier et son schéma avant de publier les événements depuis un carnet.
  • Utilisez soit des noms soit des identifiants pour eventSchemaSetWorkspace et eventSchemaSet.
  • Associez les noms de propriétés, types de données et champs eventData requis à la version du schéma sélectionnée.
  • Gérer les exceptions de publish() afin que les exécutions de notebooks et de pipelines signalent les échecs de publication.