

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
<a name="sqs-message-metadata"></a>

Utilizza gli attributi dei messaggi per aggiungere metadati personalizzati ai messaggi Amazon SQS per le tue applicazioni. Utilizza gli attributi del sistema di messaggistica per archiviare i metadati per l'integrazione con altri Servizi AWS, ad esempio. AWS X-Ray

## Attributi messaggio di Amazon SQS
<a name="sqs-message-attributes"></a>

*Amazon SQS consente di includere metadati strutturati (come timestamp, dati geospaziali, firme e identificatori) nei messaggi utilizzando 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 tramite Amazon SQS](sqs-using-send-message-with-attributes.md).

**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](#sqs-message-system-attributes) per archiviare metadati per AWS altri servizi, come. AWS X-Ray

**Topics**
+ [Componenti attributo del messaggio](#message-attribute-components)
+ [Tipi di dati degli attributi di messaggio](#message-attribute-data-types)
+ [Calcolo del digest dei MD5 messaggi per gli attributi dei messaggi](#sqs-attributes-md5-message-digest-calculation)

### Componenti attributo del messaggio
<a name="message-attribute-components"></a>

**Importante**  
Tutti i componenti di un attributo di messaggio sono inclusi nella restrizione della dimensione dei messaggi di 1 MiB.  
`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](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)` 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
<a name="message-attribute-data-types"></a>

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^\$1126.
**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. Esempio:
  + `Number.byte`, `Number.short`, `Number.int`e `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 MD5 messaggi per gli attributi dei messaggi
<a name="sqs-attributes-md5-message-digest-calculation"></a>

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

Se utilizzi l'API Query o una di quelle AWS SDKs che non supportano i MD5 message digest per gli attributi dei messaggi di Amazon SQS, devi utilizzare le seguenti linee guida per eseguire MD5 il calcolo del message digest.

**Nota**  
Includi sempre i suffissi dei tipi di dati personalizzati nel calcolo del message-digest. MD5 

#### Panoramica di
<a name="attributes-md5-message-digest-calculation-overview"></a>

Di seguito è riportata una panoramica dell'algoritmo di calcolo del MD5 message digest:

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

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

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

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

![\[Codifica del digest del MD5 messaggio per un singolo attributo del messaggio.\]](http://docs.aws.amazon.com/it_it/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-msg-attrib-md5.png)


#### Per codificare un singolo attributo del messaggio Amazon SQS
<a name="attributes-md5-message-digest-calculation-encode-single-attribute"></a>

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

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

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

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

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

   1. 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
<a name="sqs-message-system-attributes"></a>

Mentre puoi utilizzare gli [attributi di messaggio](#sqs-message-attributes) 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. Per ulteriori informazioni, consulta il parametro di richiesta `MessageSystemAttribute` delle operazioni API `[SendMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)` e `[SendMessageBatch](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html)`, l'attributo `AWSTraceHeader` dell'operazione API `[ReceiveMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)` e il tipo di dati `[MessageSystemAttributeValue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_MessageSystemAttributeValue.html)` 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 suo tipo deve essere `String` e il suo valore deve 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.