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

Use o notebookutils.businessEvents módulo para publicar eventos empresariais a partir de um caderno Fabric. Pode publicar um único evento ou um lote de eventos que seguem um esquema de eventos de negócio num conjunto de esquemas de eventos.

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

A tabela seguinte lista os métodos disponíveis:

Method Signature Description
help help(methodName: str = '') -> None Apresenta a ajuda do módulo ou do 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 no 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 uma carga útil que corresponda ao esquema de um evento empresarial:

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 descreve os parâmetros:

Parameter 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 publicar.
eventData Dicionário ou lista de dicionários O conteúdo do evento. Cada dicionário deve estar em conformidade com o esquema de eventos de negócio selecionado.
dataVersion String A versão do esquema de eventos de negócio. A predefinição é v1.

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

Publicar vários eventos de negócio

Para publicar múltiplos eventos do mesmo tipo numa só 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.

Considerações

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