

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de tables et de données dans DynamoDB
<a name="WorkingWithTables"></a>

Cette section explique comment utiliser le AWS Command Line Interface (AWS CLI) et le AWS SDKs pour créer, mettre à jour et supprimer des tables dans Amazon DynamoDB.

**Note**  
Vous pouvez également effectuer ces tâches à l’aide de AWS Management Console. Pour de plus amples informations, veuillez consulter [Utilisation de la console](AccessingDynamoDB.md#ConsoleDynamoDB).

Cette section fournit également des informations supplémentaires sur la capacité de débit, l’utilisation de l’autoscaling de DynamoDB ou le paramétrage manuel du débit alloué.

**Topics**
+ [Opérations de base sur les tables DynamoDB](WorkingWithTables.Basics.md)
+ [Points à prendre en considération lors du choix d’une classe de tables dans DynamoDB](WorkingWithTables.tableclasses.md)
+ [Ajout de balises et d’étiquettes aux ressources dans DynamoDB](Tagging.md)

# Opérations de base sur les tables DynamoDB
<a name="WorkingWithTables.Basics"></a>

Comme d’autres systèmes de base de données, Amazon DynamoDB stocke les données dans des tables. Vous pouvez gérer vos tables à l’aide de quelques opérations de base.

**Topics**
+ [Création d’une table](#WorkingWithTables.Basics.CreateTable)
+ [Description d’une table](#WorkingWithTables.Basics.DescribeTable)
+ [Mise à jour d’une table](#WorkingWithTables.Basics.UpdateTable)
+ [Suppression d’une table](#WorkingWithTables.Basics.DeleteTable)
+ [Utilisation de la protection contre la suppression](#WorkingWithTables.Basics.DeletionProtection)
+ [Liste des noms de table](#WorkingWithTables.Basics.ListTables)
+ [Description des quotas de débit alloué](#WorkingWithTables.Basics.DescribeLimits)

## Création d’une table
<a name="WorkingWithTables.Basics.CreateTable"></a>

L’opération `CreateTable` vous permet de créer une table dans Amazon DynamoDB. Pour créer la table, vous devez fournir les informations suivantes :
+ **Nom de la table.** Le nom doit être conforme aux règles de dénomination DynamoDB et doit être unique pour le compte AWS actuel et la région. Par exemple, vous pouvez créer une table `People` dans la région USA Est (Virginie du Nord), et une autre table `People` en Europe (Irlande). Ces deux tables seraient toutefois entièrement différentes l’une de l’autre. Pour de plus amples informations, veuillez consulter [Types de données et règles de dénomination pris en charge dans Amazon DynamoDB](HowItWorks.NamingRulesDataTypes.md).
+ **Clé primaire.** La clé primaire peut se composer d’un attribut (clé de partition) ou de deux attributs (clé de partition et clé de tri). Vous devez indiquer les noms d’attribut, les types de données et le rôle de chaque attribut : `HASH` (pour une clé de partition) et `RANGE` (pour une clé de tri). Pour de plus amples informations, veuillez consulter [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).
+ **Paramètres de débit (pour les tables allouées)** Si vous utilisez le mode alloué, vous devez spécifier les paramètres de débit initial de lecture et d’écriture pour la table. Vous pouvez modifier ces paramètres ultérieurement ou activer l’autoscaling de DynamoDB afin que les paramètres soient gérés pour vous. Pour en savoir plus, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md) et [Gestion automatique de la capacité de débit avec la scalabilité automatique de DynamoDB](AutoScaling.md).

### Exemple 1 : créer une table à la demande
<a name="create-payperrequest-example"></a>

Pour créer la même table `Music` en mode à la demande.

```
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’opération `CreateTable` renvoie des métadonnées pour la table, comme illustré ci-dessous.

```
{
    "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
    }
}
```

**Important**  
 Lorsque vous appelez `DescribeTable` sur une table à la demande, les unités de capacité de lecture et d'écriture sont remises à 0. 

### Exemple 2 : créer une table allouée
<a name="create-provisioned-example"></a>

L' AWS CLI exemple suivant montre comment créer une table (`Music`). La clé primaire se compose de `Artist` (clé de partition) et de `SongTitle` (clé de tri), chacune d’elles ayant le type de données `String`. Le débit maximum pour cette table est de 10 unités de capacité de lecture et 5 unités de capacité d’écriture.

```
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’opération `CreateTable` renvoie des métadonnées pour la table, comme illustré ci-dessous.

```
{
    "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’élément `TableStatus` indique l’état réel de la table (`CREATING`). La création de la table peut prendre un certain temps, selon les valeurs que vous spécifiez pour `ReadCapacityUnits` et `WriteCapacityUnits`. Plus ces valeurs sont élevées, plus DynamoDB doit allouer des ressources à la table.

### Exemple 3 : créer une table à l’aide de la classe de tables DynamoDB Standard-Infrequent Access
<a name="create-infrequent-access-example"></a>

Pour créer la même table `Music` à l’aide de la classe de tables DynamoDB Standard-Infrequent Access.

```
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’opération `CreateTable` renvoie des métadonnées pour la table, comme illustré ci-dessous.

```
{
    "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
    }
}
```

## Description d’une table
<a name="WorkingWithTables.Basics.DescribeTable"></a>

Affichez les détails d’une table à l’aide de l’opération `DescribeTable`. Vous devez fournir le nom de la table. La sortie de `DescribeTable` est au même format que celle de `CreateTable`. Elle inclut l’horodatage de la création de la table, son schéma de clé, ses paramètres de débit alloué, sa taille estimée et tout index secondaire présent.

**Important**  
 Lorsque vous appelez `DescribeTable` sur une table à la demande, les unités de capacité de lecture et d’écriture sont remises à 0. 

**Example**  

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

La table est prête à l’emploi lorsque `TableStatus` passe de `CREATING` à `ACTIVE`.

**Note**  
Si vous exécutez une demande `DescribeTable` immédiatement après une demande `CreateTable`, DynamoDB peut renvoyer une erreur (`ResourceNotFoundException`). En effet, `DescribeTable` utilise une demande à cohérence à terme et les métadonnées pour votre table peuvent ne pas être disponibles à ce moment-là. Attendez quelques secondes, puis réessayez d’envoyer la demande `DescribeTable`.  
À des fins de facturation, vos coûts de stockage DynamoDB incluent une surcharge par élément de 100 octets. (Pour en savoir plus, consultez [Tarification DynamoDB](https://aws.amazon.com/dynamodb/pricing/).) Ces 100 octets supplémentaires par élément ne sont pas utilisés dans les calculs d’unité de capacité ou par l’opération `DescribeTable`. 

## Mise à jour d’une table
<a name="WorkingWithTables.Basics.UpdateTable"></a>

L’opération `UpdateTable` vous permet d’exécuter l’une des actions suivantes :
+ Modifier les paramètres de débit alloué d’une table (pour les tables en mode alloué)
+ Modifiez le mode de read/write capacité de la table.
+ Manipuler des index secondaires globaux dans la table (voir [Utilisation d’index secondaires globaux dans DynamoDB](GSI.md))
+ Activer ou désactiver DynamoDB Streams sur la table (voir [Modifier la récupération de données pour DynamoDB Streams](Streams.md)).

**Example**  
L' AWS CLI exemple suivant montre comment modifier les paramètres de débit provisionné d'une table.  

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

**Note**  
Lorsque vous émettez une demande `UpdateTable`, le statut de la table passe de `AVAILABLE` à `UPDATING`. La table reste entièrement utilisable pendant sa `UPDATING`. Lorsque ce processus est terminé, le statut de la table passe de `UPDATING` à `AVAILABLE`.

**Example**  
L' AWS CLI exemple suivant montre comment modifier le mode de read/write capacité d'une table en mode à la demande.  

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

## Suppression d’une table
<a name="WorkingWithTables.Basics.DeleteTable"></a>

Vous pouvez supprimer une table non utilisée avec l’opération `DeleteTable`. Une fois supprimée, une table est irrécupérable. Pour supprimer une table à l’aide d’ AWS Management Console, consultez [Étape 6 : (Facultatif) supprimer votre table DynamoDB pour nettoyer les ressources](getting-started-step-6.md).

**Example**  
L' AWS CLI exemple suivant montre comment supprimer une table.  

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

Lorsque vous émettez une demande `DeleteTable`, le statut de la table passe de `ACTIVE` à `DELETING`. La suppression de la table peut prendre un certain temps, selon les ressources utilisées (par exemple les données stockées dans la table ou les flux ou index sur la table).

Une fois l’opération `DeleteTable` terminée, la table n’existe plus dans DynamoDB.

## Utilisation de la protection contre la suppression
<a name="WorkingWithTables.Basics.DeletionProtection"></a>

Vous pouvez protéger une table contre toute suppression accidentelle grâce à la propriété de protection contre la suppression. L’activation de cette propriété pour les tables permet de s’assurer que celles-ci ne seront pas supprimées accidentellement lors des opérations classiques de gestion des tables par vos administrateurs. Cela vous aidera à éviter toute interruption de vos activités métier normales.

 Le propriétaire de la table ou un administrateur autorisé contrôle la propriété de protection contre la suppression pour chaque table. La propriété de protection contre la suppression pour chaque table est désactivée par défaut. Cela inclut les répliques globales et les tables restaurées à partir de sauvegardes. Lorsque la protection contre la suppression est désactivée pour une table, celle-ci peut être supprimée par tous les utilisateurs autorisés par une stratégie Identity and Access Management (IAM). Lorsque la protection contre la suppression est activée pour une table, personne ne peut la supprimer. 

Pour modifier ce paramètre, accédez aux **Paramètres supplémentaires** de la table, puis au volet **Protection contre la suppression** et sélectionnez **Activer la protection contre la suppression**. 

La propriété de protection contre la suppression est prise en charge par la console DynamoDB, l’API, CLI/SDK et CloudFormation. L’API `CreateTable` prend en charge la propriété de protection contre la suppression lors de la création de la table, et l’API `UpdateTable` prend en charge la modification de la propriété de protection contre la suppression pour les tables existantes.

**Note**  
Si un AWS compte est supprimé, toutes les données de ce compte, y compris les tables, sont toujours supprimées dans les 90 jours.
Si DynamoDB perd l’accès à une clé gérée par le client ayant permis de chiffrer une table, il archive tout de même la table. L’archivage implique la création d’une sauvegarde de la table et la suppression de l’original.

## Liste des noms de table
<a name="WorkingWithTables.Basics.ListTables"></a>

L'`ListTables`opération renvoie les noms des tables DynamoDB pour le compte AWS courant et la région.

**Example**  
L' AWS CLI exemple suivant montre comment répertorier les noms des tables DynamoDB.  

```
aws dynamodb list-tables
```

## Description des quotas de débit alloué
<a name="WorkingWithTables.Basics.DescribeLimits"></a>

L'`DescribeLimits`opération renvoie les quotas de capacité de lecture et d'écriture actuels pour le AWS compte courant et la région.

**Example**  
L' AWS CLI exemple suivant montre comment décrire les quotas de débit actuellement provisionnés.  

```
aws dynamodb describe-limits
```
La sortie indique les quotas supérieurs d'unités de capacité de lecture et d'écriture pour le AWS compte courant et la région.

Pour en savoir plus sur ces quotas et la procédure à suivre pour demander une augmentation des quotas, consultez [Quotas de débit par défaut](ServiceQuotas.md#default-limits-throughput).

# Points à prendre en considération lors du choix d’une classe de tables dans DynamoDB
<a name="WorkingWithTables.tableclasses"></a>

DynamoDB propose deux classes de tables conçues pour vous aider à optimiser vos coûts. La classe de tables DynamoDB Standard est la classe par défaut. Elle est recommandée pour la grande majorité des charges de travail. La classe de tables DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) est optimisée pour les tables où le stockage est le coût dominant. Par exemple, les tables qui stockent des données rarement consultées, comme les journaux d’applications, les anciennes publications sur les réseaux sociaux, l’historique des commandes d’e-commerce et les exploits de jeux passés, sont de bons candidats pour la classe de tables Standard-IA.

Chaque table DynamoDB est associée à une classe de tables. Tous les index secondaires associés à la table utilisent la même classe de table. Vous pouvez définir votre classe de table lors de la création de votre table (DynamoDB Standard par défaut) et mettre à jour la classe de table d'une table existante à l'aide de la AWS Management Console AWS CLI ou du SDK. AWS DynamoDB prend également en charge la gestion de votre classe de table à AWS CloudFormation l'aide de tables à région unique (tables qui ne sont pas des tables globales). Chaque classe de tables offre une tarification différente pour le stockage de données, ainsi que pour les demandes de lecture et d’écriture. Lorsque vous choisissez une classe de tables pour votre table, gardez à l’esprit les points suivants :
+ La classe de tables DynamoDB Standard offre des coûts de débit inférieurs à ceux de DynamoDB Standard-IA et constitue l’option la plus économique pour les tables dont le débit est le coût dominant. 
+ La classe de tables DynamoDB Standard-IA offre des coûts de stockage inférieurs à ceux de DynamoDB Standard et constitue l’option la plus économique pour les tables dont le stockage est le coût dominant. Lorsque le stockage dépasse 50 % du coût de débit (lectures et écritures) d’une table utilisant la classe de tables DynamoDB Standard, la classe de tables DynamoDB Standard-IA peut vous aider à réduire le coût total de votre table. 
+ Les tables DynamoDB Standard-IA offrent les mêmes performances, durabilité et disponibilité que les tables DynamoDB Standard. 
+ Basculer entre les classes de tables DynamoDB Standard et DynamoDB Standard-IA ne nécessite pas de modification du code de votre application. Vous utilisez les mêmes points de terminaison APIs DynamoDB et de service, quelle que soit la classe de table utilisée par vos tables. 
+ Les tables DynamoDB Standard-IA sont compatibles avec toutes les fonctionnalités DynamoDB existantes, telles que le dimensionnement automatique, le time-to-live mode à la demande (TTL), les point-in-time sauvegardes à la demande, la restauration (PITR) et les index secondaires globaux.

La classe de tables la plus économique pour votre table dépend des modèles de stockage et d’utilisation du débit attendus de votre table. Vous pouvez consulter l'historique des coûts et de l'utilisation du stockage et du débit de votre table à l'aide des rapports sur les AWS coûts et d'utilisation et du AWS Cost Explorer. Ces données historiques vous permettent de déterminer la classe de tables la plus économique pour votre table. Pour en savoir plus sur l'utilisation de AWS Cost and Usage Reports et du AWS Cost Explorer, consultez la [documentation AWS Billing and Cost Management](https://docs.aws.amazon.com/account-billing/index.html). Pour en savoir plus sur la tarification des classes de tables, consultez [Tarification Amazon DynamoDB](https://aws.amazon.com/dynamodb/pricing/on-demand/).

**Note**  
Une mise à jour de classe de tables est un processus d’arrière-plan. Lors de la mise à jour d’une classe de tables, vous pouvez toujours accéder normalement à votre table. La durée de mise à jour de votre classe de tables dépend du trafic de votre table, de la taille de stockage et d’autres variables associées. Sur une période de 30 jours, jusqu’à deux mises à jour de classe de tables sont autorisées sur votre table.

# Ajout de balises et d’étiquettes aux ressources dans DynamoDB
<a name="Tagging"></a>

Vous pouvez libeller des ressources Amazon DynamoDB à l’aide d’*étiquettes*. Les balises vous permettent de classer vos ressources de différentes manières, par exemple, par objectif, par propriétaire, par environnement ou selon d’autres critères. Les balises vous permettent d’effectuer les actions suivantes :
+ Identifier rapidement une ressource en fonction des balises que vous lui avez attribuées.
+ Voir AWS les factures ventilées par tags.
**Note**  
Les index secondaires locaux (LSI) et les index secondaires globaux (GSI) associés aux tables balisées sont étiquetés avec les mêmes balises automatiquement. Actuellement, l’utilisation DynamoDB Streams ne peut pas être étiquetée.

Le balisage est pris en charge par AWS des services tels qu'Amazon EC2, Amazon S3, DynamoDB, etc. Un balisage efficace peut fournir un aperçu sur les coûts en vous permettant de créer des rapports sur les services associés à une balise spécifique.

Pour commencer le balisage, procédez comme suit :

1. Comprendre [Restrictions d’étiquetage dans DynamoDB](#TaggingRestrictions).

1. Créer des balises en utilisant [Étiquetage de ressources dans DynamoDB](Tagging.Operations.md).

1. [Utilisation des balises DynamoDB pour créer des rapports de répartition des coûts](#CostAllocationReports)À utiliser pour suivre vos AWS coûts par tag actif.

En dernier lieu, il est conseillé de suivre les politique de balisage optimales. Pour plus d’informations, consultez [Politiques d’étiquetage AWS](https://d0.awsstatic.com/aws-answers/AWS_Tagging_Strategies.pdf).

## Restrictions d’étiquetage dans DynamoDB
<a name="TaggingRestrictions"></a>

 Chaque étiquette est constituée d’une clé et d’une valeur, que vous définissez. Les restrictions suivantes s’appliquent : 
+  Chaque table DynamoDB ne peut avoir qu’une seule étiquette avec la même clé. Si vous tentez d’ajouter une balise existante (même clé), la valeur de la balise existante est mise à jour avec la nouvelle valeur. 
+  Les clés et les valeurs des balises distinguent les majuscules et minuscules. 
+  La longueur de clé maximale est de 128 caractères Unicode. 
+ La longueur de valeur maximale est de 256 caractères Unicode. 
+  Les caractères autorisés sont les lettres, les espaces blancs et les chiffres, ainsi que les caractères spéciaux suivants : `+ - = . _ : /` 
+  Le nombre maximum d’identifications par ressource est de 50.
+ La taille maximale prise en charge pour toutes les balises d’une table est de 10 Ko.
+ AWS-les noms et valeurs des balises assignés reçoivent automatiquement le `aws:` préfixe, que vous ne pouvez pas attribuer. AWS-les noms de balises attribués ne sont pas pris en compte dans la limite de 50 balises ni dans la limite de taille maximale de 10 Ko. Les noms des balises attribuées par l’utilisateur ont le préfixe `user:` dans le rapport de répartition des coûts. 
+  Vous ne pouvez pas antidater l’application d’une balise. 

# Étiquetage de ressources dans DynamoDB
<a name="Tagging.Operations"></a>

Vous pouvez utiliser la console Amazon DynamoDB ou AWS Command Line Interface le AWS CLI() pour ajouter, répertorier, modifier ou supprimer des balises. Vous pouvez ensuite activer ces balises définies par l’utilisateur afin de les faire apparaître sur la console AWS Billing and Cost Management pour le suivi de la répartition des coûts. Pour de plus amples informations, veuillez consulter [Utilisation des balises DynamoDB pour créer des rapports de répartition des coûts](Tagging.md#CostAllocationReports). 

 Pour la modification en bloc, vous pouvez également utiliser l’éditeur d’étiquettes sur l’ AWS Management Console. Pour plus d’informations, consultez [Utilisation de Tag Editor](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html).

 Pour utiliser l’API DynamoDB à la place, découvrez les opérations suivantes dans la [Référence d’API 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**
+ [Définition d’autorisations pour filtrer par étiquettes](#Tagging.Operations.permissions)
+ [Ajout d’étiquettes à des tables nouvelles ou existantes (AWS Management Console)](#Tagging.Operations.using-console)
+ [Ajout d'étiquettes à des tables nouvelles ou existantes (AWS CLI)](#Tagging.Operations.using-cli)

## Définition d’autorisations pour filtrer par étiquettes
<a name="Tagging.Operations.permissions"></a>

Pour utiliser des étiquettes afin de filtrer votre liste de tables dans la console DynamoDB, assurez-vous que les politiques de votre utilisateur incluent l’accès aux opérations suivantes :
+ `tag:GetTagKeys`
+ `tag:GetTagValues`

Pour accéder à ces opérations en attachant une nouvelle politique IAM à votre utilisateur, suivez les étapes ci-dessous.

1. Accédez à la [console IAM](https://console.aws.amazon.com/iam/) avec un utilisateur administrateur.

1. Dans le menu de navigation à gauche, sélectionnez « Policies (politiques) ».

1. Sélectionnez « Create Policy (Créer une politique) ».

1. Collez le politique suivante dans l’éditeur JSON.

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

****  

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

------

1. Suivez la procédure de l’Assistant et attribuez un nom à la politique (par exemple, `TagKeysAndValuesReadAccess`).

1. Dans le menu de navigation de gauche, sélectionnez « Users (Utilisateurs) ».

1. Dans la liste, sélectionnez l’utilisateur que vous utilisez normalement pour accéder à la console DynamoDB.

1. Sélectionnez « Add permissions (Ajouter des autorisations) ».

1. Sélectionnez « Attach existing policies directly (Attacher directement des politiques existantes) ».

1. Dans la liste, sélectionnez la politique que vous avez créée précédemment.

1. Exécutez l’assistant.

## Ajout d’étiquettes à des tables nouvelles ou existantes (AWS Management Console)
<a name="Tagging.Operations.using-console"></a>

Vous pouvez utiliser la console DynamoDB pour ajouter des étiquettes à de nouvelles tables lors de leur création, ou ajouter, modifier ou supprimer des étiquettes pour des tables existantes.

**Pour baliser des ressources lors de leur création (console)**

1. Connectez-vous à la console DynamoDB AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)

1. Dans le panneau de navigation, choisissez **Tables**, puis **Create table (Créer une table)**.

1. Sur la page **Create DynamoDB table (Créer une table DynamoDB)**, fournissez un nom et une clé primaire. Dans **Identifications**, choisissez **Ajouter une nouvelle identification** et saisissez les identifications que vous souhaitez utiliser.

   Pour plus d’informations sur la structure des balises, consultez [Restrictions d’étiquetage dans DynamoDB](Tagging.md#TaggingRestrictions). 

   Pour plus d’informations sur la création de tables, consultez [Opérations de base sur les tables DynamoDB](WorkingWithTables.Basics.md).

**Pour baliser des ressources existantes (console)**

Ouvrez la console DynamoDB à l'adresse. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)

1. Dans le volet de navigation, choisissez **Tables**.

1. Choisissez une table dans la liste, puis choisissez l’onglet **Paramètres supplémentaires**. Vous pouvez ajouter, modifier ou supprimer vos identifications dans la section **Identifications** en bas de la page.

## Ajout d'étiquettes à des tables nouvelles ou existantes (AWS CLI)
<a name="Tagging.Operations.using-cli"></a>

Les exemples suivants montrent comment utiliser le AWS CLI pour spécifier des balises lorsque vous créez des tables et des index, et pour étiqueter des ressources existantes.

**Pour baliser des ressources lors de leur création (AWS CLI)**
+ L’exemple suivant crée une nouvelle table `Movies` et ajoute la balise `Owner` avec la valeur `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
  ```

**Pour baliser des ressources existantes (AWS CLI)**
+ L’exemple suivant ajoute la table `Owner` avec la valeur `blueTeam` pour la table `Movies` : 

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

**Pour répertorier toutes les balises pour une table (AWS CLI)**
+ L’exemple suivant répertorie toutes les balises associées à la table `Movies` :

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

## Utilisation des balises DynamoDB pour créer des rapports de répartition des coûts
<a name="CostAllocationReports"></a>

AWS utilise des balises pour organiser les coûts des ressources dans votre rapport de répartition des coûts. AWS fournit deux types de balises de répartition des coûts :
+ Une balise AWS générée. AWS définit, crée et applique cette balise pour vous.
+ Etiquettes définies par l’utilisateur Vous définissez, créez et appliquez ces étiquettes.

Vous devez activer les deux types d’étiquettes séparément pour qu’elles apparaissent dans Cost Explorer ou sur un rapport de répartition des coûts. 

 Pour activer les balises AWS générées : 

1.  Connectez-vous à la console Billing AWS Management Console and Cost Management et ouvrez-la à l'adresse [https://console.aws.amazon.com/billing/home\$1/](https://console.aws.amazon.com/billing/home#/.). 

1.  Dans le volet de navigation, choisissez **Balises de répartition des coûts**. 

1.  Sous **Identifications de répartition des coûts générées par AWS**, choisissez **Activer**. 

 Pour activer les étiquettes définies par l’utilisateur : 

1.  Connectez-vous à la console Billing AWS Management Console and Cost Management et ouvrez-la à l'adresse [https://console.aws.amazon.com/billing/home\$1/](https://console.aws.amazon.com/billing/home#/.). 

1.  Dans le volet de navigation, choisissez **Balises de répartition des coûts**. 

1.  Sous **User-Defines Cost Allocation Tags (Etiquettes de répartition des coûts définies par l’utilisateur)**, choisissez **Activer**. 

 Après avoir créé et activé les balises, AWS génère un rapport de répartition des coûts avec votre utilisation et vos coûts regroupés en fonction de vos balises actives. Le rapport de répartition des coûts inclut tous vos AWS coûts pour chaque période de facturation. Ce rapport inclut les ressources balisées et non balisées, afin que vous puissiez organiser clairement les frais pour les ressources. 

**Note**  
 Actuellement, les données transférées à partir de DynamoDB ne sont pas réparties par étiquettes sur les rapports de répartition des coûts. 

 Pour plus d’informations, consultez [Utilisation des étiquettes d’allocation des coûts](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). 