Utilitários de eventos de negócios do NotebookUtils para Fabric

Use o notebookutils.businessEvents módulo para publicar eventos de negócios a partir de um notebook Fabric. Você pode publicar um único evento ou um lote de eventos que seguem um esquema de evento de negócio em um conjunto de esquemas de eventos.

Os utilitários de eventos de negócios estão disponíveis nos notebooks Python 3.12 e PySpark (Python).

A tabela a seguir lista os métodos disponíveis:

Method Signature Description
help help(methodName: str = '') -> None Exibe ajuda para o módulo ou para o método especificado.
publish publish(eventSchemaSetWorkspace: str, eventSchemaSet: str, eventTypeName: str, eventData: Union[Dict[str, Any], List[Dict[str, Any]]], dataVersion: str = 'v1') -> bool Publica um ou mais eventos empresariais para o tipo de evento especificado.

Obter ajuda

Execute o seguinte comando para obter uma visão geral do módulo:

notebookutils.businessEvents.help()

Para obter ajuda para o publish método, especifique o nome do método:

notebookutils.businessEvents.help("publish")

Publique um evento empresarial

Use publish() para enviar um payload que corresponda ao esquema de um evento de negócio:

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

print(f"Published: {published}")

A tabela a seguir lista os parâmetros:

Parâmetro Tipo Description
eventSchemaSetWorkspace String O nome ou ID do espaço de trabalho que contém o conjunto de esquemas de eventos.
eventSchemaSet String O nome ou ID do conjunto de esquemas de eventos.
eventTypeName String O nome do tipo de evento empresarial a ser publicado.
eventData Dicionário ou lista de dicionários O payload do evento. Cada dicionário deve estar em conformidade com o esquema de eventos de negócios selecionado.
dataVersion String A versão do esquema de eventos de negócios. O padrão é v1.

O método retorna True quando o evento é publicado com sucesso. Se o evento não puder ser publicado, o método gera uma exceção.

Publique múltiplos eventos empresariais

Para publicar múltiplos eventos do mesmo tipo em uma chamada, passe uma lista de dicionários para 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}")

Todos os payloads na lista devem estar em conformidade com a versão do esquema especificada por dataVersion.

Considerations

  • Crie o tipo de evento de negócio e seu esquema antes de publicar eventos a partir de um notebook.
  • Use nomes ou IDs para eventSchemaSetWorkspace e eventSchemaSet.
  • Corresponda os nomes das propriedades, os tipos de dados e os campos obrigatórios em eventData à versão de esquema selecionada.
  • Trate exceções de publish() para que as execuções de notebook e de pipeline relatem falhas de publicação.