

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

# Utilizzo di tabelle e dati in DynamoDB
<a name="WorkingWithTables"></a>

Questa sezione descrive come utilizzare AWS Command Line Interface (AWS CLI) e AWS SDKs per creare, aggiornare ed eliminare tabelle in Amazon DynamoDB.

**Nota**  
Puoi eseguire queste stesse attività utilizzando la Console di gestione AWS. Per ulteriori informazioni, consulta [Utilizzo della console](AccessingDynamoDB.md#ConsoleDynamoDB).

In questa sezione sono fornite inoltre ulteriori informazioni sulla capacità di throughput tramite l'uso della scalabilità automatica di DynamoDB o l'impostazione manuale della velocità effettiva assegnata.

**Topics**
+ [Operazioni di base sulle tabelle DynamoDB](WorkingWithTables.Basics.md)
+ [Considerazioni sulla scelta di una classe di tabella in DynamoDB](WorkingWithTables.tableclasses.md)
+ [Aggiunta di tag ed etichette alle risorse in DynamoDB](Tagging.md)

# Operazioni di base sulle tabelle DynamoDB
<a name="WorkingWithTables.Basics"></a>

Analogamente ad altri sistemi di database, Amazon DynamoDB archivia i dati in tabelle. Puoi gestire le tabelle utilizzando alcune operazioni di base.

**Topics**
+ [Creazione di una tabella](#WorkingWithTables.Basics.CreateTable)
+ [Descrizione di una tabella](#WorkingWithTables.Basics.DescribeTable)
+ [Aggiornamento di una tabella](#WorkingWithTables.Basics.UpdateTable)
+ [Eliminazione di una tabella](#WorkingWithTables.Basics.DeleteTable)
+ [Uso della protezione da eliminazione](#WorkingWithTables.Basics.DeletionProtection)
+ [Elenco dei nomi delle tabelle](#WorkingWithTables.Basics.ListTables)
+ [Descrizione delle quote di velocità di trasmissione effettiva assegnate](#WorkingWithTables.Basics.DescribeLimits)

## Creazione di una tabella
<a name="WorkingWithTables.Basics.CreateTable"></a>

Utilizza l'operazione `CreateTable` per creare una tabella in Amazon DynamoDB. Per creare la tabella, è necessario fornire le informazioni riportate di seguito:
+ **Nome tabella.** Il nome deve essere conforme alle regole di denominazione di DynamoDB e deve essere univoco per l'account corrente e la regione. AWS Ad esempio, è possibile creare una tabella `People` nella regione Stati Uniti orientali (Virginia settentrionale) e un'altra tabella `People` in Europa (Irlanda). Tuttavia, queste due tabelle sarebbero totalmente diverse l'una dall'altra. Per ulteriori informazioni, consulta [Tipi di dati e regole di denominazione supportati in Amazon DynamoDB](HowItWorks.NamingRulesDataTypes.md).
+ **Chiave primaria.** La chiave primaria può consistere di un attributo (chiave di partizione) o due attributi (chiave di partizione e chiave di ordinamento). Devi fornire i nomi e i tipi di dati degli attributi e il ruolo di ciascun attributo: `HASH` (per una chiave di partizione) e `RANGE` (per una chiave di ordinamento). Per ulteriori informazioni, consulta [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).
+ **Impostazioni di throughput (per tabelle assegnate).** Se utilizzi la modalità assegnata, devi specificare le impostazioni iniziali di throughput di lettura e scrittura per la tabella. Queste impostazioni possono essere modificate successivamente oppure è possibile abilitare la scalabilità automatica di DynamoDB perché le impostazioni vengano gestite automaticamente. Per ulteriori informazioni, consultare [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md) e [Gestione automatica della capacità effettiva di trasmissione con il dimensionamento automatico di DynamoDB](AutoScaling.md).

### Esempio 1: creare una tabella su richiesta
<a name="create-payperrequest-example"></a>

Per creare la stessa tabella `Music` utilizzando la modalità on demand:

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --billing-mode=PAY_PER_REQUEST
```

L'operazione `CreateTable` restituisce i metadati per la tabella, come illustrato di seguito:

```
{
    "TableDescription": {
        "TableArn": "arn:aws:dynamodb:us-east-1:123456789012:table/Music",
        "AttributeDefinitions": [
            {
                "AttributeName": "Artist",
                "AttributeType": "S"
            },
            {
                "AttributeName": "SongTitle",
                "AttributeType": "S"
            }
        ],
        "ProvisionedThroughput": {
            "NumberOfDecreasesToday": 0,
            "WriteCapacityUnits": 0,
            "ReadCapacityUnits": 0
        },
        "TableSizeBytes": 0,
        "TableName": "Music",
        "BillingModeSummary": {
            "BillingMode": "PAY_PER_REQUEST"
        },
        "TableStatus": "CREATING",
        "TableId": "12345678-0123-4567-a123-abcdefghijkl",
        "KeySchema": [
            {
                "KeyType": "HASH",
                "AttributeName": "Artist"
            },
            {
                "KeyType": "RANGE",
                "AttributeName": "SongTitle"
            }
        ],
        "ItemCount": 0,
        "CreationDateTime": 1542397468.348
    }
}
```

**Importante**  
 Quando si richiama `DescribeTable` su una tabella on demand, le unità di capacità in lettura e le unità di capacità in scrittura sono impostate su 0. 

### Esempio 2: creazione di una tabella predisposta
<a name="create-provisioned-example"></a>

L' AWS CLI esempio seguente mostra come creare una tabella (`Music`). La chiave primaria è costituita da `Artist` (chiave di partizione) e `SongTitle` (chiave di ordinamento), entrambe con tipo di dati `String`. Il throughput massimo per questa tabella è 10 unità di capacità di lettura e 5 unità di capacità di scrittura.

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput \
        ReadCapacityUnits=10,WriteCapacityUnits=5
```

L'operazione `CreateTable` restituisce i metadati per la tabella, come illustrato di seguito:

```
{
    "TableDescription": {
        "TableArn": "arn:aws:dynamodb:us-east-1:123456789012:table/Music",
        "AttributeDefinitions": [
            {
                "AttributeName": "Artist",
                "AttributeType": "S"
            },
            {
                "AttributeName": "SongTitle",
                "AttributeType": "S"
            }
        ],
        "ProvisionedThroughput": {
            "NumberOfDecreasesToday": 0,
            "WriteCapacityUnits": 5,
            "ReadCapacityUnits": 10
        },
        "TableSizeBytes": 0,
        "TableName": "Music",
        "TableStatus": "CREATING",
        "TableId": "12345678-0123-4567-a123-abcdefghijkl",
        "KeySchema": [
            {
                "KeyType": "HASH",
                "AttributeName": "Artist"
            },
            {
                "KeyType": "RANGE",
                "AttributeName": "SongTitle"
            }
        ],
        "ItemCount": 0,
        "CreationDateTime": 1542397215.37
    }
}
```

L'elemento `TableStatus` indica lo stato corrente della tabella (`CREATING`). La creazione della tabella potrebbe richiedere del tempo, in base ai valori specificati per `ReadCapacityUnits` e `WriteCapacityUnits`. Valori maggiori richiedono l'allocazione di più risorse per la tabella da parte di DynamoDB.

### Esempio 3: creazione di una tabella utilizzando la classe di tabella DynamoDB Standard (accesso infrequente)
<a name="create-infrequent-access-example"></a>

Crea la stessa tabella `Music` utilizzando la classe di tabella DynamoDB Standard (accesso infrequente).

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput \
        ReadCapacityUnits=10,WriteCapacityUnits=5 \
    --table-class STANDARD_INFREQUENT_ACCESS
```

L'operazione `CreateTable` restituisce i metadati per la tabella, come illustrato di seguito:

```
{
    "TableDescription": {
        "TableArn": "arn:aws:dynamodb:us-east-1:123456789012:table/Music",
        "AttributeDefinitions": [
            {
                "AttributeName": "Artist",
                "AttributeType": "S"
            },
            {
                "AttributeName": "SongTitle",
                "AttributeType": "S"
            }
        ],
        "ProvisionedThroughput": {
            "NumberOfDecreasesToday": 0,
            "WriteCapacityUnits": 5,
            "ReadCapacityUnits": 10
        },
        "TableClassSummary": {
            "LastUpdateDateTime": 1542397215.37,
            "TableClass": "STANDARD_INFREQUENT_ACCESS"
        },
        "TableSizeBytes": 0,
        "TableName": "Music",
        "TableStatus": "CREATING",
        "TableId": "12345678-0123-4567-a123-abcdefghijkl",
        "KeySchema": [
            {
                "KeyType": "HASH",
                "AttributeName": "Artist"
            },
            {
                "KeyType": "RANGE",
                "AttributeName": "SongTitle"
            }
        ],
        "ItemCount": 0,
        "CreationDateTime": 1542397215.37
    }
}
```

## Descrizione di una tabella
<a name="WorkingWithTables.Basics.DescribeTable"></a>

Per visualizzare i dettagli su una tabella, utilizza l'operazione `DescribeTable`. Devi specificare il nome della tabella. Il formato dell'output da `DescribeTable` è identico a quello da `CreateTable`. Include il timestamp di creazione della tabella, lo schema delle chiavi, le impostazioni della velocità effettiva assegnata, le dimensioni stimate e gli eventuali indici secondari presenti.

**Importante**  
 Quando si richiama `DescribeTable` su una tabella on demand, le unità di capacità in lettura e le unità di capacità in scrittura sono impostate su 0. 

**Example**  

```
aws dynamodb describe-table --table-name Music
```

La tabella è pronta per l'uso quando `TableStatus` cambia da `CREATING` ad `ACTIVE`.

**Nota**  
Se si emette una richiesta `DescribeTable` subito dopo una richiesta `CreateTable`, DynamoDB potrebbe restituire un errore (`ResourceNotFoundException`). Questo accade perché `DescribeTable` utilizza una query consistente finale e i metadata della tabella potrebbero non essere disponibili in quel momento. Attendi qualche secondo e prova nuovamente la richiesta `DescribeTable`.  
A scopo di fatturazione, i costi di archiviazione di DynamoDB includono un costo per elemento di 100 byte. Per ulteriori informazioni, consulta [Prezzi di DynamoDB](https://aws.amazon.com/dynamodb/pricing/). Questi 100 byte extra per elemento non sono utilizzati nei calcoli delle unità di capacità o dall'operazione `DescribeTable`. 

## Aggiornamento di una tabella
<a name="WorkingWithTables.Basics.UpdateTable"></a>

L'operazione `UpdateTable` consente di effettuare una delle operazioni seguenti:
+ Modificare le impostazioni di throughput assegnate di una tabella (per tabelle con modalità assegnata).
+ Cambia la modalità di read/write capacità della tabella.
+ Utilizza gli indici secondari globali nella tabella (consulta [Utilizzo degli indici secondari globali in DynamoDB](GSI.md)).
+ Abilitare o disabilitare DynamoDB Streams sulla tabella (vedere [Acquisizione dei dati di modifica per DynamoDB Streams](Streams.md)).

**Example**  
L' AWS CLI esempio seguente mostra come modificare le impostazioni di throughput assegnate a una tabella.  

```
aws dynamodb update-table --table-name Music \
    --provisioned-throughput ReadCapacityUnits=20,WriteCapacityUnits=10
```

**Nota**  
Quando emetti una richiesta `UpdateTable`, lo stato della tabella cambia da `AVAILABLE` a `UPDATING`. La tabella rimane completamente disponibile mentre lo stato è `UPDATING`. Al termine del processo, lo stato cambia da `UPDATING` ad `AVAILABLE`.

**Example**  
L' AWS CLI esempio seguente mostra come modificare la modalità di read/write capacità di una tabella in modalità on-demand.  

```
aws dynamodb update-table --table-name Music \
    --billing-mode PAY_PER_REQUEST
```

## Eliminazione di una tabella
<a name="WorkingWithTables.Basics.DeleteTable"></a>

Puoi rimuovere una tabella inutilizzata con l'operazione `DeleteTable`. L'operazione di eliminazione di una tabella è irreversibile. Per eliminare una tabella utilizzando la Console di gestione AWS, consulta [Fase 6: (facoltativo) eliminare la tabella DynamoDB per eseguire la pulizia delle risorse](getting-started-step-6.md).

**Example**  
L' AWS CLI esempio seguente mostra come eliminare una tabella.  

```
aws dynamodb delete-table --table-name Music
```

Quando emetti una richiesta `DeleteTable`, lo stato della tabella cambia da `ACTIVE` a `DELETING`. L'eliminazione della tabella può richiedere del tempo, in base alle risorse che utilizza (come i dati archiviati e i flussi o gli indici presenti).

A conclusione dell'operazione `DeleteTable`, la tabella sarà più presente in DynamoDB.

## Uso della protezione da eliminazione
<a name="WorkingWithTables.Basics.DeletionProtection"></a>

È possibile proteggere una tabella dall'eliminazione accidentale con la proprietà di protezione da eliminazione. L'attivazione di questa proprietà per una tabella aiuta a garantire che non venga eliminata accidentalmente durante le normali operazioni di gestione delle tabelle degli amministratori. In tal modo si contribuisce anche a prevenire le interruzioni delle normali operazioni aziendali.

 Il proprietario della tabella o un amministratore autorizzato controlla la proprietà di protezione da eliminazione per ogni tabella che per impostazione predefinita è disattivata per tutte le tabelle, incluse le repliche globali e le tabelle ripristinate dai backup. Quando la protezione da eliminazione è disabilitata, la tabella può essere eliminata da qualsiasi utente autorizzato da una policy Identity and Access Management (IAM). Quando la protezione da eliminazione è abilitata, nessuno può eliminare la tabella. 

Per modificare questa impostazione, vai alle **Impostazioni aggiuntive** della tabella, apri il pannello **Protezione da eliminazione** e seleziona **Abilita la protezione da eliminazione**. 

La proprietà di protezione da eliminazione è supportata dalla console DynamoDB, dall'API, dalla CLI, dall'SDK e da CloudFormation. L'API `CreateTable` supporta la proprietà di protezione da eliminazione al momento della creazione della tabella e l'API `UpdateTable` supporta la modifica della proprietà di protezione da eliminazione per le tabelle esistenti.

**Nota**  
Se un AWS account viene eliminato, tutti i dati dell'account, incluse le tabelle, vengono comunque eliminati entro 90 giorni.
Se DynamoDB perde l'accesso a una chiave gestita dal cliente utilizzata per crittografare una tabella, archivia comunque la tabella. L'archiviazione comporta l'esecuzione di un backup della tabella e l'eliminazione dell'originale.

## Elenco dei nomi delle tabelle
<a name="WorkingWithTables.Basics.ListTables"></a>

L'`ListTables`operazione restituisce i nomi delle tabelle DynamoDB per l'account AWS corrente e la regione.

**Example**  
L' AWS CLI esempio seguente mostra come elencare i nomi delle tabelle DynamoDB.  

```
aws dynamodb list-tables
```

## Descrizione delle quote di velocità di trasmissione effettiva assegnate
<a name="WorkingWithTables.Basics.DescribeLimits"></a>

L'`DescribeLimits`operazione restituisce le quote di capacità di lettura e scrittura correnti per l' AWS account corrente e la regione.

**Example**  
L' AWS CLI esempio seguente mostra come descrivere le quote di throughput attualmente assegnate.  

```
aws dynamodb describe-limits
```
L'output mostra le quote superiori di unità di capacità di lettura e scrittura per il conto corrente AWS e la regione.

Per ulteriori informazioni sulle quote e su come richiedere un aumento delle quote, consulta [Quote predefinite della velocità di trasmissione effettiva](ServiceQuotas.md#default-limits-throughput).

# Considerazioni sulla scelta di una classe di tabella in DynamoDB
<a name="WorkingWithTables.tableclasses"></a>

DynamoDB offre due classi di tabelle progettate per aiutarti a ottimizzare i costi. La classe di tabella DynamoDB Standard è quella predefinita ed è consigliata per la maggior parte dei carichi di lavoro. La classe di tabella DynamoDB Standard-Infrequent Access (DynamoDB Standard (accesso infrequente)) è ottimizzata per le tabelle in cui l'archiviazione è il costo principale. Ad esempio, le tabelle che archiviano dati a cui si accede raramente, come i registri delle applicazioni, i vecchi post sui social media, la cronologia degli ordini di e-commerce e i risultati di gioco precedenti, sono buoni candidati per la classe di tabella Standard (accesso infrequente).

Ogni tabella DynamoDB è associata a una classe di tabella. Tutti gli indici secondari associati alla tabella utilizzano la stessa classe di tabella. È possibile impostare la classe di tabella durante la creazione della tabella (DynamoDB Standard per impostazione predefinita) e aggiornare la classe di tabella di una tabella esistente utilizzando la AWS CLI o l' Console di gestione AWS SDK. AWS DynamoDB supporta anche la gestione della classe di tabelle AWS CloudFormation utilizzando tabelle a regione singola (tabelle che non sono tabelle globali). Ogni classe di tabella offre prezzi diversi per l'archiviazione dati e le richieste di lettura e scrittura. Quando scegli una classe di tabella per la tua tabella, tieni presente quanto segue:
+ La classe di tabella DynamoDB Standard offre costi di throughput inferiori rispetto a DynamoDB Standard (accesso infrequente) ed è l'opzione più conveniente per le tabelle in cui il throughput è il costo dominante. 
+ La classe di tabella DynamoDB Standard (accesso infrequente) offre costi di storage inferiori rispetto a DynamoDB Standard ed è l'opzione più conveniente per le tabelle in cui l'archiviazione è il costo dominante. Quando l'archiviazione supera il 50% del costo del throughput (letture e scritture) di una tabella utilizzando la classe di tabella DynamoDB Standard, la classe di tabella DynamoDB Standard (accesso infrequente) può aiutare a ridurre il costo totale della tabella. 
+ Le tabelle DynamoDB Standard (accesso infrequente) offrono le stesse prestazioni, durata e disponibilità delle tabelle DynamoDB Standard. 
+ Il passaggio tra le classi di tabella DynamoDB Standard e Standard (accesso infrequente) non richiede la modifica del codice dell'applicazione. Utilizzi lo stesso APIs DynamoDB e gli stessi endpoint di servizio indipendentemente dalla classe di tabella utilizzata dalle tabelle. 
+ Le tabelle DynamoDB Standard-IA sono compatibili con tutte le funzionalità di DynamoDB esistenti come la scalabilità automatica, la time-to-live modalità on-demand (TTL), i backup su richiesta, il ripristino (PITR) e gli indici secondari globali. point-in-time

La classe di tabella più conveniente per la tabella dipende dai modelli di archiviazione e utilizzo del throughput previsti dalla tabella. Puoi esaminare lo storico dei costi e dell'utilizzo dello storage e del throughput della tabella con AWS Cost and Usage Reports e AWS Cost Explorer. Utilizza questi dati storici per determinare la classe di tabella più conveniente per la tua tabella. Per ulteriori informazioni sull'utilizzo dei report sui AWS costi e sull'utilizzo e del AWS Cost Explorer, consulta la documentazione di [AWS Billing and Cost Management](https://docs.aws.amazon.com/account-billing/index.html). Per dettagli sui prezzi della classe di tabella, consulta [Amazon DynamoDB Pricing](https://aws.amazon.com/dynamodb/pricing/on-demand/).

**Nota**  
Un aggiornamento della classe di tabella è un processo in background. Puoi comunque accedere normalmente alla tabella durante un aggiornamento della classe di tabella. Il tempo necessario per aggiornare la classe di tabella dipende dal traffico della tabella, dalle dimensioni di archiviazione e da altre variabili correlate. Non sono consentiti più di due aggiornamenti della classe di tabella in un periodo finale di 30 giorni.

# Aggiunta di tag ed etichette alle risorse in DynamoDB
<a name="Tagging"></a>

È possibile etichettare le risorse Amazon DynamoDB utilizzando i *tag*. I tag consentono di categorizzare le risorse in diversi modi, ad esempio, per scopo, proprietario, ambiente o altri criteri. I tag consentono di eseguire le seguenti operazioni:
+ identificare rapidamente una risorsa in base ai tag a questa assegnati.
+ Visualizza le AWS fatture suddivise per tag.
**Nota**  
Tutti gli indici secondari locali (LSI) e gli indici secondari globali (GSI) correlati alle tabelle con le etichette, sono etichettati con gli stessi tag in modo automatico. Attualmente, l'utilizzo di DynamoDB Streams non può essere taggato.

Il tagging è supportato da AWS servizi come Amazon EC2, Amazon S3, DynamoDB e altri. Un tagging efficiente può fornire informazioni dettagliate sui costi abilitando la creazione di report su servizi che recano tag specifici.

Per iniziare a utilizzare il tagging, procedi come segue:

1. comprendere [Limitazioni dell'assegnazione di tag in DynamoDB](#TaggingRestrictions);

1. creare tag utilizzando [Assegnazione di tag alle risorse in DynamoDB](Tagging.Operations.md);

1. Utilizzalo [Utilizzo dei tag DynamoDB per creare report di allocazione dei costi](#CostAllocationReports) per tenere traccia dei costi per tag attivo. AWS 

Infine, è buona norma seguire strategie di tagging ottimali. Per informazioni, consulta [Strategie di assegnazione di tag di AWS](https://d0.awsstatic.com/aws-answers/AWS_Tagging_Strategies.pdf).

## Limitazioni dell'assegnazione di tag in DynamoDB
<a name="TaggingRestrictions"></a>

 Ogni tag consiste di una chiave e di un valore, entrambi personalizzabili. Le restrizioni si applicano come segue: 
+  Ogni tabella DynamoDB può avere solo un tag con la stessa chiave. Se provi ad aggiungere un tag esistente (con la stessa chiave), il valore del tag esistente viene caricato al nuovo valore; 
+  I valori e le chiavi dei tag rispettano la distinzione tra maiuscole e minuscole. 
+  La lunghezza massima della chiave è di 128 caratteri Unicode. 
+ La lunghezza massima del valore è di 256 caratteri Unicode. 
+  i caratteri consentiti sono lettere, spazi vuoti, numeri e i seguenti caratteri speciali: `+ - = . _ : /` 
+  Il numero massimo di tag per risorsa è 50.
+ La dimensione massima supportata per tutti i tag in una tabella è 10 KB.
+ AWS-ai nomi e ai valori dei tag assegnati viene assegnato automaticamente il `aws:` prefisso, che non puoi assegnare. AWS-i nomi dei tag assegnati non vengono conteggiati ai fini del limite di tag di 50 o del limite di dimensione massima di 10 KB. I nomi dei tag assegnati dall'utente hanno il prefisso `user:` nel report di allocazione dei costi; 
+  Non puoi retrodatare l'applicazione di un tag. 

# Assegnazione di tag alle risorse in DynamoDB
<a name="Tagging.Operations"></a>

Puoi utilizzare la console Amazon DynamoDB o AWS Command Line Interface il AWS CLI() per aggiungere, elencare, modificare o eliminare tag. Puoi quindi attivare questi tag definiti dall'utente in modo che vengano visualizzati nella console Gestione dei costi e fatturazione AWS per il tracciamento dell'allocazione dei costi. Per ulteriori informazioni, consulta [Utilizzo dei tag DynamoDB per creare report di allocazione dei costi](Tagging.md#CostAllocationReports). 

 Per la modifica in blocco, puoi anche utilizzare l'editor di tag nella Console di gestione AWS. Per ulteriori informazioni, consulta [Utilizzo dell'editor di tag](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html).

 Per utilizzare l'API DynamoDB, consulta le seguenti operazioni nella [Documentazione di riferimento delle API di Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/):
+ [TagResource](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TagResource.html)
+ [UntagResource](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UntagResource.html)
+ [ListTagsOfResource](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ListTagsOfResource.html)

**Topics**
+ [Impostazione delle autorizzazioni per filtrare in base ai tag](#Tagging.Operations.permissions)
+ [Aggiunta di tag a tabelle nuove o esistenti (Console di gestione AWS)](#Tagging.Operations.using-console)
+ [Aggiunta di tag a tabelle nuove o esistenti (AWS CLI)](#Tagging.Operations.using-cli)

## Impostazione delle autorizzazioni per filtrare in base ai tag
<a name="Tagging.Operations.permissions"></a>

Per utilizzare i tag per filtrare l'elenco delle tabelle nella console DynamoDB, assicurati che le policy dell'utente includano l'accesso alle seguenti operazioni:
+ `tag:GetTagKeys`
+ `tag:GetTagValues`

È possibile accedere a queste operazioni collegando una nuova policy IAM all'utente attenendosi alla procedura riportata di seguito.

1. Accedi alla [Console IAM](https://console.aws.amazon.com/iam/) come utente amministratore.

1. Nel menu di navigazione a sinistra, seleziona "Policy".

1. Seleziona "Crea policy".

1. Incollare la seguente policy nell'editor JSON.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetTagKeys",
                   "tag:GetTagValues"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Completare la procedura guidata e assegnare un nome alla policy, ad esempio `TagKeysAndValuesReadAccess`.

1. Dal menu di navigazione a sinistra, scegli "Utenti".

1. Dall'elenco, seleziona l'utente normalmente utilizzato per accedere alla console DynamoDB.

1. Seleziona "Aggiungi autorizzazioni".

1. Seleziona "Collega direttamente le policy esistenti".

1. Seleziona quindi la policy creata in precedenza.

1. Completa la procedura guidata.

## Aggiunta di tag a tabelle nuove o esistenti (Console di gestione AWS)
<a name="Tagging.Operations.using-console"></a>

È possibile utilizzare la console DynamoDB per aggiungere, tag a nuove tabelle durante la loro creazione oppure aggiungere, modificare o eliminare i tag di tabelle esistenti.

**Per assegnare tag alle risorse al momento della creazione (console)**

1. Accedi Console di gestione AWS e apri la console DynamoDB all'indirizzo. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)

1. Nel pannello di navigazione, scegli **Tabelle**, quindi seleziona **Crea tabella**.

1. Nella pagina **Create DynamoDB table (Crea tabella DynamoDB)**, fornire un nome e una chiave primaria. Nella sezione **Tags (Tag)**, scegli **Add new tag (Aggiungi nuovo tag)** e inserisci i tag che vuoi utilizzare.

   Per informazioni sulla struttura dei tag, consulta [Limitazioni dell'assegnazione di tag in DynamoDB](Tagging.md#TaggingRestrictions). 

   Per ulteriori informazioni sulla creazione delle tabelle, consulta [Operazioni di base sulle tabelle DynamoDB](WorkingWithTables.Basics.md).

**Per assegnare tag alle risorse esistenti (console)**

Apri la console DynamoDB all'indirizzo. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)

1. Nel pannello di navigazione, seleziona **Tabelle**.

1. Scegli una tabella nell'elenco, quindi scegli la scheda **Additional settings (Impostazioni aggiuntive)**. Puoi aggiungere, modificare o eliminare i tag nella sezione **Tags (Tag)** nella parte inferiore della pagina.

## Aggiunta di tag a tabelle nuove o esistenti (AWS CLI)
<a name="Tagging.Operations.using-cli"></a>

Gli esempi seguenti mostrano come utilizzare i tag AWS CLI per specificare quando si creano tabelle e indici e per etichettare le risorse esistenti.

**Per assegnare tag alle risorse al momento della creazione (AWS CLI)**
+ Il seguente esempio crea una nuova tabella `Movies` e aggiunge il tag `Owner` con un valore `blueTeam`: 

  ```
  aws dynamodb create-table \
      --table-name Movies \
      --attribute-definitions AttributeName=Title,AttributeType=S \
      --key-schema AttributeName=Title,KeyType=HASH \
      --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \
      --tags Key=Owner,Value=blueTeam
  ```

**Per assegnare tag alle risorse esistenti (AWS CLI)**
+ L'esempio seguente aggiunge il tag `Owner` con un valore `blueTeam` della tabella `Movies`: 

  ```
  aws dynamodb tag-resource \
      --resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/Movies \
      --tags Key=Owner,Value=blueTeam
  ```

**Per elencare tutti i tag di una tabella (AWS CLI)**
+ L'esempio seguente elenca tutti i tag associati alla tabella `Movies`:

  ```
  aws dynamodb list-tags-of-resource \
      --resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/Movies
  ```

## Utilizzo dei tag DynamoDB per creare report di allocazione dei costi
<a name="CostAllocationReports"></a>

AWS utilizza i tag per organizzare i costi delle risorse nel rapporto di allocazione dei costi. AWS fornisce due tipi di tag di allocazione dei costi:
+ Un AWS tag generato. AWS definisce, crea e applica questo tag per te.
+ Tag definiti dall'utente. L'utente definisce, crea e applica questi tag.

È necessario attivare entrambi i tipi di tag separatamente per poterli visualizzare in Cost Explorer o in un report di allocazione dei costi. 

 Per attivare i tag AWS generati: 

1.  Accedi Console di gestione AWS e apri la console Billing and Cost Management [https://console.aws.amazon.com/billing/a](https://console.aws.amazon.com/billing/home#/.) casa\$1/. 

1.  Nel riquadro di navigazione scegli **Cost Allocation Tags (Tag per l'allocazione dei costi)**. 

1.  In **Tag per l'allocazione dei costi generati da AWS** scegli **Attiva**. 

 Per attivare i tag definiti dall'utente: 

1.  Accedi Console di gestione AWS e apri la console Billing and Cost Management [https://console.aws.amazon.com/billing/a](https://console.aws.amazon.com/billing/home#/.) casa\$1/. 

1.  Nel riquadro di navigazione scegli **Cost Allocation Tags (Tag per l'allocazione dei costi)**. 

1.  In **Tag per l'allocazione dei costi definiti dall'utente** scegli **Attiva**. 

 Dopo aver creato e attivato i tag, AWS genera un rapporto di allocazione dei costi con l'utilizzo e i costi raggruppati in base ai tag attivi. Il rapporto sull'allocazione dei costi include tutti i AWS costi per ogni periodo di fatturazione. Il report include sia le risorse taggate, sia quelle non taggate, per permetterti di organizzare in modo chiaro le spese per le risorse. 

**Nota**  
 Attualmente, tutti i dati trasferiti da DynamoDB non saranno suddivisi per tag nei report di allocazione dei costi. 

 Per ulteriori informazioni, consulta [Utilizzo dei tag per l'allocazione dei costi](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). 