KafkaEventPublisher¶
- class safir.metrics.KafkaEventPublisher(*, application, manager, event_class, publisher, schema_info)¶
- Bases: - EventPublisher,- Generic[- P]- Publishes one type of event. - You shouldn’t need to instantiate instances of this class yourself. Instead, call - create_publisher. This object wraps a FastStream publisher, schema information, and the underlying event manager that will be used to publish events.- Parameters:
- application ( - str) – Name of the application publishing events.
- manager ( - KafkaEventManager) – The EventManager that will actually publish the event to Kafka
- event_class ( - type[- AvroBaseModel]) – An- AvroBaseModelwith the fields from the payload,- EventMetadata, and an inner- Metaclass with additional schema configuration.
- publisher ( - AsyncAPIDefaultPublisher) – FastStream publisher to use to publish the event to Kafka. This contains Kafka metadata, like the topic to publish to.
- schema_info ( - SchemaInfo) – Confluent schema information for this event type.
 
 - Methods Summary - publish(payload)- Publish an event payload. - Methods Documentation - async publish(payload)¶
- Publish an event payload. - Parameters:
- payload ( - TypeVar(- P, bound=- EventPayload)) – Payload to publish.
- Returns:
- Full, enriched-with-metadata event model that was published. This will be an object of a class derived from both the type of the payload and - EventMetadata, but it is typed as the latter since that is the newly-added information that may be of interest to the caller and therefore the most likely to be accessed.
- Return type: