

 AWS SDK for .NET V3 がメンテナンスモードになりました。

[AWS SDK for .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) に移行することをお勧めします。移行方法の詳細と情報については、[メンテナンスモードのお知らせ](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Message Processing Framework for .NET で FIFO を使用する
<a name="msg-proc-fw-fifo"></a>

メッセージの順序付けとメッセージの重複排除が重要なユースケースでは、AWS Message Processing Framework for .NET は first-in-first-out (FIFO) の [Amazon SQS キュー](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html)と [Amazon SNS トピック](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html)をサポートします。

## 公開
<a name="mpf-fifo-publish"></a>

FIFO キューまたはトピックにメッセージを発行するときには、メッセージが属するグループを指定するメッセージグループ ID を設定する必要があります。グループ内のメッセージは順番に処理されます。これは、SQS 固有および SNS 固有のメッセージパブリッシャーで設定できます。

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

## 登録中
<a name="mpf-fifo-subscribe"></a>

FIFO キューからのメッセージを処理する場合、フレームワークは、`ReceiveMessages` 呼び出しごとに受信された順序で特定のメッセージグループ内のメッセージを処理します。フレームワークは、`.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();
```