Verarbeiten von Nicht-Envelope-Nachrichten von EventHub mit MassTransitC#

Ein Treffpunkt für C#-Programmierer
Guest
 Verarbeiten von Nicht-Envelope-Nachrichten von EventHub mit MassTransit

Post by Guest »

Ich habe einen Azure EventHub mit Nachrichten ohne Umschlag. Sie sind ein „Umschlag“, aber sie haben mein eigenes Format. Den Beispielen, die ich online sehe, zufolge sollte dies die richtige Konfiguration für den Konsum von Nicht-MassTransit-Nachrichten sein, aber sie erreicht nie den Verbraucher.
Es durchläuft den rohen JSON-Deserializer. Es stoppt beim „ConsumeContextMessageTypeFilter“, da keine „Ausgabepipes“ vorhanden sind...
Beispielnachricht:

Code: Select all

{
"type": "ExampleMessage",
"data": {}
}
Grundlegende Einrichtung

Code: Select all

var builder = Host.CreateApplicationBuilder();
builder.Services
.AddMassTransit(x =>
{
x.UsingInMemory();
x.AddRider(rider =>
{
rider.AddConsumer();

rider.UsingEventHub((context, k) =>
{
k.Host(
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;");
k.Storage("UseDevelopmentStorage=true");

k.ReceiveEndpoint("eh1", c =>
{
c.UseRawJsonSerializer(RawSerializerOptions.AnyMessageType, true);
c.ConfigureConsumer(context);
});
});
});
});

var host = builder.Build();
await host.RunAsync();

public class EventHubMessageConsumer :
IConsumer
{
public Task Consume(ConsumeContext context)
{
return Task.CompletedTask;
}
}

public record EventHubMessage
{
public string Type { get; init; }
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post