

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.

# Version précédente de l’API DynamoDB de bas niveau (2011-12-05)
<a name="Appendix.APIv20111205"></a>

Cette section documente les opérations disponibles dans la version précédente de l’API de bas niveau DynamoDB (2011-12-05). Cette version de l’API de bas niveau est conservée à des fins de compatibilité descendante avec des applications existantes.

**Les nouvelles applications doivent utiliser la version actuelle de l’API (2012-08-10)**. Pour de plus amples informations, veuillez consulter [Référence de l’API DynamoDB](CurrentAPI.md).

**Note**  
Nous vous recommandons de migrer vos applications vers la dernière version de l’API (2012-08-10), car les nouvelles fonctions de DynamoDB ne seront pas rétroportées vers la version précédente de l’API.

**Topics**
+ [BatchGetItem](API_BatchGetItem_v20111205.md)
+ [BatchWriteItem](API_BatchWriteItem_v20111205.md)
+ [CreateTable](API_CreateTable_v20111205.md)
+ [DeleteItem](API_DeleteItem_v20111205.md)
+ [DeleteTable](API_DeleteTable_v20111205.md)
+ [DescribeTables](API_DescribeTables_v20111205.md)
+ [GetItem](API_GetItem_v20111205.md)
+ [ListTables](API_ListTables_v20111205.md)
+ [PutItem](API_PutItem_v20111205.md)
+ [Requête](API_Query_v20111205.md)
+ [Analyser](API_Scan_v20111205.md)
+ [UpdateItem](API_UpdateItem_v20111205.md)
+ [UpdateTable](API_UpdateTable_v20111205.md)

# BatchGetItem
<a name="API_BatchGetItem_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_BatchGetItem_Description"></a>

L'opération `BatchGetItem` renvoie les attributs de plusieurs éléments de tables multiples en utilisant leurs clés primaires. Le nombre maximum d'éléments pouvant être extraits pour une seule opération est de 100. En outre, le nombre d'éléments récupérés est limité par une limite de taille de 1 Mo. Si la limite de taille de réponse est dépassée ou si un résultat partiel est renvoyé parce que le débit approvisionné de la table est dépassé ou en raison d'un échec de traitement interne, DynamoDB renvoie une valeur `UnprocessedKeys` afin de vous permettre de réessayer l'opération en commençant par l'élément suivant à obtenir. DynamoDB ajuste automatiquement le nombre d'éléments renvoyés par page pour appliquer cette limite. Par exemple, même si vous demandez à récupérer 100 éléments ayant chacun une taille de 50 Ko, le système renvoie 20 éléments et une valeur `UnprocessedKeys` appropriée pour vous permettre d'obtenir la page de résultats suivante. Si vous le souhaitez, votre application peut inclure sa propre logique pour assembler les pages de résultats en un seul ensemble.

Si aucun élément n'a pu être traité en raison d'un débit approvisionné insuffisant sur chacune des tables impliquées dans la demande, DynamoDB renvoie une erreur `ProvisionedThroughputExceededException`. 

**Note**  
Par défaut, la commande `BatchGetItem` effectue des lectures éventuellement cohérentes sur chaque table dans la demande. Vous pouvez définir le paramètre `ConsistentRead` sur `true` pour chaque table si vous voulez plutôt des lectures cohérentes.  
L'opération `BatchGetItem` récupère des éléments en parallèle afin de réduire les latences de réponse.  
Lors de la conception de votre application, gardez à l'esprit que DynamoDB ne garantit pas l'ordre des attributs dans la réponse renvoyée. Incluez les valeurs de clé primaire dans le paramètre `AttributesToGet` pour les éléments dans votre demande afin de vous aider à analyser la réponse par élément.   
Si les éléments demandés n'existent pas, rien n'est renvoyé dans la réponse pour ces éléments. Les demandes d'éléments inexistants consomment les unités de capacité de lecture minimum en fonction du type de lecture. Pour de plus amples informations, consultez [Tailles et formats d’élément DynamoDB](CapacityUnitCalculations.md).

## Requêtes
<a name="API_BatchGetItem_RequestParameters"></a>

### Syntaxe
<a name="API_BatchGetItem_RequestParameters.syntax"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{"RequestItems":
    {"Table1": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue1"}, "RangeKeyElement":{"N":"KeyValue2"}},
            {"HashKeyElement": {"S":"KeyValue3"}, "RangeKeyElement":{"N":"KeyValue4"}},
            {"HashKeyElement": {"S":"KeyValue5"}, "RangeKeyElement":{"N":"KeyValue6"}}],
        "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
    "Table2": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue4"}}, 
            {"HashKeyElement": {"S":"KeyValue5"}}],
        "AttributesToGet": ["AttributeName4", "AttributeName5", "AttributeName6"]
        }
    }
}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  RequestItems  | Conteneur du nom de table et éléments correspondants à obtenir par la clé primaire. Lors de la demande d'éléments, chaque nom de table ne peut être appelé qu'une seule fois par opération.Type : String Par défaut : aucun  |  Oui | 
| Table |  Nom de la table contenant les éléments à obtenir. L'entrée est simplement une chaîne spécifiant une table existante sans libellé. Type : String  Par défaut : aucun   | Oui | 
| Table:Keys  |  Valeurs de clé primaire définissant les éléments dans la table spécifiée. Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey). Type : clés   | Oui | 
| Table:AttributesToGet  |  Tableau de noms d'attribut dans la table spécifiée. Si des noms d'attribut ne sont pas spécifiés, tous les attributs sont renvoyés. Si certains attributs ne sont pas trouvés, ils n'apparaissent pas dans le résultat.  Type : Array   | Non | 
| Table:ConsistentRead  |  Si la valeur est définie sur `true`, une lecture cohérente est effectuée. Sinon une cohérence éventuelle est utilisée. Type : booléen   | Non | 

## Réponses
<a name="API_BatchGetItem_ResponseElements"></a>

### Syntaxe
<a name="API_BatchGetItem_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0 
content-length: 855

{"Responses":
    {"Table1":
        {"Items":
        [{"AttributeName1": {"S":"AttributeValue"},
        "AttributeName2": {"N":"AttributeValue"},
        "AttributeName3": {"SS":["AttributeValue", "AttributeValue", "AttributeValue"]}
        },
        {"AttributeName1": {"S": "AttributeValue"},
        "AttributeName2": {"S": "AttributeValue"},
        "AttributeName3": {"NS": ["AttributeValue", "AttributeValue", "AttributeValue"]}
        }],
    "ConsumedCapacityUnits":1},
    "Table2": 
        {"Items":
        [{"AttributeName1": {"S":"AttributeValue"},
        "AttributeName2": {"N":"AttributeValue"},
        "AttributeName3": {"SS":["AttributeValue", "AttributeValue", "AttributeValue"]}
        },
        {"AttributeName1": {"S": "AttributeValue"},
        "AttributeName2": {"S": "AttributeValue"},
        "AttributeName3": {"NS": ["AttributeValue", "AttributeValue","AttributeValue"]}
        }],
    "ConsumedCapacityUnits":1}
    },
    "UnprocessedKeys":
        {"Table3": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue1"}, "RangeKeyElement":{"N":"KeyValue2"}},
            {"HashKeyElement": {"S":"KeyValue3"}, "RangeKeyElement":{"N":"KeyValue4"}},
            {"HashKeyElement": {"S":"KeyValue5"}, "RangeKeyElement":{"N":"KeyValue6"}}],
        "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]}
        }
}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
| Responses  | Noms de table et attributs d'élément respectifs des tables.Type : carte  | 
| Table |  Nom de la table contenant les éléments. L'entrée est simplement une chaîne spécifiant la table sans libellé.Type : String  | 
| Items  | Conteneur pour les noms d'attribut et les valeurs correspondant aux paramètres d'opération.Type : mappage de noms d'attribut à leurs types de données et valeurs. | 
| ConsumedCapacityUnits | Nombre d'unités de capacité de lecture consommées pour chaque table. Cette valeur indique le nombre appliqué à votre débit approvisionné. Les demandes d'éléments inexistants consomment les unités de capacité de lecture minimum, selon le type de lecture. Pour plus d’informations, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). Type : nombre | 
| UnprocessedKeys | Contient un tableau de tables et leurs clés respectives qui n'ont pas été traités avec la réponse actuelle, probablement en raison de l'atteinte d'une limite de taille de réponse. La valeur `UnprocessedKeys` se présente sous la même forme qu'un paramètre `RequestItems` (de sorte que la valeur peut être fournie directement à une opération `BatchGetItem` subséquente). Pour plus d'informations, consultez le paramètre `RequestItems` ci-dessus.Type : Array  | 
| UnprocessedKeys: Table: Keys  | Valeurs d'attribut de clé primaire qui définissent les éléments et les attributs associés aux éléments. Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Type : tableau de paires nom-valeur d'attribut.  | 
| UnprocessedKeys: Table: AttributesToGet  |  Noms d'attribut dans la table spécifiée. Si des noms d'attribut ne sont pas spécifiés, tous les attributs sont renvoyés. Si certains attributs ne sont pas trouvés, ils n'apparaissent pas dans le résultat.  Type : tableau de noms d'attribut.  | 
| UnprocessedKeys: Table: ConsistentRead  |  Si la valeur est définie sur `true`, une lecture cohérente est utilisée pour la table spécifiée. Sinon, une lecture éventuellement cohérente est utilisée. Type : booléen.  | 

## Erreurs spéciales
<a name="API_BatchGetItem_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
| ProvisionedThroughputExceededException  | Votre débit approvisionné autorisé maximum a été dépassé.  | 

## Exemples
<a name="API_BatchGetItem_Examples"></a>

Les exemples suivants illustrent une requête HTTP POST et une réponse utilisant l'opération BatchGetItem. Pour des exemples d'utilisation du kit SDK AWS, consultez [Utilisation d’éléments et d’attributs dans DynamoDB](WorkingWithItems.md).

### Exemple de demande
<a name="API_BatchGetItem_Examples_Request"></a>

L'exemple suivant demande des attributs de deux tables différentes.

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 
content-length: 409

{"RequestItems":
    {"comp1":
        {"Keys":
            [{"HashKeyElement":{"S":"Casey"},"RangeKeyElement":{"N":"1319509152"}},
            {"HashKeyElement":{"S":"Dave"},"RangeKeyElement":{"N":"1319509155"}},
            {"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"1319509158"}}],
        "AttributesToGet":["user","status"]},
    "comp2":
        {"Keys":
            [{"HashKeyElement":{"S":"Julie"}},{"HashKeyElement":{"S":"Mingus"}}],
        "AttributesToGet":["user","friends"]}
    }
}
```

### Exemple de réponse
<a name="API_BatchGetItem_Examples_Response"></a>

L'exemple suivant est la réponse.

```
HTTP/1.1 200 OK
x-amzn-RequestId: GTPQVRM4VJS792J1UFJTKUBVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0 
content-length: 373
Date: Fri, 02 Sep 2011 23:07:39 GMT

{"Responses":
    {"comp1":
        {"Items":
            [{"status":{"S":"online"},"user":{"S":"Casey"}},
            {"status":{"S":"working"},"user":{"S":"Riley"}},
            {"status":{"S":"running"},"user":{"S":"Dave"}}],
        "ConsumedCapacityUnits":1.5},
    "comp2":
        {"Items":
            [{"friends":{"SS":["Elisabeth", "Peter"]},"user":{"S":"Mingus"}},
            {"friends":{"SS":["Dave", "Peter"]},"user":{"S":"Julie"}}],
        "ConsumedCapacityUnits":1}
    },
    "UnprocessedKeys":{}
}
```

# BatchWriteItem
<a name="API_BatchWriteItem_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_BatchWriteItems_Description"></a>

Cette opération vous permet d'insérer et de supprimer plusieurs éléments dans plusieurs tables en un seul appel. 

Pour charger un élément, vous pouvez utiliser `PutItem`. Et pour supprimer un élément, vous pouvez utiliser `DeleteItem`. Toutefois, lorsque vous souhaitez charger ou supprimer de grandes quantités de données, par exemple en chargeant des données d'Amazon EMR (Amazon EMR) ou en migrant des données d'une autre base de données vers DynamoDB, `BatchWriteItem` offre une alternative efficace. 

Si vous utilisez des langages tels que Java, vous pouvez utiliser des unités d'exécution pour charger des éléments en parallèle. Cela rend votre application plus complexe en lien avec la gestion des unités d'exécution. D'autres langages ne prennent pas en charge les unités d'exécution. Par exemple, si vous utilisez PHP, vous devez charger ou supprimer les éléments un par un. Dans les deux cas, `BatchWriteItem` fournit une alternative où les actions d'insertion et de suppression d'éléments spécifiées sont traitées en parallèle. Vous bénéficiez ainsi de la puissance de l'approche de groupe d'unités d'exécution sans avoir à introduire de la complexité dans votre application. 

Notez que chaque action d'insertion ou de suppression spécifiée dans une opération `BatchWriteItem` a le même coût en termes d'unités de capacité consommées. Cependant, `BatchWriteItem` effectuant les actions spécifiées en parallèle, vous bénéficiez d'une latence plus faible. Les actions de suppression d'éléments inexistants consomment 1 unité de capacité d'écriture. Pour plus d'informations sur les unités de capacité consommées, consultez [Utilisation de tables et de données dans DynamoDB](WorkingWithTables.md).

Lorsque vous utilisez `BatchWriteItem`, notez les limitations suivantes :
+ **Nombre maximum d'actions dans une seule demande – **Vous pouvez spécifier jusqu'à 25 actions d'insertion ou de suppression. Toutefois, la taille totale de la demande ne peut pas dépasser 1 Mo (charge utile HTTP). 
+ Vous pouvez utiliser l'opération `BatchWriteItem` uniquement pour insérer et supprimer des éléments. Vous ne pouvez pas l'utiliser pour mettre à jour des éléments existants.
+ **Opération non atomique – **Les actions individuelles spécifiées dans une opération `BatchWriteItem` sont atomiques. Cependant, une opération `BatchWriteItem` en tant que tout, est une opération effectuée sur la base du meilleur effort, non une opération atomique. Autrement dit, dans une demande `BatchWriteItem`, certaines opérations peuvent réussir et d'autres échouer. Les opérations ayant échoué sont renvoyées dans un champ `UnprocessedItems` dans la réponse. Certains de ces échecs peuvent résulter d'un dépassement du débit approvisionné configuré pour la table, ou d'un échec temporaire tel qu'une erreur réseau. Vous pouvez examiner et éventuellement renvoyer les demandes. En règle générale, vous appelez l'opération `BatchWriteItem` dans une boucle et, dans chaque itération, vérifiez les éléments non traités, puis soumettez une nouvelle demande `BatchWriteItem` avec ceux-ci. 
+ **Ne renvoie aucun élément – **L'opération `BatchWriteItem` est conçue pour charger efficacement de grandes quantités de données. Il ne présente pas le même niveau de sophistication que les opérations `PutItem` et `DeleteItem`. Par exemple, l'opération `DeleteItem` prend en charge le champ `ReturnValues` dans le corps de votre demande pour demander l'élément supprimé dans la réponse. L'opération `BatchWriteItem` ne renvoie aucun élément dans la réponse.
+ Contrairement aux opérations `PutItem` et `DeleteItem`, l'opération `BatchWriteItem` ne vous permet pas de spécifier des conditions sur des demandes d'écriture individuelles dans l'opération.
+ Les valeurs d'attribut ne peuvent pas être nulles, les attributs de type chaîne et binaire doivent avoir une longueur supérieure à zéro, et les attributs de type ensemble ne peuvent pas être vides. Les demandes comprenant des valeurs vides sont rejetées avec une valeur `ValidationException`.

DynamoDB rejette toute l'opération d'écriture par lot si l'une des conditions suivantes est vraie : 
+ Si une ou plusieurs tables spécifiées dans la demande `BatchWriteItem` n'existent pas.
+ Si les attributs de clé primaire spécifiés sur un élément dans la demande ne correspondent pas au schéma de clé primaire de la table correspondante.
+ Si vous essayez d'effectuer plusieurs opérations sur le même élément dans la même demande `BatchWriteItem`. Par exemple, vous ne pouvez pas insérer et supprimer le même élément dans la même demande `BatchWriteItem`. 
+ Si la taille totale de la demande dépasse la limite de 1 Mo (charge utile HTTP).
+ Si un élément individuel dans un lot dépasse la limite de taille d'élément de 64 Ko.

## Requêtes
<a name="API_BatchWriteItems_RequestParameters"></a>

### Syntaxe
<a name="API_BatchWriteItems_RequestParameters.syntax"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{
  "RequestItems" :  RequestItems
} 

RequestItems
{
     "TableName1" :  [ Request, Request, ... ],
     "TableName2" :  [ Request, Request, ... ],
     ...
}

Request ::=
  PutRequest | DeleteRequest

PutRequest ::=
{
  "PutRequest" : {
     "Item" : {
        "Attribute-Name1" : Attribute-Value,
        "Attribute-Name2" : Attribute-Value,
         ...
     }
  }
}

DeleteRequest ::=
{
   "DeleteRequest" : {
      "Key" : PrimaryKey-Value
   }
}


PrimaryKey-Value ::= HashTypePK | HashAndRangeTypePK

HashTypePK ::=
{ 
   "HashKeyElement" : Attribute-Value
}

HashAndRangeTypePK
{ 
   "HashKeyElement" : Attribute-Value,
   "RangeKeyElement" : Attribute-Value, 
}

Attribute-Value ::= String | Numeric| Binary | StringSet | NumericSet | BinarySet 

Numeric ::=
{
   "N": "Number"
}

String ::=
{
   "S": "String"
}

Binary ::=
{
    "B": "Base64 encoded binary data"
}

StringSet ::=
{
   "SS": [ "String1", "String2", ... ]
}

NumberSet ::=
{
   "NS": [ "Number1", "Number2", ... ]
}  

BinarySet ::=
{
   "BS": [ "Binary1", "Binary2", ... ]
}
```

Dans le corps de la demande, l'objet JSON `RequestItems` décrit les opérations que vous souhaitez effectuer. Les opérations sont regroupées par tables. Vous pouvez utiliser une opération `BatchWriteItem` pour mettre à jour ou supprimer plusieurs éléments dans plusieurs tables. Pour chaque demande d'écriture, vous devez identifier le type de demande (`PutItem`, `DeleteItem`), suivi d'informations détaillées sur l'opération. 
+ Pour une opération `PutRequest`, vous fournissez l'élément, c'est-à-dire une liste d'attributs avec leurs valeurs.
+ Pour une opération `DeleteRequest`, vous indiquez le nom et la valeur de la clé primaire. 

## Réponses
<a name="API_BatchWriteItems_ResponseElements"></a>

### Syntaxe
<a name="API_BatchWriteItems_ResponseElements.syntax"></a>

Voici la syntaxe du corps JSON renvoyé dans la réponse.

```
{
  "Responses" :         ConsumedCapacityUnitsByTable
  "UnprocessedItems" :  RequestItems
} 

ConsumedCapacityUnitsByTable
{
    "TableName1" : { "ConsumedCapacityUnits", : NumericValue },
    "TableName2" : { "ConsumedCapacityUnits", : NumericValue },
     ...
}

RequestItems
This syntax is identical to the one described in the JSON syntax in the request.
```

## Erreurs spéciales
<a name="API_BatchWriteItems_SpecialErrors"></a>

Aucune erreur spécifique à cette opération.

## Exemples
<a name="API_BatchWriteItems_Examples"></a>

L'exemple suivant illustre une requête HTTP POST et la réponse d'une opération `BatchWriteItem`. La requête spécifie les opérations suivantes sur les tables Reply et Thread :
+ Insérer et supprimer un élément dans la table Reply
+ Insérer un élément dans la table Thread

Pour des exemples d'utilisation du kit SDK AWS, consultez [Utilisation d’éléments et d’attributs dans DynamoDB](WorkingWithItems.md).

### Exemple de demande
<a name="API_BatchWriteItems_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{
  "RequestItems":{
    "Reply":[
      {
        "PutRequest":{
          "Item":{
            "ReplyDateTime":{
              "S":"2012-04-03T11:04:47.034Z"
            },
            "Id":{
              "S":"DynamoDB#DynamoDB Thread 5"
            }
          }
        }
      },
      {
        "DeleteRequest":{
          "Key":{
            "HashKeyElement":{
              "S":"DynamoDB#DynamoDB Thread 4"
            },
            "RangeKeyElement":{
              "S":"oops - accidental row"
            }
          }
        }
      }
    ],
    "Thread":[
      {
        "PutRequest":{
          "Item":{
            "ForumName":{
              "S":"DynamoDB"
            },
            "Subject":{
              "S":"DynamoDB Thread 5"
            }
          }
        }
      }
    ]
  }
}
```

### Exemple de réponse
<a name="API_BatchWriteItems_Examples_Response"></a>

L'exemple de réponse suivant montre une opération d'insertion sur les tables Thread et Reply réussie, et une opération de suppression sur la table Reply ayant échoué (pour une raison telle qu'une limitation résultant du dépassement du débit approvisionné sur la table). Dans la réponse JSON, notez ce qui suit :
+ L'objet `Responses` montre qu'une unité de capacité a été consommée sur les deux tables `Thread` et `Reply` suite à l'opération d'insertion réussie sur chacune d'elles. 
+ L'objet `UnprocessedItems` montre l'opération de suppression ayant échoué sur la table `Reply`. Vous pouvez ensuite émettre un nouvel appel `BatchWriteItem` pour traiter ces demandes non traitées.

```
HTTP/1.1 200 OK
x-amzn-RequestId: G8M9ANLOE5QA26AEUHJKJE0ASBVV4KQNSO5AEMVJF66Q9ASUAAJG
Content-Type: application/x-amz-json-1.0
Content-Length: 536
Date: Thu, 05 Apr 2012 18:22:09 GMT

{
   "Responses":{
      "Thread":{
         "ConsumedCapacityUnits":1.0
      },
      "Reply":{
         "ConsumedCapacityUnits":1.0
      }
   },
   "UnprocessedItems":{
      "Reply":[
         {
            "DeleteRequest":{
               "Key":{
                  "HashKeyElement":{
                     "S":"DynamoDB#DynamoDB Thread 4"
                  },
                  "RangeKeyElement":{
                     "S":"oops - accidental row"
                  }
               }
            }
         }
      ]
   }
}
```

# CreateTable
<a name="API_CreateTable_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_CreateTable_Description"></a>

L'opération `CreateTable` ajoute une table à votre compte

Le nom de la table doit être unique parmi ceux associés au compte AWS émettant la demande, et à la région AWS recevant la demande (par exemple dynamodb.us-west-2.amazonaws.com). Chaque point de terminaison DynamoDB est entièrement indépendant. Par exemple, si vous avez deux tables nommées « MyTable », l'une dans la région dynamodb.us-west-2.amazonaws.com et l'autre dans la région dynamodb.us-west-1.amazonaws.com, ces tables sont complètement indépendantes et ne partagent aucune donnée.

L'opération `CreateTable` déclenche un flux asynchrone pour commencer à créer la table. DynamoDB renvoie immédiatement l'état de la table (`CREATING`) jusqu'à ce que la table soit dans l'état `ACTIVE`. Une fois la table dans l'état `ACTIVE`, vous pouvez effectuer des opérations de plan de données. 

Utilisez l'opération [DescribeTables](API_DescribeTables_v20111205.md) pour vérifier l'état de la table. 

## Requêtes
<a name="API_CreateTable_RequestParameters"></a>

### Syntaxe
<a name="API_CreateTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.CreateTable 
content-type: application/x-amz-json-1.0 

{"TableName":"Table1",
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}
}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table à créer.Les caractères autorisés sont a-z, A-Z, 0-9, « \$1 » (trait de soulignement), « - » (tiret) et « . » (point). Les noms peuvent comporter entre 3 et 255 caractères. Type : String  |  Oui  | 
|  KeySchema  | Structure (simple ou composite) de la clé primaire pour la table. Une paire nom-valeur pour l'élément `HashKeyElement` est obligatoire, et une paire nom-valeur pour l'élément `RangeKeyElement` est facultatif (obligatoire uniquement pour les clés primaires composites). Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Les noms d'élément de clé primaire peuvent comporter entre 1 et 255 caractères sans restriction quant au type de caractère. Les valeurs possibles pour AttributeType sont « S » (chaîne), « N » (numérique) ou « B » (binaire).Type : mappage de `HashKeyElement`, ou de `HashKeyElement` et `RangeKeyElement` pour une clé primaire composite. | Oui | 
|  ProvisionedThroughput  | Nouveau débit pour la table spécifiée, composé de valeurs pour ReadCapacityUnits et WriteCapacityUnits. Pour en savoir plus, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md).  Pour connaître les valeurs maximum/minimum actuelles, consultez [Quotas dans Amazon DynamoDB](ServiceQuotas.md). Type : Array  | Oui | 
| ProvisionedThroughput: ReadCapacityUnits |  Définit le nombre minimum de `ReadCapacityUnits` cohérentes consommées par seconde pour la table spécifiée avant que DynamoDB équilibre la charge avec d'autres opérations.  Des opérations de lecture éventuellement cohérente nécessitant moins d'effort qu'une opération de lecture cohérente, un paramètre de 50 `ReadCapacityUnits` par seconde fournit 100 `ReadCapacityUnits` éventuellement cohérentes par seconde. Type : nombre  | Oui | 
| ProvisionedThroughput: WriteCapacityUnits | Définit le nombre minimum de WriteCapacityUnits consommées par seconde pour la table spécifiée avant que DynamoDB équilibre la charge avec d'autres opérations. Type : nombre  | Oui | 

## Réponses
<a name="API_CreateTable_CommonResponseElements"></a>

### Syntaxe
<a name="API_CreateTable_CommonResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.310506263362E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"CREATING"
    }
}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
| TableDescription  | Conteneur pour les propriétés de la table. | 
| CreationDateTime | Date à laquelle la table a été créée au format d'[heure UNIX](http://www.epochconverter.com/).Type : nombre | 
| KeySchema  | Structure (simple ou composite) de la clé primaire pour la table. Une paire nom-valeur pour l'élément `HashKeyElement` est obligatoire, et une paire nom-valeur pour l'élément `RangeKeyElement` est facultatif (obligatoire uniquement pour les clés primaires composites). Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Type : mappage de `HashKeyElement`, ou de `HashKeyElement` et `RangeKeyElement` pour une clé primaire composite. | 
| ProvisionedThroughput  |  Débit pour la table spécifiée, composé de valeurs pour `ReadCapacityUnits` et `WriteCapacityUnits`. Consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). Type : Array   | 
| ProvisionedThroughput :ReadCapacityUnits |  Nombre minimum de `ReadCapacityUnits` consommées par seconde avant que DynamoDB équilibre la charge avec d'autres opérationsType : nombre  | 
| ProvisionedThroughput :WriteCapacityUnits |  Nombre minimum de `ReadCapacityUnits` consommées par seconde avant que `WriteCapacityUnits` équilibre la charge avec d'autres opérationsType : nombre  | 
|  TableName  |  Nom de la table créée. Type : String  | 
|  TableStatus  | État actuel de la table (`CREATING`). Une fois la table dans l'état `ACTIVE`, vous pouvez y insérer des données.Utilisez l'API [DescribeTables](API_DescribeTables_v20111205.md) pour vérifier l'état de la table.Type : String | 

## Erreurs spéciales
<a name="API_CreateTable_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
|  ResourceInUseException  | Essayez de recréer une table existante. | 
|  LimitExceededException  | Le nombre de demandes de table simultanées (nombre cumulé de tables dans l'état `CREATING`, `DELETING` ou `UPDATING`) dépasse le maximum autorisé. Pour connaître les valeurs maximum/minimum actuelles, consultez [Quotas dans Amazon DynamoDB](ServiceQuotas.md). .  | 

## Exemples
<a name="API_CreateTable_Examples"></a>

L'exemple suivant crée une table avec une clé primaire composite contenant une chaîne et un nombre. Pour des exemples d'utilisation du kit SDK AWS, consultez [Utilisation de tables et de données dans DynamoDB](WorkingWithTables.md).

### Exemple de demande
<a name="API_CreateTable_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.CreateTable 
content-type: application/x-amz-json-1.0


{"TableName":"comp-table",
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}
}
```

### Exemple de réponse
<a name="API_CreateTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.310506263362E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10},
    "TableName":"comp-table",
    "TableStatus":"CREATING"
    }
}
```

## Actions connexes
<a name="API_CreateTable_Related_Actions"></a>
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md)

# DeleteItem
<a name="API_DeleteItem_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_DeleteItem_Description"></a>

Supprime un élément d'une table par clé primaire Vous pouvez effectuer une opération de suppression conditionnelle qui supprime l'élément s'il existe ou s'il a une valeur d'attribut attendue.

**Note**  
Si vous spécifiez `DeleteItem` sans attribut ou valeur, tous les attributs de l'élément sont supprimés.   
Si vous ne spécifiez pas de condition, l'opération `DeleteItem` est opération idempotente. Son exécution à plusieurs reprises sur le même élément ou attribut n'entraîne *pas* de réponse d'erreur.  
Les suppressions conditionnelles sont utiles pour ne supprimer des éléments et attributs que si des conditions spécifiques sont remplies. Si les conditions sont remplies, DynamoDB effectue la suppression. Sinon, l'élément n'est pas supprimé.   
Vous pouvez effectuer la vérification conditionnelle attendue sur un attribut par opération.

## Requêtes
<a name="API_DeleteItem_RequestParameters"></a>

### Syntaxe
<a name="API_DeleteItem_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteItem 
content-type: application/x-amz-json-1.0 

{"TableName":"Table1",
    "Key":
        {"HashKeyElement":{"S":"AttributeValue1"},"RangeKeyElement":{"N":"AttributeValue2"}},
    "Expected":{"AttributeName3":{"Value":{"S":"AttributeValue3"}}},
    "ReturnValues":"ALL_OLD"}
}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table contenant l'élément à supprimer. Type : String  |  Oui  | 
|  Key  | Clé primaire définissant l'élément. Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Type : mappage de `HashKeyElement` à sa valeur, et de `RangeKeyElement` à sa valeur. | Oui | 
| Expected  | Désigne un attribut pour une suppression conditionnelle. Le paramètre `Expected` vous permet de fournir un nom d'attribut et de spécifier si DynamoDB doit ou non vérifier si l'attribut a une valeur particulière avant de le supprimer.Type : mappage de noms d'attribut. | Non | 
| Expected:AttributeName  | Nom de l'attribut pour l'insertion conditionnelle. Type : String | Non | 
| Expected:AttributeName: ExpectedAttributeValue | Utilisez ce paramètre pour spécifier si une valeur existe déjà pour la paire nom-valeur de l'attribut. La notation JSON suivante supprime l'élément si l'attribut « Color » (Couleur) n'existe pas pour cet élément :<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>La notation JSON suivante vérifie si l'attribut « Color » (Couleur) a une valeur existante de « Yellow » (Jaune) avant de supprimer l'élément : <pre>"Expected" : <br />	{"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}</pre>Par défaut, si vous utilisez le paramètre `Expected` et fournissez une `Value`, DynamoDB suppose que l'attribut existe et a une valeur actuelle à remplacer. Vous n'avez donc pas à spécifier `{"Exists":true}`, car c'est implicite. Vous pouvez raccourcir la demande pour :<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Si vous spécifiez `{"Exists":true}` sans valeur d'attribut à vérifier, DynamoDB renvoie une erreur.  | Non | 
| ReturnValues  | Utilisez ce paramètre si vous souhaitez obtenir les paires nom-valeur d'attribut avant leur suppression. Les valeurs de paramètre possibles sont `NONE` (par défaut) ou `ALL_OLD`. Si `ALL_OLD` est spécifié, le contenu de l'ancien élément est renvoyé. Si ce paramètre n'est pas fourni ou est `NONE`, rien n'est retourné.Type : String | Non | 

## Réponses
<a name="API_DeleteItem_CommonResponseElements"></a>

### Syntaxe
<a name="API_DeleteItem_CommonResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 353
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"Attributes":
    {"AttributeName3":{"SS":["AttributeValue3","AttributeValue4","AttributeValue5"]},
    "AttributeName2":{"S":"AttributeValue2"},
    "AttributeName1":{"N":"AttributeValue1"}
    },
"ConsumedCapacityUnits":1
}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
|  Attributes  | Si le paramètre `ReturnValues` est fourni en tant que `ALL_OLD` dans la demande, DynamoDB renvoie un tableau de paires nom-valeur d'attribut (essentiellement, l'élément supprimé). Dans le cas contraire, la réponse contient un ensemble vide. Type : tableau de paires nom-valeur d'attribut. | 
| ConsumedCapacityUnits | Nombre d'unités de capacité d'écriture consommées par l'opération. Cette valeur indique le nombre appliqué à votre débit approvisionné. Les demandes de suppression d'éléments inexistants consomment 1 unité de capacité d'écriture. Pour plus d’informations, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). Type : nombre | 

## Erreurs spéciales
<a name="API_DeleteItem_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Le contrôle conditionnel a échoué. La valeur d'attribut attendue n'a pas été trouvée.  | 

## Exemples
<a name="API_DeleteItem_Examples"></a>

### Exemple de demande
<a name="API_DeleteItem_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteItem 
content-type: application/x-amz-json-1.0

{"TableName":"comp-table",
    "Key":
        {"HashKeyElement":{"S":"Mingus"},"RangeKeyElement":{"N":"200"}},
    "Expected":
        {"status":{"Value":{"S":"shopping"}}},
    "ReturnValues":"ALL_OLD"
}
```

### Exemple de réponse
<a name="API_DeleteItem_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: U9809LI6BBFJA5N2R0TB0P017JVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 353
Date: Tue, 12 Jul 2011 22:31:23 GMT

{"Attributes":
    {"friends":{"SS":["Dooley","Ben","Daisy"]},
    "status":{"S":"shopping"},
    "time":{"N":"200"},
    "user":{"S":"Mingus"}
    },
"ConsumedCapacityUnits":1
}
```

## Actions connexes
<a name="API_DeleteItem_Related_Actions"></a>
+  [PutItem](API_PutItem_v20111205.md) 

# DeleteTable
<a name="API_DeleteTable_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_DeleteTable_Description"></a>

L'opération `DeleteTable` supprime une table et la totalité de ses éléments. Après une demande `DeleteTable`, la table spécifiée est dans l'état `DELETING` jusqu'à ce que DynamoDB termine la suppression. Si la table est dans l'état `ACTIVE`, vous pouvez la supprimer. Si une table est dans l'état `CREATING` ou `UPDATING`, DynamoDB renvoie un erreur `ResourceInUseException`. Si la table spécifiée n'existe pas, DynamoDB renvoie une erreur `ResourceNotFoundException`. Si la table est déjà dans l'état `DELETING`, aucune erreur n'est renvoyée. 

**Note**  
DynamoDB peut continuer à accepter les demandes d'opération de plan de données, telles que `GetItem` et `PutItem`, sur une table dans l'état `DELETING` jusqu'à ce que la suppression de celle-ci soit terminée.

Les table sont uniques parmi celles associées au compte AWS émettant la demande, et à la région AWS recevant la demande (par exemple dynamodb.us-west-1.amazonaws.com). Chaque point de terminaison DynamoDB est entièrement indépendant. Par exemple, si vous avez deux tables nommées « MyTable », l'une dans la région dynamodb.us-west-2.amazonaws.com et l'autre dans la région dynamodb.us-west-1.amazonaws.com, ces tables sont complètement indépendantes et ne partagent aucune donnée. La suppression de l'une d'elles n'entraîne pas la suppression de l'autre.

Utilisez l'opération [DescribeTables](API_DescribeTables_v20111205.md) pour vérifier l'état de la table. 

## Requêtes
<a name="API_DeleteTable_RequestParameters"></a>

### Syntaxe
<a name="API_DeleteTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteTable 
content-type: application/x-amz-json-1.0

{"TableName":"Table1"}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |   Nom de la table à supprimer.   Type : String   |  Oui  | 

## Réponses
<a name="API_DeleteTable_CommonResponseElements"></a>

### Syntaxe
<a name="API_DeleteTable_CommonResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 4HONCKIVH1BFUDQ1U68CTG3N27VV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Sun, 14 Aug 2011 22:56:22 GMT

{"TableDescription":
    {"CreationDateTime":1.313362508446E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"DELETING"
    }
}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
| TableDescription  | Conteneur pour les propriétés de la table. | 
| CreationDateTime | Date de création de la table.Type : nombre  | 
| KeySchema  | Structure (simple ou composite) de la clé primaire pour la table. Une paire nom-valeur pour l'élément `HashKeyElement` est obligatoire, et une paire nom-valeur pour l'élément `RangeKeyElement` est facultatif (obligatoire uniquement pour les clés primaires composites). Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Type : mappage de `HashKeyElement`, ou de `HashKeyElement` et `RangeKeyElement` pour une clé primaire composite. | 
| ProvisionedThroughput  | Débit pour la table spécifiée, composé de valeurs pour ReadCapacityUnits et WriteCapacityUnits. Consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). | 
| ProvisionedThroughput: ReadCapacityUnits |  Nombre minimum de `ReadCapacityUnits` consommées par seconde pour la table spécifiée avant que DynamoDB équilibre la charge avec d'autres opérations. Type : nombre  | 
| ProvisionedThroughput: WriteCapacityUnits | Nombre minimum de `WriteCapacityUnits` consommées par seconde pour la table spécifiée avant que DynamoDB équilibre la charge avec d'autres opérations.Type : nombre  | 
|  TableName  |  Nom de la table supprimée. Type : String   | 
|  TableStatus  | État actuel de la table (DELETING). Une fois la table supprimée, les demandes suivantes pour la table renvoient resource not found. Utilisez l'opération [DescribeTables](API_DescribeTables_v20111205.md) pour vérifier l'état de la table. Type : String | 

## Erreurs spéciales
<a name="API_DeleteTable_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
|  ResourceInUseException  |  La table est dans l'état CREATING ou UPDATING et ne peut pas être supprimée.  | 

## Exemples
<a name="API_DeleteTable_Examples"></a>

### Exemple de demande
<a name="API_DeleteTable_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteTable
content-type: application/x-amz-json-1.0
content-length: 40

{"TableName":"favorite-movies-table"}
```

### Exemple de réponse
<a name="API_DeleteTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 4HONCKIVH1BFUDQ1U68CTG3N27VV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 160
Date: Sun, 14 Aug 2011 17:20:03 GMT

{"TableDescription":
    {"CreationDateTime":1.313362508446E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"name","AttributeType":"S"}},
    "TableName":"favorite-movies-table",
    "TableStatus":"DELETING"
}
```

## Actions connexes
<a name="API_DeleteTable_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DescribeTables](API_DescribeTables_v20111205.md) 

# DescribeTables
<a name="API_DescribeTables_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_DescribeTables_Description"></a>

Renvoie des informations sur la table, dont son état actuel, son schéma de clé primaire et sa date de création. Les résultats de l'opération DescribeTable sont éventuellement cohérents. Si vous utilisez l'opération DescribeTable trop tôt dans le processus de création d'une table, DynamoDB renvoie une erreur `ResourceNotFoundException`. Si vous utilisez l'opération DescribeTable trop tôt dans le processus de mise à jour d'une table, il se peut que les nouvelles valeurs ne soient pas immédiatement disponibles.

## Requêtes
<a name="API_DescribeTables_RequestParameters"></a>

### Syntaxe
<a name="API_DescribeTables_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DescribeTable
content-type: application/x-amz-json-1.0

{"TableName":"Table1"}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table à décrire.  Type : String   |  Oui  | 

## Réponses
<a name="API_DescribeTables_ResponseElements"></a>

### Syntaxe
<a name="API_DescribeTables_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
Content-Length: 543


{"Table":
    {"CreationDateTime":1.309988345372E9,
    ItemCount:1,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"LastIncreaseDateTime": Date, "LastDecreaseDateTime": Date, "ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableSizeBytes":1,
    "TableStatus":"ACTIVE"
    }
}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
|  Table  |  Conteneur pour la table décrite. Type : String  | 
| CreationDateTime | Date à laquelle la table a été créée au format d'[heure UNIX](http://www.epochconverter.com/). | 
|  ItemCount  |  Nombre d'éléments de la table spécifiée. DynamoDB met à jour cette valeur environ toutes les six heures. Il se peut que cette valeur ne reflète pas des modifications récentes. Type : nombre  | 
|  KeySchema  | Structure (simple ou composite) de la clé primaire pour la table. Une paire nom-valeur pour l'élément HashKeyElement est obligatoire, et une paire nom-valeur pour l'élément RangeKeyElement est facultatif (obligatoire uniquement pour les clés primaires composites). La taille maximum de clé de hachage est de 2 048 octets. La taille maximum de clé de plage est de 1 024 octets. Les deux limites sont appliquées séparément (c'est-à-dire que vous pouvez avoir une taille de clé combinée de hachage et de plage égale à 2 048 \$1 1 024 octets). Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey). | 
| ProvisionedThroughput  | Débit de la table spécifiée, composé de valeurs pour LastIncreaseDateTime (le cas échéant), LastDecreaseDateTime (le cas échéant), ReadCapacityUnits et WriteCapacityUnits. Si le débit de la table n'a jamais été augmenté ou diminué, DynamoDB ne renvoie pas de valeurs pour ces éléments. Consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md).Type : Array  | 
|  TableName  |  Le nom de la table demandée.  Type : String  | 
|  TableSizeBytes  |  Taille totale de la table spécifiée, en octets. DynamoDB met à jour cette valeur environ toutes les six heures. Il se peut que cette valeur ne reflète pas des modifications récentes. Type : nombre  | 
|  TableStatus  | État actuel de la table (CREATING, ACTIVE, DELETING ou UPDATING). Une fois la table dans l'état ACTIVE, vous pouvez ajouter des données.  | 

## Erreurs spéciales
<a name="API_DescribeTables_SpecialErrors"></a>

Il n'existe pas d'erreur spécifique de cette opération.

## Exemples
<a name="API_DescribeTables_Examples"></a>

 Les exemples suivants montrent une requête et une réponse HTTP POST utilisant l'opération DescribeTable pour une table nommée « comp-table ». La table a une clé primaire composite.

### Exemple de demande
<a name="API_DescribeTables_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DescribeTable
content-type: application/x-amz-json-1.0

{"TableName":"users"}
```

### Exemple de réponse
<a name="API_DescribeTables_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
content-length: 543

{"Table":
    {"CreationDateTime":1.309988345372E9,
    "ItemCount":23,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"LastIncreaseDateTime": 1.309988345384E9, "ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"users",
    "TableSizeBytes":949,
    "TableStatus":"ACTIVE"
    }
}
```

## Actions connexes
<a name="API_DescribeTables_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 
+  [ListTables](API_ListTables_v20111205.md) 

# GetItem
<a name="API_GetItem_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_GetItem_Description"></a>

L'opération `GetItem` renvoie un ensemble d'`Attributes` pour un élément correspondant à la clé primaire. Si aucun élément correspondant n'est trouvé, `GetItem` ne renvoie pas de données.

L'opération `GetItem` fournit une lecture éventuellement cohérente par défaut. Si les lectures éventuellement cohérentes ne sont pas acceptables pour votre application, utilisez `ConsistentRead`. Bien que cette opération puisse prendre plus de temps qu'une lecture standard, elle renvoie toujours la dernière valeur mise à jour. Pour de plus amples informations, consultez [Cohérence en lecture DynamoDB](HowItWorks.ReadConsistency.md).

## Requêtes
<a name="API_GetItem_RequestParameters"></a>

### Syntaxe
<a name="API_GetItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.GetItem
content-type: application/x-amz-json-1.0 

{"TableName":"Table1",
 	"Key": 
		{"HashKeyElement": {"S":"AttributeValue1"},
		"RangeKeyElement": {"N":"AttributeValue2"} 
	},
	"AttributesToGet":["AttributeName3","AttributeName4"],
	"ConsistentRead":Boolean
}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table contenant l'élément demandé.  Type : String  |  Oui  | 
|  Key  | Valeurs de clé primaire définissant l'élément. Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Type : mappage de `HashKeyElement` à sa valeur, et de `RangeKeyElement` à sa valeur. | Oui | 
| AttributesToGet  | Tableau de noms d'attribut. Si des noms d'attribut ne sont pas spécifiés, tous les attributs sont renvoyés. Si certains attributs ne sont pas trouvés, ils n'apparaissent pas dans le résultat.Type : Array | Non | 
| ConsistentRead  | Si la valeur est définie sur `true`, une lecture cohérente est effectuée. Sinon une cohérence éventuelle est utilisée.Type : booléen | Non | 

## Réponses
<a name="API_GetItem_ResponseElements"></a>

### Syntaxe
<a name="API_GetItem_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 144

{"Item":{
	"AttributeName3":{"S":"AttributeValue3"},
	"AttributeName4":{"N":"AttributeValue4"},
	"AttributeName5":{"B":"dmFsdWU="}
	},
"ConsumedCapacityUnits": 0.5
}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
|  Item  | Contient les attributs demandés.Type : mappage de paires nom-valeur d'attribut. | 
| ConsumedCapacityUnits | Nombre d'unités de capacité de lecture consommées par l'opération. Cette valeur indique le nombre appliqué à votre débit approvisionné. Les demandes d'éléments inexistants consomment les unités de capacité de lecture minimum, selon le type de lecture. Pour plus d’informations, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). Type : nombre | 

## Erreurs spéciales
<a name="API_GetItem_SpecialErrors"></a>

Aucune erreur spécifique à cette opération.

## Exemples
<a name="API_GetItem_Examples"></a>

 Pour des exemples d'utilisation du kit SDK AWS, consultez [Utilisation d’éléments et d’attributs dans DynamoDB](WorkingWithItems.md).

### Exemple de demande
<a name="API_GetItem_Examples_Request"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.GetItem
content-type: application/x-amz-json-1.0 

{"TableName":"comptable",
	"Key":
		{"HashKeyElement":{"S":"Julie"},
		"RangeKeyElement":{"N":"1307654345"}},
	"AttributesToGet":["status","friends"],
	"ConsistentRead":true
}
```

### Exemple de réponse
<a name="API_GetItem_Examples_Response"></a>

Notez que la valeur de ConsumedCapacityUnits est 1 parce que le paramètre facultatif `ConsistentRead` a la valeur `true`. Si `ConsistentRead` a la valeur `false` (ou si la valeur n'est pas spécifiée) pour la même demande, la réponse est éventuellement cohérente et la valeur de ConsumedCapacityUnits est 0,5.

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 72

{"Item":
	{"friends":{"SS":["Lynda, Aaron"]},
	"status":{"S":"online"}
	},
"ConsumedCapacityUnits": 1
}
```

# ListTables
<a name="API_ListTables_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_ListTables_Description"></a>

Renvoie un tableau de toutes les tables associées au compte et au point de terminaison actuels

Chaque point de terminaison DynamoDB est entièrement indépendant. Par exemple, si vous avez deux tables nommées « MyTable », l'une dans la région dynamodb.us-west-2.amazonaws.com et l'autre dans la région dynamodb.us-east-1.amazonaws.com, ces tables sont complètement indépendantes et ne partagent aucune donnée. L'opération ListTables renvoie tous les noms de table associés au compte faisant la demande pour le point de terminaison recevant la demande.

## Requêtes
<a name="API_ListTables_RequestParameters"></a>

### Syntaxe
<a name="API_ListTables_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.ListTables
content-type: application/x-amz-json-1.0

{"ExclusiveStartTableName":"Table1","Limit":3}
```

Par défaut, l'opération ListTables demande tous les noms de table associés au compte faisant la demande pour le point de terminaison recevant la demande.


****  

|  Nom  |  Description  | Obligatoire | 
| --- | --- | --- | 
|  Limit  |  Nombre maximum de noms de table à renvoyer.  Type : entier  | Non | 
| ExclusiveStartTableName  | Nom de la table qui démarre la liste. Si vous avez déjà exécuté une opération ListTables et reçu une valeur `LastEvaluatedTableName` dans la réponse, utilisez cette valeur ici pour continuer la liste. Type : String | Non | 

## Réponses
<a name="API_ListTables_ResponseElements"></a>

### Syntaxe
<a name="API_ListTables_ResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: S1LEK2DPQP8OJNHVHL8OU2M7KRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 81
Date: Fri, 21 Oct 2011 20:35:38 GMT

{"TableNames":["Table1","Table2","Table3"], "LastEvaluatedTableName":"Table3"}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
|  TableNames  |  Noms des tables associées au compte actuel au point de terminaison actuel.  Type : Array  | 
| LastEvaluatedTableName  | Nom de la dernière table dans la liste active, uniquement si certaines tables pour le compte et le point de terminaison n'ont pas été renvoyées. Cette valeur n'existe pas dans une réponse si tous les noms de table sont déjà renvoyés. Utilisez cette valeur en tant que `ExclusiveStartTableName` dans une nouvelle demande pour continuer la liste jusqu'à ce que tous les noms de table soient renvoyés.  Type : String  | 

## Erreurs spéciales
<a name="API_ListTables_SpecialErrors"></a>

Il n'existe pas d'erreur spécifique de cette opération.

## Exemples
<a name="API_ListTables_Examples"></a>

Les exemples suivants illustrent une requête HTTP POST et une réponse utilisant l'opération ListTables.

### Exemple de demande
<a name="API_ListTables_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.ListTables
content-type: application/x-amz-json-1.0

{"ExclusiveStartTableName":"comp2","Limit":3}
```

### Exemple de réponse
<a name="API_ListTables_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: S1LEK2DPQP8OJNHVHL8OU2M7KRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 81
Date: Fri, 21 Oct 2011 20:35:38 GMT

{"LastEvaluatedTableName":"comp5","TableNames":["comp3","comp4","comp5"]}
```

## Actions connexes
<a name="API_ListTables_Related_Actions"></a>
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 

# PutItem
<a name="API_PutItem_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_PutItem_Description"></a>

Crée un élément ou remplace un ancien élément par un nouveau (en incluant tous les attributs). S'il existe déjà un élément dans la table spécifiée avec la même clé primaire, le nouvel élément remplace complètement l'élément existant. Vous pouvez effectuer une insertion conditionnelle (insérer un nouvel élément s'il n'existe pas de clé primaire spécifiée), ou remplacer un élément existant s'il possède certaines valeurs d'attribut. 

Les valeurs d'attribut ne peuvent pas être nulles, les attributs de type chaîne et binaire doivent avoir une longueur supérieure à zéro, et les attributs de type ensemble ne peuvent pas être vides. Les demandes comprenant des valeurs vides sont rejetées avec une erreur `ValidationException`.

**Note**  
Pour vous assurer qu'un nouvel élément ne remplace pas un élément existant, utilisez une opération d'insertion conditionnelle avec une valeur `Exists` définie sur `false` pour l'attribut de clé primaire ou les attributs.

Pour plus d'informations sur l'utilisation de `PutItem`, consultez [Utilisation d’éléments et d’attributs dans DynamoDB](WorkingWithItems.md).

## Requêtes
<a name="API_PutItem_RequestParameters"></a>

### Syntaxe
<a name="API_PutItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.PutItem
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "Item":{
        "AttributeName1":{"S":"AttributeValue1"},
        "AttributeName2":{"N":"AttributeValue2"},
        "AttributeName5":{"B":"dmFsdWU="}
    },
    "Expected":{"AttributeName3":{"Value": {"S":"AttributeValue"}, "Exists":Boolean}},
    "ReturnValues":"ReturnValuesConstant"}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table devant contenir l'élément. Type : String  |  Oui  | 
|  Item  | Mappage des attributs pour l'élément, qui doit inclure les valeurs de clé primaire qui définissent l'élément. D'autres paires nom-valeur d'attribut peuvent être fournies pour l'élément. Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Type : mappage de noms d'attribut à des valeurs d'attribut. | Oui | 
| Expected  | Désigne un attribut pour une insertion conditionnelle. Le paramètre `Expected` vous permet de fournir un nom d'attribut et de spécifier si DynamoDB doit ou non vérifier si la valeur d'attribut existe, ou existe et a une valeur particulière, avant de modifier l'attribut.Type : mappage d'un nom d'attribut à une valeur d'attribut et vérification de l'existence de l'attribut. | Non | 
| Expected:AttributeName  | Nom de l'attribut pour l'insertion conditionnelle.Type : String | Non | 
| Expected:AttributeName: ExpectedAttributeValue | Utilisez ce paramètre pour spécifier si une valeur existe déjà pour la paire nom-valeur de l'attribut. La notation JSON suivante remplace l'élément si l'attribut « Color » (Couleur) n'existe pas pour cet élément :<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>La notation JSON suivante vérifie si l'attribut « Color » (Couleur) a une valeur existante de « Yellow » (Jaune) avant de remplacer l'élément : <pre>"Expected" : <br />	{"Color":{"Exists":true,{"Value":{"S":"Yellow"}}}</pre>Par défaut, si vous utilisez le paramètre `Expected` et fournissez une `Value`, DynamoDB suppose que l'attribut existe et a une valeur actuelle à remplacer. Vous n'avez donc pas à spécifier `{"Exists":true}`, car c'est implicite. Vous pouvez raccourcir la demande pour :<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Si vous spécifiez `{"Exists":true}` sans valeur d'attribut à vérifier, DynamoDB renvoie une erreur.  | Non | 
| ReturnValues  | Utilisez ce paramètre si vous souhaitez obtenir les paires nom-valeur d'attribut avant leur mise à jour avec la demande `PutItem`. Les valeurs de paramètre possibles sont `NONE` (par défaut) ou `ALL_OLD`. Si `ALL_OLD` est spécifié et si l'opération `PutItem` a remplacé une paire nom-valeur d'attribut, le contenu de l'ancien élément est renvoyé. Si ce paramètre n'est pas fourni ou est `NONE`, rien n'est retourné.Type : String | Non | 

## Réponses
<a name="API_PutItem_CommonResponseElements"></a>

### Syntaxe
<a name="API_PutItem_CommonResponseElements.syntax"></a>

L'exemple de syntaxe suivant part du principe que la demande a spécifié un paramètre `ReturnValues` dont la valeur est `ALL_OLD`. Sinon, la réponse ne contient que l'élément `ConsumedCapacityUnits`.

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 85

{"Attributes":
	{"AttributeName3":{"S":"AttributeValue3"},
	"AttributeName2":{"SS":"AttributeValue2"},
	"AttributeName1":{"SS":"AttributeValue1"},
	},
"ConsumedCapacityUnits":1
}
```


****  

|  Nom  |  Description  | 
| --- | --- | 
|  Attributes  | Valeurs d'attribut avant l'opération d'insertion, mais uniquement si le paramètre `ReturnValues` a la valeur `ALL_OLD` dans la demande.Type : mappage de paires nom-valeur d'attribut. | 
| ConsumedCapacityUnits | Nombre d'unités de capacité d'écriture consommées par l'opération. Cette valeur indique le nombre appliqué à votre débit approvisionné. Pour plus d’informations, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). Type : nombre | 

## Erreurs spéciales
<a name="API_PutItem_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Le contrôle conditionnel a échoué. La valeur d'attribut attendue n'a pas été trouvée.  | 
| ResourceNotFoundException  | L'élément ou l'attribut spécifiés n'ont pas été trouvés. | 

## Exemples
<a name="API_PutItem_Examples"></a>

Pour des exemples d'utilisation du kit SDK AWS, consultez [Utilisation d’éléments et d’attributs dans DynamoDB](WorkingWithItems.md).

### Exemple de demande
<a name="API_PutItem_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.PutItem 
content-type: application/x-amz-json-1.0

{"TableName":"comp5",
	"Item":
		{"time":{"N":"300"},
		"feeling":{"S":"not surprised"},
		"user":{"S":"Riley"}
		},
	"Expected":
		{"feeling":{"Value":{"S":"surprised"},"Exists":true}}
	"ReturnValues":"ALL_OLD"
}
```

### Exemple de réponse
<a name="API_PutItem_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8952fa74-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 84

{"Attributes":
	{"feeling":{"S":"surprised"},
	"time":{"N":"300"},
	"user":{"S":"Riley"}},
"ConsumedCapacityUnits":1
}
```

## Actions connexes
<a name="API_PutItem_Related_Actions"></a>
+  [UpdateItem](API_UpdateItem_v20111205.md) 
+  [DeleteItem](API_DeleteItem_v20111205.md) 
+  [GetItem](API_GetItem_v20111205.md) 
+  [BatchGetItem](API_BatchGetItem_v20111205.md) 

# Requête
<a name="API_Query_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_Query_Description"></a>

Une opération `Query` obtient les valeurs d'un ou de plusieurs éléments et de leurs attributs par clé primaire (`Query` n'est disponible que pour des tables de clés primaires de hachage et de plage). Vous devez indiquer une `HashKeyValue` spécifique, et pouvez restreindre la portée de la requête à l'aide d'opérateurs de comparaison sur la `RangeKeyValue` de la clé primaire. Utilisez le paramètre `ScanIndexForward` pour obtenir les résultats dans l'ordre croissant ou inverse par clé de plage. 

Les requêtes qui ne renvoient pas de résultat consomment les unités de capacité de lecture minimum en fonction du type de lecture.

**Note**  
Si le nombre total d'éléments correspondant aux paramètres de requête dépasse la limite de 1 Mo, la requête s'arrête et les résultats sont renvoyés à l'utilisateur avec une `LastEvaluatedKey` pour continuer la requête dans une opération subséquente. Contrairement à une opération d'analyse, une opération de requête ne renvoie jamais un ensemble de résultats vide *et* une valeur `LastEvaluatedKey`. La valeur `LastEvaluatedKey` n'est fournie que si les résultats dépassent 1 Mo ou si vous avez utilisé le paramètre `Limit`.   
Le résultat peut être défini pour une lecture cohérente à l'aide du paramètre `ConsistentRead`.

## Requêtes
<a name="API_Query_RequestParameters"></a>

### Syntaxe
<a name="API_Query_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query  
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
	"Limit":2,
	"ConsistentRead":true,
	"HashKeyValue":{"S":"AttributeValue1":},
	"RangeKeyCondition": {"AttributeValueList":[{"N":"AttributeValue2"}],"ComparisonOperator":"GT"}
	"ScanIndexForward":true,
	"ExclusiveStartKey":{
		"HashKeyElement":{"S":"AttributeName1"},
		"RangeKeyElement":{"N":"AttributeName2"}
	},
    "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table contenant les éléments demandés.  Type : String  |  Oui  | 
| AttributesToGet  | Tableau de noms d'attribut. Si des noms d'attribut ne sont pas spécifiés, tous les attributs sont renvoyés. Si certains attributs ne sont pas trouvés, ils n'apparaissent pas dans le résultat.Type : Array | Non | 
| Limit  | Nombre maximum d'éléments à renvoyer (pas nécessairement le nombre d'éléments correspondants). Si DynamoDB traite le nombre d'éléments jusqu'à la limite lors de l'interrogation de la table, il arrête la requête et renvoie les valeurs correspondantes jusqu'à ce point, ainsi qu'une valeur `LastEvaluatedKey` à appliquer dans une opération subséquente pour continuer la requête. Par ailleurs, si la taille de l'ensemble de résultats dépasse 1 Mo avant que DynamoDB atteigne cette limite, DynamoDB arrête la requête et renvoie les valeurs correspondantes, ainsi qu'une valeur `LastEvaluatedKey` à appliquer dans une opération subséquente pour continuer la requête.Type : nombre | Non | 
| ConsistentRead  | Si la valeur est définie sur `true`, une lecture cohérente est effectuée. Sinon une cohérence éventuelle est utilisée.Type : booléen | Non | 
| Count  | Si la valeur est définie sur `true`, DynamoDB renvoie un nombre total d'éléments qui correspondent aux paramètres de requête, au lieu d'une liste des éléments correspondants et de leurs attributs. Vous pouvez appliquer le paramètre `Limit` aux requêtes de nombre uniquement.  Ne pas définissez pas la valeur `Count` sur `true` tout en fournissant une liste `AttributesToGet`. Sinon, DynamoDB renvoie une erreur de validation. Pour de plus amples informations, consultez [Comptabilisation des éléments dans les résultats](Query.Other.md#Query.Count).Type : booléen | Non | 
| HashKeyValue  | Valeur d'attribut du composant de hachage de la clé primaire composite.Type : chaîne, nombre ou binaire | Oui | 
| RangeKeyCondition  | Conteneur pour les valeurs d'attribut et les opérateurs de comparaison à utiliser pour la requête. Une demande de requête ne nécessite pas de `RangeKeyCondition`. Si vous fournissez uniquement la valeur `HashKeyValue`, DynamoDB renvoie tous les éléments avec la valeur d'élément de clé de hachage spécifiée.Type : carte | Non | 
| RangeKeyCondition:​ AttributeValueList | Valeurs d'attribut à évaluer pour les paramètres de requête. La `AttributeValueList` contient une valeur d'attribut, sauf si une comparaison `BETWEEN` est spécifiée. Pour la comparaison `BETWEEN`, la `AttributeValueList` contient deux valeurs d'attribut. Type : mappage de `AttributeValue` à un `ComparisonOperator`.  | Non | 
| RangeKeyCondition:​ ComparisonOperator |  Critères d'évaluation des attributs fournis, tels que Egal à, Supérieur à, etc. Les opérateurs de comparaison valides pour une opération de requête sont les suivants.  Les comparaisons de valeurs de chaîne pour les critères Supérieur à, Egal à ou Inférieur à sont basées sur des valeurs de code de caractère ASCII. Par exemple, `a` est supérieur à `A`, et `aa` est supérieur à `B`. Pour obtenir la liste des valeurs des codes, consultez [http://fr.wikipedia.org/wiki/American\$1Standard\$1Code\$1for\$1Information\$1Interchange](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).  Pour une valeur binaire, DynamoDB traite chaque octet des données binaires comme non signé quand il compare des valeurs binaires, par exemple, lors de l'évaluation d'expressions de requête.   Type : chaîne ou binaire  | Non | 
|   | `EQ` : égal. Pour `EQ`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas égal à `{"NS":["6", "2", "1"]}`. |   | 
|   | `LE` : inférieur ou égal. Pour `LE`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas comparable à `{"NS":["6", "2", "1"]}`. |   | 
|   | `LT` : inférieur. Pour `LT`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` ne se compare pas à `{"NS":["6", "2", "1"]}`. |   | 
|   | `GE` : supérieur ou égal. Pour `GE`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` ne se compare pas à `{"NS":["6", "2", "1"]}`. |   | 
|   | `GT` : supérieur. Pour `GT`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas comparable à `{"NS":["6", "2", "1"]}`. |   | 
|   | `BEGINS_WITH` : recherche un préfixe. Pour `BEGINS_WITH`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type chaîne ou binaire (pas nombre ou ensemble). L'attribut cible de la comparaison doit être une chaîne ou un binaire (pas un nombre ou un ensemble). |   | 
|   | `BETWEEN` : supérieur ou égal à la première valeur, et inférieur ou égal à la deuxième valeur. Pour `BETWEEN`, `AttributeValueList` doit inclure deux éléments `AttributeValue` du même type, Chaîne, Nombre ou Binaire (et non Ensemble). Un attribut cible correspond si la valeur cible est supérieure ou égale au premier élément, et inférieure ou égale au deuxième. Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas comparable à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas comparable à `{"NS":["6", "2", "1"]}`. |   | 
| ScanIndexForward | Spécifie le balayage ascendant ou descendant de l'index. DynamoDB renvoie des résultats reflétant l'ordre demandé déterminé par la clé de plage. Si le type de données est Nombre, les résultats sont renvoyés dans l'ordre numérique. Sinon, le balayage est basé sur des valeurs de code de caractère ASCII.Type : booléenLe paramétrage par défaut est `true` (ascendant). | Non | 
| ExclusiveStartKey | Clé primaire de l'élément à partir duquel continuer une requête antérieure. Une requête antérieure peut fournir cette valeur en tant que `LastEvaluatedKey` si cette opération de requête a été interrompue avant la fin, soit en raison de la taille de l'ensemble de résultats, soit en raison du paramètre `Limit`. La `LastEvaluatedKey` peut être retransmise dans une nouvelle demande de requête pour continuer l'opération à partir de ce point.Type : `HashKeyElement`, ou `HashKeyElement` et `RangeKeyElement` pour une clé primaire composite. | Non | 

## Réponses
<a name="API_Query_ResponseElements"></a>

### Syntaxe
<a name="API_Query_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 308

{"Count":2,"Items":[{
    "AttributeName1":{"S":"AttributeValue1"},
    "AttributeName2":{"N":"AttributeValue2"},
    "AttributeName3":{"S":"AttributeValue3"}
    },{
    "AttributeName1":{"S":"AttributeValue3"},
    "AttributeName2":{"N":"AttributeValue4"},
    "AttributeName3":{"S":"AttributeValue3"},
    "AttributeName5":{"B":"dmFsdWU="}
}],
    "LastEvaluatedKey":{"HashKeyElement":{"AttributeValue3":"S"},
                        "RangeKeyElement":{"AttributeValue4":"N"}
     },
     "ConsumedCapacityUnits":1
}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
| Items  | Attributs d'élément répondant aux paramètres de requête.Type : mappage de noms d'attribut à leurs types de données et valeurs. | 
| Count  |  Nombre d'éléments dans la réponse. Pour de plus amples informations, consultez [Comptabilisation des éléments dans les résultats](Query.Other.md#Query.Count). Type : nombre  | 
| LastEvaluatedKey | Clé primaire de l'élément où l'opération de requête s'est arrêtée, incluant l'ensemble de résultats précédent. Utilisez cette valeur pour démarrer une nouvelle opération excluant cette valeur dans la nouvelle demande.La `LastEvaluatedKey` a une valeur `null` quand l'ensemble des résultats de la requête est complet (c'est-à-dire que l'opération a traité la « dernière page »). Type : `HashKeyElement`, ou `HashKeyElement` et `RangeKeyElement` pour une clé primaire composite. | 
| ConsumedCapacityUnits | Nombre d'unités de capacité de lecture consommées par l'opération. Cette valeur indique le nombre appliqué à votre débit approvisionné. Pour plus d’informations, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). Type : nombre | 

## Erreurs spéciales
<a name="API_Query_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
| ResourceNotFoundException  | La table spécifiée n'a pas été trouvée. | 

## Exemples
<a name="API_Query_Examples"></a>

 Pour des exemples d'utilisation du kit SDK AWS, consultez [Interrogation de tables dans DynamoDB](Query.md).

### Exemple de demande
<a name="API_Query_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query  
content-type: application/x-amz-json-1.0

{"TableName":"1-hash-rangetable",
	"Limit":2,
	"HashKeyValue":{"S":"John"},
	"ScanIndexForward":false,
	"ExclusiveStartKey":{
		"HashKeyElement":{"S":"John"},
		"RangeKeyElement":{"S":"The Matrix"}
	}
}
```

### Exemple de réponse
<a name="API_Query_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 3647e778-71eb-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 308

{"Count":2,"Items":[{
	"fans":{"SS":["Jody","Jake"]},
	"name":{"S":"John"},
	"rating":{"S":"***"},
	"title":{"S":"The End"}
	},{
	"fans":{"SS":["Jody","Jake"]},
	"name":{"S":"John"},
	"rating":{"S":"***"},
	"title":{"S":"The Beatles"}
	}],
	"LastEvaluatedKey":{"HashKeyElement":{"S":"John"},"RangeKeyElement":{"S":"The Beatles"}},
"ConsumedCapacityUnits":1
}
```

### Exemple de demande
<a name="API_Query_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query 
content-type: application/x-amz-json-1.0
 
{"TableName":"1-hash-rangetable",
	"Limit":2,
	"HashKeyValue":{"S":"Airplane"},
	"RangeKeyCondition":{"AttributeValueList":[{"N":"1980"}],"ComparisonOperator":"EQ"},
	"ScanIndexForward":false}
```

### Exemple de réponse
<a name="API_Query_Examples_Response2"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8b9ee1ad-774c-11e0-9172-d954e38f553a
content-type: application/x-amz-json-1.0
content-length: 119 
 
{"Count":1,"Items":[{
	"fans":{"SS":["Dave","Aaron"]},
	"name":{"S":"Airplane"},
	"rating":{"S":"***"},
	"year":{"N":"1980"}
	}],
"ConsumedCapacityUnits":1
}
```

## Actions connexes
<a name="API_Query_Related_Actions"></a>
+  [Analyser](API_Scan_v20111205.md) 

# Analyser
<a name="API_Scan_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_Scan_Description"></a>

L'opération `Scan` renvoie un ou plusieurs éléments et leurs attributs en effectuant une analyse complète d'une table. Fournissez un `ScanFilter` pour obtenir des résultats plus spécifiques. 

**Note**  
Si le nombre total d'éléments analysés dépasse la limite de 1 Mo, l'analyse s'arrête et les résultats sont renvoyés à l'utilisateur avec une `LastEvaluatedKey` pour continuer l'analyse dans une opération subséquente. Les résultats incluent également le nombre d'éléments dépassant la limite. Il peut arriver qu'une analyse constate l'absence de données de table répondant aux critères de filtre.   
L'ensemble de résultats est éventuellement cohérent. 

## Requêtes
<a name="API_Scan_RequestParameters"></a>

### Syntaxe
<a name="API_Scan_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan  
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "Limit": 2,
    "ScanFilter":{
        "AttributeName1":{"AttributeValueList":[{"S":"AttributeValue"}],"ComparisonOperator":"EQ"}
    },
    "ExclusiveStartKey":{
        "HashKeyElement":{"S":"AttributeName1"},
        "RangeKeyElement":{"N":"AttributeName2"}
    },
    "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table contenant les éléments demandés. Type : String  |  Oui  | 
| AttributesToGet  | Tableau de noms d'attribut. Si des noms d'attribut ne sont pas spécifiés, tous les attributs sont renvoyés. Si certains attributs ne sont pas trouvés, ils n'apparaissent pas dans le résultat.Type : Array | Non | 
| Limit  | Nombre maximum d'éléments à évaluer (pas nécessairement le nombre d'éléments correspondants). Si DynamoDB traite le nombre d'éléments jusqu'à la limite lors du traitement des résultats, il arrête et renvoie les valeurs correspondantes jusqu'à ce point, ainsi qu'une valeur `LastEvaluatedKey` à appliquer dans une opération subséquente pour continuer à récupérer des éléments. Par ailleurs, si la taille du jeu de données dépasse 1 Mo avant que DynamoDB atteigne cette limite, DynamoDB arrête l'analyse et renvoie les valeurs correspondantes jusqu'à la limite, ainsi qu'une valeur `LastEvaluatedKey` à appliquer dans une opération subséquente pour continuer l'analyse.Type : nombre | Non | 
| Count  | Si la valeur est définie sur `true`, DynamoDB renvoie un nombre total d'éléments pour l'opération d'analyse, même si celle-ci ne trouve pas d'élément pour le filtre affecté. Vous pouvez appliquer le paramètre Limit aux analyses de nombre uniquement.  Ne définissez pas la valeur `Count` sur `true` tout en fournissant une liste `AttributesToGet` car, dans ce cas, DynamoDB renvoie une erreur de validation. Pour de plus amples informations, consultez [Comptabilisation des éléments dans les résultats](Scan.md#Scan.Count).Type : booléen | Non | 
| ScanFilter  | Evalue les résultats de l'analyse et renvoie uniquement les valeurs souhaitées. S'il y a plusieurs conditions, celles-ci sont traitées comme des opérations « AND (ET) ». Toutes les conditions doivent être remplies pour être incluses dans les résultats. Type : mappage des noms d'attribut à des valeurs avec des opérateurs de comparaison. | Non | 
| ScanFilter:AttributeValueList | Valeurs et conditions d'évaluation des résultats d'analyse pour le filtre.Type : mappage de `AttributeValue` à un `Condition`. | Non | 
| ScanFilter:​ ComparisonOperator | Critères d'évaluation des attributs fournis, tels que Egal à, Supérieur à, etc. Les opérateurs de comparaison valides pour une opération d'analyse sont les suivants. Les comparaisons de valeurs de chaîne pour les critères Supérieur à, Egal à ou Inférieur à sont basées sur des valeurs de code de caractère ASCII. Par exemple, `a` est supérieur à `A`, et `aa` est supérieur à `B`. Pour obtenir la liste des valeurs des codes, consultez [http://fr.wikipedia.org/wiki/American\$1Standard\$1Code\$1for\$1Information\$1Interchange](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). Pour une valeur binaire, DynamoDB traite chaque octet des données binaires comme non signé quand il compare des valeurs binaires, par exemple, lors de l'évaluation d'expressions de requête.   Type : chaîne ou binaire  | Non | 
|   | `EQ` : égal. Pour `EQ`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas égal à `{"NS":["6", "2", "1"]}`. |   | 
|   | `NE` : non égal. Pour `NE`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas égal à `{"NS":["6", "2", "1"]}`. |   | 
|   | `LE` : inférieur ou égal. Pour `LE`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas comparable à `{"NS":["6", "2", "1"]}`. |   | 
|   | `LT` : inférieur. Pour `LT`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` ne se compare pas à `{"NS":["6", "2", "1"]}`. |   | 
|   | `GE` : supérieur ou égal. Pour `GE`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` ne se compare pas à `{"NS":["6", "2", "1"]}`. |   | 
|   | `GT` : supérieur. Pour `GT`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas égal à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas comparable à `{"NS":["6", "2", "1"]}`. |   | 
|   | `NOT_NULL` : l'attribut existe.  |   | 
|   | `NULL` : l'attribut n'existe pas.  |   | 
|   | `CONTAINS` : vérifie la présence d'une sous-séquence ou d'une valeur dans un ensemble. Pour `CONTAINS`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si l'attribut cible de la comparaison est de type chaîne, l'opération vérifie la présence d'une sous-chaîne correspondante. Si l'attribut cible de la comparaison est de type binaire, l'opération vérifie la présence d'une sous-séquence de la cible correspondant à l'entrée. Si l'attribut cible de la comparaison est de type ensemble (« SS », « NS » ou « BS »), l'opération vérifie la présence d'un membre de l'ensemble (pas comme une sous-chaîne). |   | 
|   | `NOT_CONTAINS` : vérifie l'absence d'une sous-séquence ou d'une valeur dans un ensemble. Pour `NOT_CONTAINS`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Si l'attribut cible de la comparaison est de type chaîne, l'opération vérifie l'absence de sous-chaîne correspondante. Si l'attribut cible de la comparaison est de type binaire, l'opération vérifie l'absence d'une sous-séquence de la cible correspondant à l'entrée. Si l'attribut cible de la comparaison est de type ensemble (« SS », « NS » ou « BS »), l'opération vérifie l'absence d'un membre de l'ensemble (pas comme une sous-chaîne). |   | 
|   | `BEGINS_WITH` : vérifie la présence d'un préfixe. Pour `BEGINS_WITH`, `AttributeValueList` ne peut contenir qu'une seule `AttributeValue` de type chaîne ou binaire (pas nombre ou ensemble). L'attribut cible de la comparaison doit être une chaîne ou un binaire (pas un nombre ou un ensemble). |   | 
|   | `IN` : vérifie la présence de correspondances exactes. Pour `IN`, `AttributeValueList` peut contenir qu'une seule `AttributeValue` de type Chaîne, Nombre ou Binaire (et non Ensemble). Pour correspondre, l'attribut cible de la comparaison doit être du même type et avoir exactement la même valeur. Une chaîne ne correspond jamais à un ensemble de chaîne. |   | 
|   | `BETWEEN` : supérieur ou égal à la première valeur, et inférieur ou égal à la deuxième valeur. Pour `BETWEEN`, `AttributeValueList` doit inclure deux éléments `AttributeValue` du même type, Chaîne, Nombre ou Binaire (et non Ensemble). Un attribut cible correspond si la valeur cible est supérieure ou égale au premier élément, et inférieure ou égale au deuxième. Si un élément contient une `AttributeValue` d'un type différent de celui spécifié dans la demande, la valeur ne correspond pas. Par exemple, `{"S":"6"}` n'est pas comparable à `{"N":"6"}`. De même, `{"N":"6"}` n'est pas comparable à `{"NS":["6", "2", "1"]}`. |   | 
| ExclusiveStartKey | Clé primaire de l'élément à partir duquel continuer une analyse antérieure. Une analyse antérieure peut fournir cette valeur si cette opération d'analyse a été interrompue avant la fin, soit en raison de la taille de l'ensemble de résultats, soit en raison du paramètre `Limit`. La `LastEvaluatedKey` peut être retransmise dans une nouvelle demande d'analyse pour continuer l'opération à partir de ce point.Type : `HashKeyElement`, ou `HashKeyElement` et `RangeKeyElement` pour une clé primaire composite. | Non | 

## Réponses
<a name="API_Scan_ResponseElements"></a>

### Syntaxe
<a name="API_Scan_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 229 

{"Count":2,"Items":[{
    "AttributeName1":{"S":"AttributeValue1"},
    "AttributeName2":{"S":"AttributeValue2"},
    "AttributeName3":{"S":"AttributeValue3"}
    },{
    "AttributeName1":{"S":"AttributeValue4"},
    "AttributeName2":{"S":"AttributeValue5"},
    "AttributeName3":{"S":"AttributeValue6"},
    "AttributeName5":{"B":"dmFsdWU="}
    }],
    "LastEvaluatedKey":
        {"HashKeyElement":{"S":"AttributeName1"},
        "RangeKeyElement":{"N":"AttributeName2"},
    "ConsumedCapacityUnits":1,
    "ScannedCount":2}
}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
| Items  | Conteneur pour les attributs répondant aux paramètres de l'opération.Type : mappage de noms d'attribut à leurs types de données et valeurs. | 
| Count  |  Nombre d'éléments dans la réponse. Pour de plus amples informations, consultez [Comptabilisation des éléments dans les résultats](Scan.md#Scan.Count). Type : nombre  | 
| ScannedCount  | Nombre d'éléments dans l'analyse complète avant l'application des filtres. Une valeur `ScannedCount` élevée avec peu ou pas de résultats `Count` indique une opération d'analyse inefficace. Pour de plus amples informations, consultez [Comptabilisation des éléments dans les résultats](Scan.md#Scan.Count).Type : nombre | 
| LastEvaluatedKey | Clé primaire de l'élément où l'opération d'analyse s'est arrêtée. Fournissez cette valeur dans une opération d'analyse subséquente pour poursuivre l'opération à partir de ce point.La `LastEvaluatedKey` a une valeur `null` quand l'ensemble des résultats de l'analyse est complet (c'est-à-dire que l'opération a traité la « dernière page »).  | 
| ConsumedCapacityUnits | Nombre d'unités de capacité de lecture consommées par l'opération. Cette valeur indique le nombre appliqué à votre débit approvisionné. Pour plus d’informations, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). Type : nombre | 

## Erreurs spéciales
<a name="API_Scan_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
| ResourceNotFoundException  | La table spécifiée n'a pas été trouvée. | 

## Exemples
<a name="API_Scan_Examples"></a>

Pour des exemples d'utilisation du kit SDK AWS, consultez [Analyse de tables dans DynamoDB](Scan.md).

### Exemple de demande
<a name="API_Scan_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan 
content-type: application/x-amz-json-1.0

{"TableName":"1-hash-rangetable","ScanFilter":{}}
```

### Exemple de réponse
<a name="API_Scan_Examples_Response"></a>

```
HTTP/1.1 200
x-amzn-RequestId: 4e8a5fa9-71e7-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0 
content-length: 465 

{"Count":4,"Items":[{
	"date":{"S":"1980"},
	"fans":{"SS":["Dave","Aaron"]},
	"name":{"S":"Airplane"},
	"rating":{"S":"***"}
	},{
	"date":{"S":"1999"},
	"fans":{"SS":["Ziggy","Laura","Dean"]},
	"name":{"S":"Matrix"},
	"rating":{"S":"*****"}
	},{
	"date":{"S":"1976"},
	"fans":{"SS":["Riley"]},"
	name":{"S":"The Shaggy D.A."},
	"rating":{"S":"**"}
	},{
	"date":{"S":"1985"},
	"fans":{"SS":["Fox","Lloyd"]},
	"name":{"S":"Back To The Future"},
	"rating":{"S":"****"}
	}],
    "ConsumedCapacityUnits":0.5
	"ScannedCount":4}
```

### Exemple de demande
<a name="API_Scan_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan 
content-type: application/x-amz-json-1.0
content-length: 125 

{"TableName":"comp5",
	"ScanFilter":
		{"time":
			{"AttributeValueList":[{"N":"400"}],
			"ComparisonOperator":"GT"}
	}
}
```

### Exemple de réponse
<a name="API_Scan_Examples_Response2"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 262
Date: Mon, 15 Aug 2011 16:52:02 GMT

{"Count":2,
	"Items":[
		{"friends":{"SS":["Dave","Ziggy","Barrie"]},
		"status":{"S":"chatting"},
		"time":{"N":"2000"},
		"user":{"S":"Casey"}},
		{"friends":{"SS":["Dave","Ziggy","Barrie"]},
		"status":{"S":"chatting"},
		"time":{"N":"2000"},
		"user":{"S":"Fredy"}
		}],
"ConsumedCapacityUnits":0.5
"ScannedCount":4
}
```

### Exemple de demande
<a name="API_Scan_Examples_Request3"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan
content-type: application/x-amz-json-1.0

{"TableName":"comp5",
	"Limit":2,
	"ScanFilter":
		{"time":
			{"AttributeValueList":[{"N":"400"}],
			"ComparisonOperator":"GT"}
	},
	"ExclusiveStartKey":
		{"HashKeyElement":{"S":"Fredy"},"RangeKeyElement":{"N":"2000"}}
}
```

### Exemple de réponse
<a name="API_Scan_Examples_Response3"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 232
Date: Mon, 15 Aug 2011 16:52:02 GMT

{"Count":1,
	"Items":[
		{"friends":{"SS":["Jane","James","John"]},
		"status":{"S":"exercising"},
		"time":{"N":"2200"},
		"user":{"S":"Roger"}}
	],
	"LastEvaluatedKey":{"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"250"}},
"ConsumedCapacityUnits":0.5
"ScannedCount":2
}
```

## Actions connexes
<a name="API_Scan_Related_Actions"></a>
+  [Requête](API_Query_v20111205.md) 
+  [BatchGetItem](API_BatchGetItem_v20111205.md) 

# UpdateItem
<a name="API_UpdateItem_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_UpdateItem_Description"></a>

Modifie les attributs d'un élément existant. Vous pouvez effectuer une mise à jour conditionnelle (insérer une nouvelle paire nom-valeur d'attribut si elle n'existe pas, ou remplacer une paire nom-valeur existante si elle a certaines valeurs d'attribut attendues).

**Note**  
Vous ne pouvez pas mettre à jour les attributs de clé primaire en utilisant l'opération UpdateItem. Au lieu de cela, supprimez l'élément et utilisez l'opération PutItem pour créer un nouvel élément avec de nouveaux attributs.

L'opération UpdateItem inclut un paramètre `Action` qui définit comment effectuer la mise à jour. Vous pouvez insérer, supprimer ou ajouter des valeurs d'attribut. 

Les valeurs d'attribut ne peuvent pas être nulles, les attributs de type chaîne et binaire doivent avoir une longueur supérieure à zéro, et les attributs de type ensemble ne peuvent pas être vides. Les demandes comprenant des valeurs vides sont rejetées avec une erreur `ValidationException`.

Si un élément existant possède la clé primaire spécifiée : 
+ **PUT – **Ajoute l'attribut spécifié. Si l'attribut existe, il est remplacé par la nouvelle valeur. 
+ **DELETE – **Si aucune valeur n'est spécifiée, l'attribut et sa valeur sont supprimés. Si un ensemble de valeurs est spécifié, les valeurs dans l'ensemble spécifié sont supprimées de l'ancien ensemble. Ainsi, si la valeur d'attribut contient [a,b,c] et si l'action de suppression contient [a,c], la valeur d'attribut finale est [b]. Le type de la valeur spécifiée doit correspondre au type de valeur existant. La spécification d'un ensemble vide n'est pas valide.
+ **ADD – **N'utilisez l'action d'ajout que pour des nombres ou si l'attribut cible est un ensemble (y compris un ensemble de chaîne). L'action ADD ne fonctionne pas si l'attribut cible est une valeur de chaîne unique ou une valeur binaire scalaire. La valeur spécifiée est ajoutée à une valeur numérique (incrémentant ou décrémentant la valeur numérique existante), ou ajoutée en tant que valeur supplémentaire dans un ensemble de chaîne. Si un ensemble de valeurs est spécifié, les valeurs sont ajoutées à l'ensemble existant. Par exemple, si l'ensemble d'origine est [1,2] et si la valeur fournie est [3], après l'opération d'ajout, l'ensemble est [1,2,3], non [4,5]. Une erreur se produit si une action d'ajout est spécifiée pour un attribut d'ensemble et si le type d'attribut spécifié ne correspond pas au type d'ensemble existant. 

  Si vous utilisez l'action ADD pour un attribut qui n'existe pas, l'attribut et ses valeurs sont ajoutés à l'élément.

Si aucun élément ne correspond à la clé primaire spécifiée : 
+ **PUT – **Crée un élément avec la clé primaire spécifiée. Ajoute ensuite l'attribut spécifié. 
+ **DELETE – **Il ne se passe rien. 
+ **ADD – **Crée un élément avec la clé primaire et le numéro (ou un ensemble de numéros) fournis pour la valeur d'attribut. Non valide pour un type chaîne ou binaire. 

**Note**  
Si vous utilisez l'action `ADD` pour incrémenter ou décrémenter une valeur numérique pour un élément qui n'existe pas avant la mise à jour, DynamoDB utilise `0` comme valeur initiale. Par ailleurs, si vous mettez à jour un élément en utilisant l'action `ADD` pour incrémenter ou décrémenter une valeur numérique pour un attribut qui n'existe pas avant la mise à jour (tandis que l'élément existe), DynamoDB utilise `0` comme valeur initiale. Par exemple, vous utilisez l'action `ADD` pour ajouter `+3` à un attribut qui n'existait pas avant la mise à jour. DynamoDB utilise `0` comme valeur initiale, et la valeur après la mise à jour est `3`. 

Pour plus d'informations sur l'utilisation de cette opération, consultez [Utilisation d’éléments et d’attributs dans DynamoDB](WorkingWithItems.md). 

## Requêtes
<a name="API_UpdateItem_RequestParameters"></a>

### Syntaxe
<a name="API_UpdateItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateItem
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "Key":
        {"HashKeyElement":{"S":"AttributeValue1"},
        "RangeKeyElement":{"N":"AttributeValue2"}},
    "AttributeUpdates":{"AttributeName3":{"Value":{"S":"AttributeValue3_New"},"Action":"PUT"}},
    "Expected":{"AttributeName3":{"Value":{"S":"AttributeValue3_Current"}}},
    "ReturnValues":"ReturnValuesConstant"
}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table contenant l'élément à mettre à jour.  Type : String  |  Oui  | 
|  Key  | Clé primaire définissant l'élément. Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Type : mappage de `HashKeyElement` à sa valeur, et de `RangeKeyElement` à sa valeur. | Oui | 
| AttributeUpdates | Mappage de nom d'attribut à la nouvelle valeur, et d'une action pour la mise à jour. Les noms d'attribut spécifient les attributs à modifier, et ne peuvent pas contenir d'attributs de clé primaire.Type : mappage de nom d'attribut, de valeur et d'une action pour la mise à jour. |  | 
| AttributeUpdates:Action | Spécifie comment effectuer la mise à jour. Valeurs possibles : `PUT` (par défaut), `ADD` ou `DELETE`. La sémantique est expliquée dans la description de l'opération UpdateItem.Type : StringPar défaut : `PUT` | Non | 
| Expected  | Désigne un attribut pour une mise à jour conditionnelle. Le paramètre `Expected` vous permet de fournir un nom d'attribut et de spécifier si DynamoDB doit ou non vérifier si la valeur d'attribut existe, ou existe et a une valeur particulière, avant de modifier l'attribut.Type : mappage de noms d'attribut. | Non | 
| Expected:AttributeName  | Nom de l'attribut pour l'insertion conditionnelle.Type : String | Non | 
| Expected:AttributeName: ExpectedAttributeValue | Utilisez ce paramètre pour spécifier si une valeur existe déjà pour la paire nom-valeur de l'attribut. La notation JSON suivante met à jour l'élément si l'attribut « Color » (Couleur) n'existe pas pour cet élément :<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>La notation JSON suivante vérifie si l'attribut « Color » (Couleur) a une valeur existante de « Yellow » (Jaune) avant de mettre à jour l'élément : <pre>"Expected" : <br />	{"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}</pre>Par défaut, si vous utilisez le paramètre `Expected` et fournissez une `Value`, DynamoDB suppose que l'attribut existe et a une valeur actuelle à remplacer. Vous n'avez donc pas à spécifier `{"Exists":true}`, car c'est implicite. Vous pouvez raccourcir la demande pour :<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Si vous spécifiez `{"Exists":true}` sans valeur d'attribut à vérifier, DynamoDB renvoie une erreur.  | Non | 
| ReturnValues  | Utilisez ce paramètre si vous souhaitez obtenir les paires nom-valeur d'attribut avant leur mise à jour avec la demande `UpdateItem`. Les valeurs de paramètre possibles sont `NONE` (par défaut) ou `ALL_OLD`, `UPDATED_OLD`, `ALL_NEW` ou `UPDATED_NEW`. Si `ALL_OLD` est spécifié et si l'opération `UpdateItem` a remplacé une paire nom-valeur d'attribut, le contenu de l'ancien élément est renvoyé. Si ce paramètre n'est pas fourni ou est `NONE`, rien n'est retourné. Si `ALL_NEW` est spécifié, tous les attributs de la nouvelle version de l'élément sont renvoyés. Si `UPDATED_NEW` est spécifié, les nouvelles versions uniquement des attributs mis à jour sont renvoyées.Type : String | Non | 

## Réponses
<a name="API_UpdateItem_CommonResponseElements"></a>

### Syntaxe
<a name="API_UpdateItem_CommonResponseElements.syntax"></a>

L'exemple de syntaxe suivant part du principe que la demande a spécifié un paramètre `ReturnValues` dont la valeur est `ALL_OLD`. Sinon, la réponse ne contient que l'élément `ConsumedCapacityUnits`.

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 140

{"Attributes":{
	"AttributeName1":{"S":"AttributeValue1"},
	"AttributeName2":{"S":"AttributeValue2"},
	"AttributeName3":{"S":"AttributeValue3"},
	"AttributeName5":{"B":"dmFsdWU="}
	},
"ConsumedCapacityUnits":1
}
```


****  

|  Nom  |  Description  | 
| --- | --- | 
|  Attributes  | Mappage de paires nom-valeur d'attribut, mais uniquement si le paramètre `ReturnValues` est spécifié comme autre chose que `NONE` dans la demande.Type : mappage de paires nom-valeur d'attribut. | 
| ConsumedCapacityUnits | Nombre d'unités de capacité d'écriture consommées par l'opération. Cette valeur indique le nombre appliqué à votre débit approvisionné. Pour plus d’informations, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md). Type : nombre | 

## Erreurs spéciales
<a name="API_UpdateItem_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Le contrôle conditionnel a échoué. La valeur (« \$1 name \$1 ») de l'attribut est (« \$1 value \$1 ») mais la valeur attendue était (« \$1 ExpValue \$1 »)  | 
| ResourceNotFoundExceptions  | L'élément ou l'attribut spécifiés n'ont pas été trouvés. | 

## Exemples
<a name="API_UpdateItem_Examples"></a>

Pour des exemples d'utilisation du kit SDK AWS, consultez [Utilisation d’éléments et d’attributs dans DynamoDB](WorkingWithItems.md).

### Exemple de demande
<a name="API_UpdateItem_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateItem
content-type: application/x-amz-json-1.0 

{"TableName":"comp5",
    "Key":
        {"HashKeyElement":{"S":"Julie"},"RangeKeyElement":{"N":"1307654350"}},
    "AttributeUpdates":
        {"status":{"Value":{"S":"online"},
        "Action":"PUT"}},
    "Expected":{"status":{"Value":{"S":"offline"}}},
    "ReturnValues":"ALL_NEW"
}
```

### Exemple de réponse
<a name="API_UpdateItem_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 5IMHO7F01Q9P7Q6QMKMMI3R3QRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 121
Date: Fri, 26 Aug 2011 21:05:00 GMT

{"Attributes":
    {"friends":{"SS":["Lynda, Aaron"]},
    "status":{"S":"online"},
    "time":{"N":"1307654350"},
    "user":{"S":"Julie"}},
"ConsumedCapacityUnits":1
}
```

## Actions connexes
<a name="API_UpdateItem_Related_Actions"></a>
+  [PutItem](API_PutItem_v20111205.md) 
+  [DeleteItem](API_DeleteItem_v20111205.md) 

# UpdateTable
<a name="API_UpdateTable_v20111205"></a>

**Important**  
***Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.***  
 **Pour une documentation sur l'API de bas niveau actuelle, consultez la [Référence d'API Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Description
<a name="API_updatetable_Description"></a>

Met à jour le débit approvisionné pour la table donnée. La définition du débit pour une table vous aide à gérer les performances et fait partie de la fonction de débit approvisionné de DynamoDB. Pour de plus amples informations, consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md).

Les valeurs de débit approvisionné peuvent faire l'objet d'une mise à niveau en fonction des maxima et minima répertoriés dans [Quotas dans Amazon DynamoDB](ServiceQuotas.md).

Pour que cette opération réussisse, la table doit être dans l'état `ACTIVE`. L'opération UpdateTable est asynchrone. Lors de son exécution, la table est dans l'état `UPDATING`. Quand la table est dans l'état `UPDATING`, elle a encore le débit approvisionné d'avant l'appel. Le nouveau paramètre de débit approvisionné ne prend effet que quand la table revient à l'état `ACTIVE` après l'opération UpdateTable. 

## Requêtes
<a name="API_UpdateTable_RequestParameters"></a>

### Syntaxe
<a name="API_UpdateTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateTable
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":15}
}
```


****  

|  Name (Nom)  |  Description  |  Obligatoire | 
| --- | --- | --- | 
|  TableName  |  Nom de la table à mettre à jour.  Type : String   |  Oui  | 
|  ProvisionedThroughput  | Nouveau débit pour la table spécifiée, composé de valeurs pour `ReadCapacityUnits` et `WriteCapacityUnits`. Consultez [Mode de capacité provisionnée DynamoDB](provisioned-capacity-mode.md).Type : Array  | Oui | 
| ProvisionedThroughput :ReadCapacityUnits |  Définit le nombre minimum de `ReadCapacityUnits` cohérentes consommées par seconde pour la table spécifiée avant que DynamoDB équilibre la charge avec d'autres opérations.  Des opérations de lecture éventuellement cohérente nécessitant moins d'effort qu'une opération de lecture cohérente, un paramètre de 50 `ReadCapacityUnits` par seconde fournit 100 `ReadCapacityUnits` éventuellement cohérentes par seconde. Type : nombre  | Oui | 
| ProvisionedThroughput :WriteCapacityUnits |  Définit le nombre minimum de `WriteCapacityUnits` consommées par seconde pour la table spécifiée avant que DynamoDB équilibre la charge avec d'autres opérations. Type : nombre  | Oui | 

## Réponses
<a name="API_UpdateTable_ResponseElements"></a>

### Syntaxe
<a name="API_UpdateTable_ResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
Content-Type: application/json
Content-Length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.321657838135E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeValue1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeValue2","AttributeType":"N"}},
    "ProvisionedThroughput":
        {"LastDecreaseDateTime":1.321661704489E9,
        "LastIncreaseDateTime":1.321663607695E9,
        "ReadCapacityUnits":5,
        "WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"UPDATING"}}
```


****  

|  Name (Nom)  |  Description  | 
| --- | --- | 
| CreationDateTime | Date de création de la table.Type : nombre | 
|  KeySchema  | Structure (simple ou composite) de la clé primaire pour la table. Une paire nom-valeur pour l'élément `HashKeyElement` est obligatoire, et une paire nom-valeur pour l'élément `RangeKeyElement` est facultatif (obligatoire uniquement pour les clés primaires composites). La taille maximum de clé de hachage est de 2 048 octets. La taille maximum de clé de plage est de 1 024 octets. Les deux limites sont appliquées séparément (c'est-à-dire que vous pouvez avoir une taille de clé combinée de hachage et de plage égale à 2 048 \$1 1 024 octets). Pour plus d'informations sur les clés primaires, consultez [Clé primaire](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Type : mappage de `HashKeyElement`, ou de `HashKeyElement` et `RangeKeyElement` pour une clé primaire composite. | 
| ProvisionedThroughput | Paramètres de débit actuels pour la table spécifiée, incluant des valeurs pour `LastIncreaseDateTime` (le cas échéant), `LastDecreaseDateTime` (le cas échéant), Type : Array  | 
|  TableName  |  Nom de la table mise à jour. Type : String  | 
|  TableStatus  | État actuel de la table (CREATING, ACTIVE, DELETING ou UPDATING), qui devrait être UPDATING. Utilisez l'opération [DescribeTables](API_DescribeTables_v20111205.md) pour vérifier l'état de la table. Type : String | 

## Erreurs spéciales
<a name="API_UpdateTable_SpecialErrors"></a>


****  

|  Erreur  |  Description  | 
| --- | --- | 
| ResourceNotFoundException  | La table spécifiée n'a pas été trouvée.  | 
| ResourceInUseException | La table n'est pas dans l'état ACTIVE. | 

## Exemples
<a name="API_UpdateTable_Examples"></a>

### Exemple de demande
<a name="API_UpdateTable_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bas niveau de DynamoDB.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateTable
content-type: application/x-amz-json-1.0

{"TableName":"comp1",
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":15}
}
```

### Exemple de réponse
<a name="API_UpdateTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
content-type: application/x-amz-json-1.0
content-length: 390
Date: Sat, 19 Nov 2011 00:46:47 GMT

{"TableDescription":
    {"CreationDateTime":1.321657838135E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":
        {"LastDecreaseDateTime":1.321661704489E9,
        "LastIncreaseDateTime":1.321663607695E9,
        "ReadCapacityUnits":5,
        "WriteCapacityUnits":10},
    "TableName":"comp1",
    "TableStatus":"UPDATING"}
}
```

## Actions connexes
<a name="API_UpdateTable_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 