Usar FIFO com o AWS Message Processing Framework para .NET - AWS SDK para .NET (V3)

A versão 4 (V4) do AWS SDK para .NET foi lançada!

Para começar a usar a nova versão do SDK, consulte o Guia do desenvolvedor AWS SDK para .NET (V4), especialmente o tópico sobre migração para a versão 4.

Usar FIFO com o AWS Message Processing Framework para .NET

Para casos de uso em que a ordenação e a desduplicação de mensagens são essenciais, o AWS Message Processing Framework para. NET comporta filas FIFO (primeiro a sair, primeiro a entrar) do Amazon SQS e tópicos do Amazon SNS.

Publicação

Ao publicar mensagens em uma fila ou tópico FIFO, você precisa definir o ID do grupo de mensagens, que especifica o grupo ao qual a mensagem pertence. As mensagens em um grupo são processadas em ordem. Você pode definir isso nos publicadores de mensagens específicos do SQS e do SNS.

await _sqsPublisher.PublishAsync(message, new SQSOptions { MessageDeduplicationId = <message-deduplication-id>, MessageGroupId = <message-group-id> });

Assinatura

Ao processar mensagens de uma fila FIFO, o framework lida com elas dentro de um grupo específico na ordem em que foram recebidas para cada chamada ReceiveMessages. O framework entra nesse modo de operação automaticamente quando configurado com uma fila que termine com .fifo.

await Host.CreateDefaultBuilder(args) .ConfigureServices(services => { // Register the AWS Message Processing Framework for .NET. services.AddAWSMessageBus(builder => { // Because this is a FIFO queue, the framework automatically handles these messages in order. builder.AddSQSPoller("https://sqs.us-west-2.amazonaws.com/012345678910/MPF.fifo"); builder.AddMessageHandler<OrderMessageHandler, OrderMessage>(); }); }) .Build() .RunAsync();