La version 4 (V4) du SDK pour .NET est en avant-première ! Pour obtenir des informations sur cette nouvelle version en avant-première, consultez le guide du développeur AWS SDK pour .NET (version 4).
Veuillez noter que la version V4 du SDK est en cours de prévisualisation, son contenu est donc sujet à modification.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation du FIFO avec le cadre de traitement des AWS messages pour .NET
Note
Ceci est une documentation préliminaire pour une fonctionnalité en version de prévisualisation. Elle est susceptible d'être modifiée.
Pour les cas d'utilisation où l'ordre et la déduplication des messages sont essentiels, le cadre de traitement des AWS messages pour .NET prend en charge les files d'attente Amazon SQS first-in-first-out (FIFO) et les rubriques Amazon SNS.
Publication
Lorsque vous publiez des messages dans une file d'attente ou une rubrique FIFO, vous devez définir l'ID du groupe de messages, qui indique le groupe auquel appartient le message. Les messages au sein d'un groupe sont traités dans l'ordre. Vous pouvez le définir sur les éditeurs de messages spécifiques à SQS et spécifiques au SNS.
await _sqsPublisher.PublishAsync(message, new SQSOptions
{
MessageDeduplicationId = <message-deduplication-id>,
MessageGroupId = <message-group-id>
});
Abonnement en cours
Lors de la gestion des messages d'une file d'attente FIFO, le framework gère les messages d'un groupe de messages donné dans l'ordre dans lequel ils ont été reçus pour chaque ReceiveMessages
appel. Le framework entre automatiquement dans ce mode de fonctionnement lorsqu'il est configuré avec une file d'attente se terminant par.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();