Kafka Endpoint
Connect with Confluent-compatible settings, SASL, TLS, and consumer group options.
SASL Mechanisms
All common SASL mechanisms are supported through endpoint configuration. For non-OAuth SASL modes, username is required and password may be empty (null is rejected).
Topics and Groups
Specify topic and consumer group for destination correlation.
Confluent Settings Map
Use ConfluentSettings dictionary to pass extra Kafka client properties directly to producer/consumer config when default fields are not enough.
SASL Advanced Fields
KafkaSaslOptions includes OAuthBearerTokenEndpointUrl for OAuth bearer mode and AdditionalSettings for mechanism-specific values.
Feature Usage Samples
How to use snippets for Kafka Endpoint.
Switch between C#, Java, Python, TypeScript, and JavaScript to see the native SDK shape for this sample.
Licensing note: every runnable sample requires a valid runner key via WithRunnerKey("...") or config key LoadStrike:RunnerKey.
Kafka Endpoint
var endpoint = new KafkaEndpointDefinition
{
Name = "kafka-out",
Mode = TrafficEndpointMode.Consume,
TrackingField = TrackingFieldSelector.Parse("header:X-Correlation-Id"),
BootstrapServers = "localhost:9092",
Topic = "orders.events",
ConsumerGroupId = "orders-tests"
};
var source = new KafkaEndpointDefinition();
source.name = "orders-in";
source.mode = LoadStrikeTransports.TrafficEndpointMode.Produce;
source.trackingField = TrackingFieldSelector.parse("json:$.trackingId");
source.bootstrapServers = "localhost:9092";
source.topic = "orders.in";
var destination = new KafkaEndpointDefinition();
destination.name = "orders-out";
destination.mode = LoadStrikeTransports.TrafficEndpointMode.Consume;
destination.trackingField = TrackingFieldSelector.parse("json:$.trackingId");
destination.bootstrapServers = "localhost:9092";
destination.topic = "orders.out";
destination.consumerGroupId = "orders-tests";
tracking = {
"Source": {
"Kind": "Kafka",
"Name": "orders-in",
"Mode": "Produce",
"TrackingField": "json:$.trackingId",
"BootstrapServers": "localhost:9092",
"Topic": "orders.in",
},
"Destination": {
"Kind": "Kafka",
"Name": "orders-out",
"Mode": "Consume",
"TrackingField": "json:$.trackingId",
"BootstrapServers": "localhost:9092",
"Topic": "orders.out",
"ConsumerGroupId": "orders-tests",
},
}
const tracking = {
Source: {
Kind: "Kafka",
Name: "orders-in",
Mode: "Produce",
TrackingField: "json:$.trackingId",
BootstrapServers: "localhost:9092",
Topic: "orders.in"
},
Destination: {
Kind: "Kafka",
Name: "orders-out",
Mode: "Consume",
TrackingField: "json:$.trackingId",
BootstrapServers: "localhost:9092",
Topic: "orders.out",
ConsumerGroupId: "orders-tests"
}
};
const tracking = {
Source: {
Kind: "Kafka",
Name: "orders-in",
Mode: "Produce",
TrackingField: "json:$.trackingId",
BootstrapServers: "localhost:9092",
Topic: "orders.in"
},
Destination: {
Kind: "Kafka",
Name: "orders-out",
Mode: "Consume",
TrackingField: "json:$.trackingId",
BootstrapServers: "localhost:9092",
Topic: "orders.out",
ConsumerGroupId: "orders-tests"
}
};
Body Example
Specifies the Kafka brokers the producer or consumer should connect to.
Specifies the Kafka topic used for produce or consume mode.
Required for consume mode so Kafka can track offsets for the LoadStrike consumer group.
Points to the header or body field that carries the correlation id.
Use SecurityProtocol, SASL settings, and ConfluentSettings when the broker requires authenticated or custom client configuration.
{ "trackingId": "trk-1", "status": "completed" }