DAPR Publish с метаданными - где метаданные?C#

Место общения программистов C#
Ответить
Anonymous
 DAPR Publish с метаданными - где метаданные?

Сообщение Anonymous »

Я попытался опубликовать сообщение с метаданными, используя DAPR. < /p>
Производитель такой: < /p>

Код: Выделить всё

public class Message
{
[JsonPropertyName("messageId")]
public Int32 MessageId { get; set; }

[JsonPropertyName("tenantId")]
public Int32 TenantId { get; set; }

public Message(int messageId, int tenantId)
{
MessageId = messageId;
TenantId = tenantId;
}
}

using var client = new DaprClientBuilder().Build();
var tenantId = Rnd.Next(0, _test.DifferentTenantIds)+1;
var metaData = new Dictionary()
{
{ "SessionId",$"TENANT.{tenantId}" }
};
var message = new Message(1, tenantId);
var status = client.PublishEventAsync("PRODUCT", "EVENT1", message, metaData, CancellationToken.None).Status;
Отправка кажется правильной, сообщение прибывает в сторону получателя, но SessionId нет там, где я ожидаю - SessionId пуст, и отладка я вижу задание имеет только атрибуты Commont: ID, Source, Type, DataContentType, DataSchema, субъект и время: < /p>

Код: Выделить всё

using CloudNative.CloudEvents;
app.MapGet("/dapr/subscribe", ([FromServices] ILogger logger) =>
{
var sub1 = new DaprSubscription("PRODUCT", "EVENT1", "productEvent1");
logger.LogInformation("Dapr pub/sub is subscribed to {0}", JsonSerializer.Serialize(sub1));
var result = Results.Json(new[] { sub1 });
return result;
});

app.MapPost("/productEvent1", async ([FromBody] CloudEvent job, [FromServices] ILogger logger) =>
{
var sessionId = job.GetAttribute("SessionId");
logger.LogInformation($"* received a message A with sessionId={sessionId}");
return Results.Ok();
}
В примере используется базовая конфигурация DAPR с использованием Docker на локальной машине, Redis в качестве поставщика очередей>

Подробнее здесь: https://stackoverflow.com/questions/771 ... e-metadata
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»