ksqldb_connector

package
v0.3.0-beta.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteTableQuery

func DeleteTableQuery(data deleteMeterTableQueryData) (string, error)

func GetTableDescribeQuery

func GetTableDescribeQuery(meter *models.Meter, namespace string) (string, error)

func GetTableQuery

func GetTableQuery(data meterTableQueryData) (string, error)

func GetTableValuesQuery

func GetTableValuesQuery(meter *models.Meter, params *streaming.GetValuesParams, namespace string) (string, error)

func MeterQueryAssert

func MeterQueryAssert(query string, data meterTableQueryData) error

func NewMeterValues

func NewMeterValues(header ksqldb.Header, payload ksqldb.Payload) ([]*models.MeterValue, error)

Types

type KsqlDBConnector

type KsqlDBConnector struct {
	// contains filtered or unexported fields
}

func NewKsqlDBConnector

func NewKsqlDBConnector(ksqldbClient *ksqldb.KsqldbClient, partitions int, format string, logger *slog.Logger) (*KsqlDBConnector, error)

func (*KsqlDBConnector) CreateMeter

func (c *KsqlDBConnector) CreateMeter(ctx context.Context, namespace string, meter *models.Meter) error

func (*KsqlDBConnector) DeleteMeter

func (c *KsqlDBConnector) DeleteMeter(ctx context.Context, namespace string, meterSlug string) error

func (*KsqlDBConnector) MeterAssert

func (c *KsqlDBConnector) MeterAssert(ctx context.Context, data meterTableQueryData) error

MeterAssert ensures meter table immutability by checking that existing meter table is the same as new

func (*KsqlDBConnector) QueryMeter

func (c *KsqlDBConnector) QueryMeter(ctx context.Context, namespace string, meter *models.Meter, params *streaming.GetValuesParams) ([]*models.MeterValue, error)

type NamespaceHandler

type NamespaceHandler struct {
	KsqlDBClient *ksqldb.KsqldbClient

	// NamespacedTopicTemplate needs to contain at least one string parameter passed to fmt.Sprintf.
	// For example: "om_%s_events"
	NamespacedEventsTopicTemplate string

	// NamespacedDetectedEventsTopicTemplate needs to contain at least one string parameter passed to fmt.Sprintf.
	// For example: "om_%s_detected_events"
	NamespacedDetectedEventsTopicTemplate string

	Format        string
	KeySchemaID   int
	ValueSchemaID int
	Partitions    int
}

NamespaceHandler is a namespace handler for Kafka ingest topics.

func (NamespaceHandler) CreateNamespace

func (h NamespaceHandler) CreateNamespace(ctx context.Context, namespace string) error

CreateNamespace implements the namespace handler interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL