

O AWS SDK para .NET V3 entrou no modo de manutenção.

Recomendamos que você migre para a [AWS SDK para .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Para obter detalhes e informações adicionais sobre como migrar, consulte nosso [anúncio do modo de manutenção](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar FIFO com o AWS Message Processing Framework para .NET
<a name="msg-proc-fw-fifo"></a>

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](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) e [tópicos do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html).

## Publicação
<a name="mpf-fifo-publish"></a>

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
<a name="mpf-fifo-subscribe"></a>

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