La versione 4 (V4) di SDK for .NET è disponibile in anteprima! Per visualizzare le informazioni su questa nuova versione in anteprima, consulta la Guida per gli sviluppatori AWS SDK for .NET (anteprima della versione 4).
Tieni presente che la versione 4 dell'SDK è in anteprima, pertanto il suo contenuto è soggetto a modifiche.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Nota
Si tratta di una documentazione di pre-rilascio di una caratteristica nella versione di anteprima. ed è soggetta a modifiche.
Per i casi d'uso in cui l'ordine e la deduplicazione dei messaggi sono fondamentali, il AWS Message Processing Framework for .NET supporta le code Amazon SQS first-in-first-out (FIFO) e gli argomenti di Amazon SNS.
Pubblicazione
Quando si pubblicano messaggi su una coda o un argomento FIFO, è necessario impostare l'ID del gruppo di messaggi, che specifica il gruppo a cui appartiene il messaggio. I messaggi all'interno di un gruppo vengono elaborati in ordine. Puoi impostarlo sugli editori di messaggi specifici per SQL e SNS.
await _sqsPublisher.PublishAsync(message, new SQSOptions
{
MessageDeduplicationId = <message-deduplication-id>,
MessageGroupId = <message-group-id>
});
Sottoscrizione in corso
Quando si gestiscono i messaggi da una coda FIFO, il framework gestisce i messaggi all'interno di un determinato gruppo di messaggi nell'ordine in cui sono stati ricevuti per ogni chiamata. ReceiveMessages
Il framework entra automaticamente in questa modalità operativa quando è configurato con una coda che termina con. .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();