È stata rilasciata la versione 4 (V4) di! AWS SDK per .NET
Per iniziare a utilizzare la nuova versione dell'SDK, consulta la Guida per gli sviluppatori AWS SDK per .NET (V4), in particolare l'argomento relativo alla migrazione alla versione 4.
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à.
Personalizzazione del framework di elaborazione dei AWS messaggi per.NET
Il AWS Message Processing Framework per .NET crea, invia e gestisce i messaggi in tre diversi «livelli»:
-
Al livello più esterno, il framework crea la richiesta o la risposta AWS-native specifica per un servizio. Con Amazon SQS, ad esempio, crea
SendMessagerichieste e lavora con gliMessageoggetti definiti dal servizio. -
All'interno della richiesta e della risposta SQS, il framework imposta l'
MessageBodyelemento (oMessageper Amazon SNSDetailo EventBridge Amazon) su un formato JSON. CloudEventContiene i metadati impostati dal framework accessibile sull'oggetto durante la gestione di un messaggio. MessageEnvelope -
Al livello più interno, l'
dataattributo all'interno dell'oggetto CloudEvent JSON contiene una serializzazione JSON dell'oggetto.NET che è stato inviato o ricevuto come messaggio.{ "id":"b02f156b-0f02-48cf-ae54-4fbbe05cffba", "source":"/aws/messaging", "specversion":"1.0", "type":"Publisher.Models.ChatMessage", "time":"2023-11-21T16:36:02.8957126+00:00", "data":"<the ChatMessage object serialized as JSON>" }
È possibile personalizzare la modalità di configurazione e lettura della busta del messaggio:
-
"id"identifica in modo univoco il messaggio. Per impostazione predefinita è impostato su un nuovo GUID, ma questo può essere sovrascritto implementando il proprioIMessageIdGeneratore inserendolo nel contenitore DI. -
"type"controlla come il messaggio viene indirizzato ai gestori. Per impostazione predefinita, utilizza il nome completo del tipo.NET che corrisponde al messaggio. È possibile sovrascriverlo tramite ilmessageTypeIdentifierparametro durante la mappatura del tipo di messaggio alla destinazione tramiteAddSQSPublisherAddSNSPublisher, o.AddEventBridgePublisher -
"source"indica quale sistema o server ha inviato il messaggio.-
Questo sarà il nome della funzione in caso di pubblicazione da AWS Lambda, il nome del cluster e l'ARN dell'attività se su Amazon ECS, l'ID dell'istanza se su Amazon EC2, altrimenti un valore di fallback di.
/aws/messaging -
Puoi sovrascriverlo tramite
AddMessageSourceo su.AddMessageSourceSuffixMessageBusBuilder
-
-
"time"impostato sulla corrente DateTime in UTC. Questo può essere sovrascritto implementando il proprioIDateTimeHandlere iniettandolo nel contenitore DI. -
"data"contiene una rappresentazione JSON dell'oggetto.NET che è stato inviato o ricevuto come messaggio:-
ConfigureSerializationOptionsonMessageBusBuilderconsente di configurareSystem.Text.Json.JsonSerializerOptionsciò che verrà utilizzato durante la serializzazione e la deserializzazione del messaggio. -
Per inserire attributi aggiuntivi o trasformare la busta del messaggio una volta creata dal framework, puoi implementarla e registrarla tramite on.
ISerializationCallbackAddSerializationCallbackMessageBusBuilder
-