Metadati dei messaggi per Amazon SQS - Amazon Simple Queue Service

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à.

Metadati dei messaggi per Amazon SQS

Puoi utilizzare gli attributi di messaggio per collegare metadati personalizzati ai messaggi Amazon SQS per le applicazioni. Puoi utilizzare gli attributi del sistema di messaggi per archiviare i metadati per altri servizi AWS , ad esempio AWS X-Ray.

Attributi messaggio di Amazon SQS

Amazon SQS può includere metadati strutturati (come time stamp, dati geospaziali, firme e identificatori) con i messaggi tramite gli attributi dei messaggi. Ogni messaggio può avere fino a 10 attributi. Gli attributi di messaggio sono facoltativi e separati dal corpo del messaggio (sebbene vengano inviati insieme a esso). Il tuo consumatore può utilizzare gli attributi di messaggio per gestire un messaggio in un determinato modo senza la necessità di elaborare prima il corpo del messaggio. Per ulteriori informazioni sull'invio di messaggi con attributi tramite la console Amazon SQS, consulta Invio di un messaggio con attributi.

Nota

Non confondere gli attributi dei messaggi con gli attributi del sistema di messaggistica: mentre puoi utilizzare gli attributi dei messaggi per allegare metadati personalizzati ai messaggi Amazon SQS per le tue applicazioni, puoi utilizzare gli attributi del sistema di messaggistica per archiviare metadati per AWS altri servizi, come. AWS X-Ray

Componenti attributo del messaggio

Importante

Tutti i componenti di un attributo del messaggio sono inclusi nella limitazione delle dimensioni del messaggio di 256 KB.

Name, Type, Value e il corpo del messaggio non devono essere vuoti o nulli.

Ogni attributo di messaggio è costituito dai seguenti elementi:

  • Nome: il nome dell'attributo del messaggio può contenere i seguenti caratteri: A-Z, a-z, 0-9, sottolineatura (_), trattino (-) e punto (.). Le restrizioni si applicano come segue:

    • Può contenere fino a 256 caratteri

    • Non può iniziare con AWS. o Amazon. (o qualsiasi variazione in maiuscole/minuscole)

    • Fa distinzione tra lettere maiuscole e minuscole

    • Deve essere univoco tra tutti i nomi di attributo per il messaggio

    • Non deve iniziare o finire con un punto

    • Non deve avere punti in una sequenza

  • Tipo: il tipo di dati dell'attributo del messaggio. I tipi supportati includono String, Number e Binary. È anche possibile aggiungere informazioni personalizzate per qualsiasi tipo di dati. Il tipo di dati ha le stesse limitazioni del corpo del messaggio (per ulteriori informazioni, consulta SendMessage nella Guida di riferimento di Amazon Simple Queue Service API). Inoltre, si applicano le limitazioni seguenti:

    • Può contenere fino a 256 caratteri

    • Fa distinzione tra lettere maiuscole e minuscole

  • Valore: il valore dell'attributo di messaggio. Per i tipi di dati String, i valori dell'attributo hanno le stesse restrizioni del corpo del messaggio.

Tipi di dati degli attributi di messaggio

I tipi di dati degli attributi di messaggio indicano a Amazon SQS il modo in cui gestire i valori degli attributi dei messaggi corrispondenti. Ad esempio, se il tipo è Number, Amazon SQS convalida i valori numerici.

Amazon SQS supporta i tipi di dati logici String, Number e Binary con etichette opzionali di tipi di dati personalizzati nel formato .custom-data-type

  • Stringa: gli attributi String possono memorizzare testo Unicode utilizzando qualsiasi carattere XML valido.

  • Numero: gli attributi di Number possono memorizzare valori numerici positivi o negativi. Un numero può avere fino a 38 cifre di precisione e può essere compreso tra 10^-128 e 10^+126.

    Nota

    Amazon SQS rimuove zero iniziali e finali.

  • Binary: gli attributi di tipo binario possono archiviare qualsiasi tipo di dati binari, ad esempio dati compressi, dati crittografati o immagini.

  • Personalizzato: per creare un tipo di dato personalizzato, aggiungi un'etichetta di tipo personalizzato a qualsiasi tipo di dato. Per esempio:

    • Number.byte, Number.short, Number.inte Number.float possono aiutare a distinguere tra i tipi di numero.

    • Binary.gif e Binary.png possono aiutare a distinguere tra tipi di file.

    Nota

    Amazon SQS non interpreta, convalida oppure utilizza i dati aggiunti.

    L'etichetta di tipo personalizzato ha le stesse restrizioni del corpo del messaggio.

Calcolo del digest dei messaggi MD5 per gli attributi di messaggi

Se utilizzi il AWS SDK for Java, puoi saltare questa sezione. La classe MessageMD5ChecksumHandler di SDK per Java supporta i digest di messaggi MD5 per gli attributi dei messaggi Amazon SQS.

Se utilizzi l'API Query o uno degli AWS SDK che non supporta i digest dei messaggi MD5 per gli attributi dei messaggi di Amazon SQS, devi utilizzare le seguenti linee guida per eseguire il calcolo del digest dei messaggi MD5.

Nota

Includi sempre suffissi di tipo di dati personalizzati nel calcolo del message-digest MD5.

Panoramica

La seguente è una panoramica dell'algoritmo di calcolo del digest dei messaggi MD5:

  1. Ordinare tutti gli attributi dei messaggi in base al nome in ordine crescente.

  2. Codificare le singole parti di ogni attributo (Name, Type e Value) in un buffer.

  3. Calcolare il digest del messaggio dell'intero buffer.

Il seguente diagramma mostra la codifica del digest del messaggio MD5 per un singolo attributo del messaggio:

Codifica del digest dei messaggi MD5 per un singolo attributo del messaggio.

Per codificare un singolo attributo del messaggio Amazon SQS

  1. Codificare il nome: lunghezza del nome (4 byte) e byte UTF-8 del nome.

  2. Codificare il tipo di dati: lunghezza del nome (4 byte) e byte UTF-8 del tipo di dati.

  3. Codificare il tipo di trasporto (String o Binary) del valore [1 byte].

    Nota

    I tipi di dati logici String e Number usano il tipo di trasporto String.

    Il tipo di dati logici Binary utilizza il tipo di trasporto Binary.

    1. Per il tipo di trasporto String, codificare 1.

    2. Per il tipo di trasporto Binary, codificare 2.

  4. Codificare il valore attributo.

    1. Per il tipo di trasporto String, codifica il valore di attributo: la lunghezza (4 byte) e i byte UTF-8 del valore.

    2. Per il tipo di trasporto Binary, codifica il valore di attributo: la lunghezza (4 byte) e i byte non elaborati del valore.

Attributi del sistema di messaggistica Amazon SQS

Mentre puoi utilizzare gli attributi di messaggio per collegare metadati personalizzati ai messaggi Amazon SQS per le applicazioni, puoi utilizzare gliattributi del sistema di messaggi per archiviare i metadati per altri servizi AWS , ad esempio AWS X-Ray. Per ulteriori informazioni, consulta il parametro di richiesta MessageSystemAttribute delle operazioni API SendMessage e SendMessageBatch, l'attributo AWSTraceHeader dell'operazione API ReceiveMessage e il tipo di dati MessageSystemAttributeValue nella Guida di riferimento di Amazon Simple Queue Service API.

Gli attributi del sistema di messaggi sono strutturati esattamente come gli attributi di messaggio, con le seguenti eccezioni:

  • Al momento, l'unico attributo del sistema di messaggi supportato è AWSTraceHeader. Il tipo String e il valore devono essere una stringa di intestazione di AWS X-Ray traccia formattata correttamente.

  • Le dimensioni di un attributo di sistema di messaggi non vengono conteggiate ai fini della dimensione totale di un messaggio.