的版本 4 (V4) 适用于 .NET 的 SDK 正在预览中!要在预览版中查看有关此新版本的信息,请参阅 适用于 .NET 的 AWS SDK (版本 4 预览版)开发者指南。
请注意,SDK 的 V4 处于预览版,因此其内容可能会发生变化。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 FIFO 与适用于.NET 的 AWS 消息处理框架配合使用
注意
这是适用于预览版中功能的预发布文档。本文档随时可能更改。
对于消息排序和消息重复数据删除至关重要的用例,.NET AWS 消息处理框架支持 first-in-first-out (FIFO) Amazon SQS 队列和 Amazon SNS 主题。
发布
将消息发布到 FIFO 队列或主题时,必须设置消息组 ID,该标识指定消息所属的组。群组内的消息按顺序处理。您可以在特定于 SQS 的消息发布器和 SNS 特定的消息发布器上进行此设置。
await _sqsPublisher.PublishAsync(message, new SQSOptions
{
MessageDeduplicationId = <message-deduplication-id>,
MessageGroupId = <message-group-id>
});
订阅
处理来自 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();