

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>

Usa gli attributi dei messaggi per aggiungere metadati personalizzati ai messaggi Amazon SQS per le tue applicazioni. Utilizza gli attributi del sistema di messaggi per archiviare i metadati per l'integrazione con altri, ad esempio. Servizi AWS 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 messaggi*: 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 [ messaggi per ](#sqs-message-system-attributes) archiviare metadati per altri servizi, ad esempio. AWS 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 messaggi MD5 per gli attributi di 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 limitazione della dimensione del messaggio 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^\+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. Ad 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 messaggi MD5 per gli attributi di messaggi
<a name="sqs-attributes-md5-message-digest-calculation"></a>

Se usi il AWS SDK per 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 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 di
<a name="attributes-md5-message-digest-calculation-overview"></a>

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.

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 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.](https://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. Codifica il nome: la lunghezza (4 byte) e i UTF-8 byte del nome.

1. Codifica il tipo di dati: la lunghezza (4 byte) e i byte del UTF-8 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 `String` trasporto, codifica il valore dell'attributo: la lunghezza (4 byte) e i byte del UTF-8 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 tipo deve essere `String` e il suo valore deve essere una stringa di intestazione di traccia formattata AWS X-Ray correttamente.
+ Le dimensioni di un attributo di sistema di messaggi non vengono conteggiate ai fini della dimensione totale di un messaggio.