Olá, bom dia.
Eu estou fazendo uma aplicação simples para publicar e consumir mensagens utilizando PubSub do Google. Para publicar eu não tenho problemas e recebo o id da mensagem. Porém para consumir, eu recebo sempre o mesmo status WaitingForActivation e não consigo
visualizar o id ou conteúdo da mensagem publicada.
O bloco do método StartAsync, não escreve nada no console.
Segue o código abaixo
public class Program
{
static async Task Main(string[] args)
{
try
{
var manager = new Manager("projectId");
var topicName = manager.CreateTopic();
var messageProducer = await manager.CreatePublisher(topicName);
Console.WriteLine($"Publisher message {messageProducer.ToString()} ");
await manager.CreateSubscriber(topicName);
}
catch (Exception exception)
{
}
}
}
public async Task<object> CreateSubscriber(TopicName topic)
{
SubscriberServiceApiClient subscriber = SubscriberServiceApiClient.Create();
SubscriptionName subscriptionName = new SubscriptionName(_projectId, "SubscriptionN");
SubscriberClient subscriberClient = await SubscriberClient.CreateAsync(subscriptionName);
try
{
var result = subscriberClient.StartAsync(
async (PubsubMessage message, CancellationToken cancel) =>
{
string text = Encoding.UTF8.GetString(message.Data.ToArray());
await Console.Out.WriteLineAsync($"Consumer {message.MessageId} => Message:{text}");
Console.WriteLine(message);
return await Task.FromResult(SubscriberClient.Reply.Ack);
});
await Task.Delay(3000);
await subscriberClient.StopAsync(CancellationToken.None);
}
catch (RpcException exception)
{
}
return 0;
}
Obrigada.
Abraços.