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();