È stata rilasciata la versione 4 (V4) di! AWS SDK per .NET
Per informazioni su come apportare modifiche e migrare le applicazioni, consulta l'argomento sulla migrazione.
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
-