-
Notifications
You must be signed in to change notification settings - Fork 0
API Workflow
synthaicode edited this page Oct 25, 2025
·
2 revisions
Purpose: A concise checklist for getting started from code: Build → Register → Send/Receive → View → DLQ. For detailed APIs, see API-Reference.
var configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json").Build();
var ctx = KsqlContextBuilder.Create()
.UseConfiguration(configuration)
.UseSchemaRegistry(configuration["KsqlDsl:SchemaRegistry:Url"]!)
.EnableLogging(LoggerFactory.Create(b => b.AddConsole()))
.BuildContext<MyAppContext>();[KsqlTopic("basic-produce-consume")]
public class BasicMessage
{
public int Id { get; set; }
[KsqlTimestamp] public DateTime CreatedAt { get; set; }
public string Text { get; set; } = string.Empty;
}
protected override void OnModelCreating(IModelBuilder b)
=> b.Entity<BasicMessage>();await ctx.Set<BasicMessage>().AddAsync(new BasicMessage
{
Id = Random.Shared.Next(),
CreatedAt = DateTime.UtcNow,
Text = "Basic Flow"
});
await ctx.Set<BasicMessage>().ForEachAsync(m =>
{
Console.WriteLine($"Consumed: {m.Text}");
return Task.CompletedTask;
});modelBuilder.Entity<OrderSummary>().ToQuery(q => q
.From<Order>()
.Join<Customer>((o, c) => o.CustomerId == c.Id)
.Where((o, c) => c.IsActive)
.Select((o, c) => new OrderSummary { OrderId = o.Id, CustomerName = c.Name }));await foreach (var rec in ctx.Dlq.ReadAsync())
{
Console.WriteLine(rec.RawText);
}See also: API-Reference, Appsettings, Produce-Consume-and-DLQ
Guide
Core Concepts
Tumbling
- Tumbling-Overview
- Tumbling-Definition
- Tumbling-Consumption
- Tumbling-Topics-Config
- Tumbling-State-Store
- Tumbling-Schedule-Last
- Tumbling-Migration
Operations
- Produce-Consume-and-DLQ
- Operations-Startup-and-Monitoring (Index)
- Operations-Startup
- Lag-Monitoring-and-Tuning
- Streamiz-Clear
- Appsettings
- Examples
Reference