

# Versión anterior de la API de DynamoDB de bajo nivel (2011-12-05)
<a name="Appendix.APIv20111205"></a>

En esta sección se documentan las operaciones disponibles en la versión anterior de la API de bajo nivel de DynamoDB (2011-12-05). Esta versión del API de bajo nivel se mantiene para ofrecer compatibilidad retroactiva con las aplicaciones existentes.

**Las nuevas aplicaciones deben utilizar la versión actual de la API (2012-08-10)**. Para obtener más información, consulte [Referencia de la API de DynamoDB](CurrentAPI.md).

**nota**  
Recomendamos migrar las aplicaciones existentes a la versión más reciente de la API (2012-08-10), porque las nuevas características de DynamoDB no se podrán aplicar retroactivamente en la versión anterior de la 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)
+ [Consultar](API_Query_v20111205.md)
+ [Examen](API_Scan_v20111205.md)
+ [UpdateItem](API_UpdateItem_v20111205.md)
+ [UpdateTable](API_UpdateTable_v20111205.md)

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

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_BatchGetItem_Description"></a>

La operación `BatchGetItem` devuelve los atributos de varios elementos de varias tablas mediante sus claves primarias. El número máximo de elementos que pueden recuperarse en una única operación es de 100. Además, el número de elementos recuperados está restringido por un límite de tamaño de 1 MB. Si se supera el límite de tamaño de respuesta o se devuelve un resultado parcial por haberse excedido el rendimiento aprovisionado de la tabla o debido a un error de procesamiento interno, DynamoDB devuelve un valor `UnprocessedKeys` para que pueda reintentar la operación comenzando por el siguiente elemento que desea obtener. DynamoDB ajusta automáticamente el número de elementos que se devuelven por página para aplicar este límite. Por ejemplo, aunque solicite que se recuperen 100 elementos con un tamaño individual de 50 KB cada uno, el sistema devolverá 20 elementos y un valor de `UnprocessedKeys` correspondiente para que pueda obtener la siguiente página de resultados. Si lo desea, la aplicación puede incluir su propia lógica para ensamblar las páginas de resultados en un único conjunto.

Si no se puede procesar ningún elemento porque no hay rendimiento aprovisionado suficiente en cada una de las tablas objeto de la solicitud, DynamoDB devuelve un error `ProvisionedThroughputExceededException`. 

**nota**  
De forma predeterminada, `BatchGetItem` realiza lecturas consistentes finales en cada tabla incluida en la solicitud. Si desea realizar en su lugar lecturas consistentes, puede establecer el parámetro `ConsistentRead` en `true` para cada tabla.  
`BatchGetItem` recupera los elementos en paralelo para minimizar las latencias de respuesta.  
Al diseñar la aplicación, tenga en cuenta que DynamoDB no garantiza cómo se ordenarán los atributos en la respuesta devuelta. Incluya en `AttributesToGet` los valores de clave principal de los elementos de la solicitud para ayudar a analizar la respuesta por elementos.   
Si los elementos solicitados no existen, no se devuelve nada en la respuesta para esos elementos. Las solicitudes de elementos inexistentes consumen las unidades de capacidad de lectura mínimas, según el tipo de lectura. Para obtener más información, consulte [Tamaños y formatos de elementos de DynamoDB](CapacityUnitCalculations.md).

## Solicitudes
<a name="API_BatchGetItem_RequestParameters"></a>

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

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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"]
        }
    }
}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  RequestItems  | Un contenedor del nombre de la tabla y los elementos correspondientes que se deben obtener según su clave principal. Mientras se solicitan elementos, cada nombre de tabla puede invocarse solo una vez por operación.Tipo: cadena Valor predeterminado: None  |  Sí | 
| Table |  El nombre de la tabla que contiene los elementos que hay que obtener. La entrada es simplemente una cadena que especifica una tabla existente sin ninguna etiqueta. Tipo: cadena  Valor predeterminado: None   | Sí | 
| Table:Keys  |  Los valores de clave principal que definen los elementos de la tabla especificada. Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey). Tipo: Keys   | Sí | 
| Table:AttributesToGet  |  Matriz de nombres de atributos contenidos en la tabla especificada. Si no se especifican sus nombres, se devuelven todos los atributos. Si algún atributo no se encuentra, no aparecerá en los resultados.  Tipo: matriz   | No | 
| Table:ConsistentRead  |  Si se establece en `true`, se emite una lectura consistente; en caso contrario, se utiliza una lectura consistente final. Tipo: Booleano   | No | 

## Respuestas
<a name="API_BatchGetItem_ResponseElements"></a>

### Sintaxis
<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"]}
        }
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
| Responses  | Nombres de tablas y los atributos de los elementos respectivos de las tablas.Tipo: mapa  | 
| Table |  El nombre de la tabla que contiene los elementos. La entrada es simplemente una cadena que especifica la tabla existente sin ninguna etiqueta.Tipo: cadena  | 
| Items  | Contenedor de los nombres y valores de los atributos que coinciden con los parámetros de la operación.Tipo: Map, mapa de los nombres de atributos y sus tipos de datos y valores. | 
| ConsumedCapacityUnits | La cantidad de unidades de capacidad de lectura consumidas para cada tabla. Este valor muestra el número aplicado al rendimiento aprovisionado. Las solicitudes de elementos inexistentes consumen las unidades de capacidad de lectura mínimas, según el tipo de lectura. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). Tipo: Number | 
| UnprocessedKeys | Contiene una matriz de tablas y sus respectivas claves que no se han procesado en la respuesta actual, posiblemente debido a que se ha alcanzado un límite de tamaño de respuesta. El valor de `UnprocessedKeys` tiene el mismo formato que el parámetro `RequestItems` (por lo que se puede proporcionar directamente a una operación `BatchGetItem` posterior). Para obtener más información, consulte el parámetro `RequestItems` anterior.Tipo: matriz  | 
| UnprocessedKeys: Table: Keys  | Los valores de los atributos de clave principal que definen los elementos y los atributos asociados con los elementos. Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: Array; matriz de pares de nombre-valor del atributo.  | 
| UnprocessedKeys: Table: AttributesToGet  |  Nombres de los atributos contenidos en la tabla especificada. Si no se especifican sus nombres, se devuelven todos los atributos. Si algún atributo no se encuentra, no aparecerá en los resultados.  Tipo: Array, matriz de nombres de atributos.  | 
| UnprocessedKeys: Table: ConsistentRead  |  Si se establece en `true`, se utiliza una lectura consistente para la tabla especificada; en caso contrario, se utiliza una lectura consistente final. Tipo: booleano.  | 

## Errores especiales
<a name="API_BatchGetItem_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
| ProvisionedThroughputExceededException  | Se ha superado el desempeño provisionado máximo permitido.  | 

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

En los siguientes ejemplos se muestra una solicitud HTTP POST y su respuesta utilizando la operación BatchGetItem. Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte [Uso de elementos y atributos en DynamoDB](WorkingWithItems.md).

### Solicitud de ejemplo
<a name="API_BatchGetItem_Examples_Request"></a>

En el ejemplo siguiente se solicitan atributos de dos tablas diferentes.

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bajo nivel 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"]}
    }
}
```

### Respuesta de ejemplo
<a name="API_BatchGetItem_Examples_Response"></a>

El ejemplo siguiente es la respuesta.

```
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>

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_BatchWriteItems_Description"></a>

Esta operación permite colocar o eliminar varios elementos en una o varias tablas con una sola llamada. 

Para cargar un elemento, puede utilizar `PutItem` y para eliminar un elemento, puede utilizar `DeleteItem`. Sin embargo, si desea cargar o eliminar grandes cantidades de datos, como, por ejemplo, cargar grandes cantidades de datos desde Amazon EMR (Amazon EMR) o migrar datos desde otra base de datos a DynamoDB, `BatchWriteItem` ofrece una alternativa eficiente. 

Si utiliza lenguajes como Java, puede usar hilos para cargar los elementos en paralelo. Esto agrega complejidad a la aplicación, porque debe encargarse de los hilos. Otros lenguajes no admiten los hilos. Por ejemplo, si utiliza PHP, debe cargar o eliminar los elementos uno por uno. En ambos casos, `BatchWriteItem` proporciona una alternativa para procesar en paralelo las operaciones de colocación y eliminación, por lo que aporta la potencia de un grupo de subprocesos sin tener que aumentar la complejidad de la aplicación. 

Tenga en cuenta que cada una de las operaciones individuales de colocación y eliminación que se especifican en una operación `BatchWriteItem` cuesta lo mismo en términos de unidades de capacidad consumidas. Sin embargo, puesto que `BatchWriteItem` lleva a cabo las operaciones especificadas en paralelo, se consigue una latencia menor. Cada una de las operaciones de eliminación de elementos inexistentes consumen una unidad de capacidad de escritura. Para obtener más información sobre las unidades de capacidad provisionadas, consulte [Uso de tablas y datos en DynamoDB](WorkingWithTables.md).

Cuando utilice `BatchWriteItem`, tenga en cuenta las siguientes limitaciones:
+ **Número máximo de operaciones en una sola solicitud**: puede especificar un máximo de 25 operaciones de colocación o eliminación en total; sin embargo, el tamaño total de la solicitud no puede ser mayor que 1 MB (la carga de HTTP). 
+ Puede utilizar la operación `BatchWriteItem` únicamente para colocar y eliminar elementos. No la puede utilizar para actualizar los existentes.
+ **No es una operación atómica**: las operaciones individuales especificadas en una operación `BatchWriteItem` son atómicas; sin embargo, `BatchWriteItem` en su conjunto es una operación basada en el principio "en la medida en que sea posible", no es atómica. Es decir, en una solicitud `BatchWriteItem`, algunas operaciones podrían realizarse correctamente y otras, no. Las operaciones que presentan algún error se devuelven en el campo `UnprocessedItems` en la respuesta. Algunos de estos errores podrían deberse a que se haya superado el desempeño provisionado configurado para la tabla, o a un error transitorio de la red. Puede investigar y, si lo desea, reenviar las solicitudes. Normalmente, se llama a `BatchWriteItem` en bucle, se comprueba en cada iteración si quedan elementos sin procesar y se envía una nueva solicitud `BatchWriteItem` con esos elementos que faltan. 
+ **No se devuelven elementos**: la operación `BatchWriteItem` se ha diseñado para cargar grandes cantidades de datos de forma eficiente. No proporciona la sofisticación que ofrecen `PutItem` y `DeleteItem`. Por ejemplo, `DeleteItem` es compatible con el campo `ReturnValues` del cuerpo de la solicitud para solicitar el elemento eliminado en la respuesta. En cambio, la operación `BatchWriteItem` no devuelve ningún elemento de respuesta.
+ A diferencia de `PutItem` y `DeleteItem`, `BatchWriteItem` no permite especificar condiciones para solicitudes de escritura individuales de la operación.
+ Los valores de los atributos no pueden ser null; los atributos de tipo cadena y binario deben tener una longitud superior a cero; y los atributos de tipo conjunto no pueden estar vacíos. Las solicitudes con valores vacíos se rechazan con la excepción `ValidationException`.

DynamoDB rechaza toda la operación de escritura por lotes si se cumple cualquiera de las siguientes condiciones: 
+ Si una o varias tablas especificados en la solicitud `BatchWriteItem` no existe.
+ Si los atributos de clave principal especificados en un elemento de la solicitud no coinciden con el esquema de clave principal de la tabla correspondiente.
+ Si intenta realizar varias operaciones con el mismo elemento en la misma solicitud `BatchWriteItem`. Por ejemplo, no puede colocar y eliminar el mismo elemento en la misma solicitud `BatchWriteItem`. 
+ Si el tamaño total de la solicitud supera el límite de tamaño de solicitud de 1 MB (la carga de HTTP).
+ Si cualquier elemento individual de un lote supera el límite de tamaño de elemento de 64 KB.

## Solicitudes
<a name="API_BatchWriteItems_RequestParameters"></a>

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

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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", ... ]
}
```

En el cuerpo de la solicitud, el objeto JSON `RequestItems` describe las operaciones que desea a realizar. Las operaciones se agrupan por tablas. Puede utilizar `BatchWriteItem` para actualizar o eliminar varios elementos en varias tablas. Para cada solicitud de escritura específica, debe identificar el tipo de solicitud (`PutItem` o `DeleteItem`), seguido de información detallada sobre la operación. 
+ Para una solicitud `PutRequest`, se proporciona el elemento, es decir, una lista de atributos y sus valores.
+ Para una solicitud `DeleteRequest`, se proporcionan el nombre y el valor de la clave principal. 

## Respuestas
<a name="API_BatchWriteItems_ResponseElements"></a>

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

A continuación encontrará la sintaxis del cuerpo JSON devuelto en la respuesta.

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

## Errores especiales
<a name="API_BatchWriteItems_SpecialErrors"></a>

No hay errores específicos de esta operación.

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

En el siguiente ejemplo se muestra una solicitud HTTP POST y la respuesta de una operación `BatchWriteItem`. En la solicitud se especifican las siguientes operaciones en las tablas Reply y Thread:
+ Colocar un elemento y eliminar un elemento de la tabla Reply
+ Colocar un elemento en la tabla Thread

Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte [Uso de elementos y atributos en DynamoDB](WorkingWithItems.md).

### Solicitud de ejemplo
<a name="API_BatchWriteItems_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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"
            }
          }
        }
      }
    ]
  }
}
```

### Respuesta de ejemplo
<a name="API_BatchWriteItems_Examples_Response"></a>

En la respuesta del siguiente ejemplo se muestra una operación de colocación que se ha realizado correctamente en las tablas Thread y Reply, y una operación que no se ha podido realizar en la tabla Reply (por ejemplo, porque se ha aplicado una limitación controlada por haberse superado el rendimiento aprovisionado de la tabla). Observe lo siguiente en la respuesta de JSON:
+ El objeto `Responses` muestra que se ha consumido una unidad de capacidad en cada tabla, `Thread` y `Reply`, debido a sendas operaciones de colocación llevadas a cabo en ellas. 
+ El objeto `UnprocessedItems` muestra la operación de eliminación que no se pudo realizar en la tabla `Reply`. A continuación, puede emitir una nueva llamada a `BatchWriteItem` para repetir estas solicitudes sin procesar.

```
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>

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_CreateTable_Description"></a>

La operación `CreateTable` agrega una nueva tabla a la cuenta.

El nombre de la tabla debe ser único para la cuenta de AWS que emite la solicitud y la región de AWS que recibe la solicitud a las que están asociadas (por ejemplo, dynamodb.us-west-2.amazonaws.com). Cada punto de enlace de DynamoDB es totalmente independiente. Por ejemplo, si tiene dos tablas llamadas “MyTable”, una en dynamodb.us-west-2.amazonaws.com y otra en dynamodb.us-west-1.amazonaws.com, son completamente independientes y no comparten ningún dato.

La operación `CreateTable` desencadena un flujo de trabajo asincrónico para comenzar a crear la tabla. DynamoDB devuelve inmediatamente el estado de la tabla (`CREATING`) hasta que la tabla adquiere el estado `ACTIVE`. Una vez que la tabla tiene el estado `ACTIVE`, puede llevar a cabo operaciones del plano de datos. 

Use la operación [DescribeTables](API_DescribeTables_v20111205.md) para comprobar el estado de la tabla. 

## Solicitudes
<a name="API_CreateTable_RequestParameters"></a>

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

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bajo nivel 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}
}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que se va a crear.Los caracteres permitidos son a-z, A-Z, 0-9, "\$1" (guion bajo), "-" (guion) y "." (punto). Los nombres pueden tener de 3 a 255 caracteres de longitud. Tipo: cadena  |  Sí  | 
|  KeySchema  | Estructura de la clave principal (simple o compuesta) de la tabla. Se requiere un par de nombre-valor de `HashKeyElement`, pero el par de nombre-valor de `RangeKeyElement` es opcional (solo es obligatorio para las claves principales compuestas). Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Los nombres de elemento de clave principal pueden tener entre 1 y 255 caracteres y no tienen restricciones de caracteres. Los valores posibles de AttributeType son "S" (cadena), "N" (numérico) o "B" (binario).Tipo: Map, mapa de `HashKeyElement`, o bien de `HashKeyElement` y de `RangeKeyElement` si se trata de una clave principal compuesta. | Sí | 
|  ProvisionedThroughput  | Nuevo rendimiento de la tabla especificada, que se compone de los valores de ReadCapacityUnits y WriteCapacityUnits. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md).  Para obtener los valores mínimo y máximo actuales, consulte [Cuotas en Amazon DynamoDB](ServiceQuotas.md). Tipo: matriz  | Sí | 
| ProvisionedThroughput: ReadCapacityUnits |  Establece el número mínimo de `ReadCapacityUnits` consistentes consumidas por segundo para la tabla especificada antes de que DynamoDB equilibre la carga con otras operaciones.  Las operaciones de lectura consistente final requieren menos esfuerzo que una operación de lectura consistente; por lo tanto, un ajuste de 50 unidades `ReadCapacityUnits` consistentes por segundo proporciona 100 unidades de capacidad `ReadCapacityUnits` consistentes finales por segundo. Tipo: Number  | Sí | 
| ProvisionedThroughput: WriteCapacityUnits | Establece el número mínimo de WriteCapacityUnits consumidas por segundo para la tabla especificada antes de que DynamoDB equilibre la carga con otras operaciones. Tipo: Number  | Sí | 

## Respuestas
<a name="API_CreateTable_CommonResponseElements"></a>

### Sintaxis
<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"
    }
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
| TableDescription  | Contenedor de propiedades de la tabla. | 
| CreationDateTime | Fecha en que se creó la tabla en [formato de tiempo UNIX](http://www.epochconverter.com/).Tipo: Number | 
| KeySchema  | Estructura de la clave principal (simple o compuesta) de la tabla. Se requiere un par de nombre-valor de `HashKeyElement`, pero el par de nombre-valor de `RangeKeyElement` es opcional (solo es obligatorio para las claves principales compuestas). Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: Map, mapa de `HashKeyElement`, o bien de `HashKeyElement` y de `RangeKeyElement` si se trata de una clave principal compuesta. | 
| ProvisionedThroughput  |  Rendimiento de la tabla especificada, que se compone de los valores de `ReadCapacityUnits` y `WriteCapacityUnits`. Consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). Tipo: matriz   | 
| ProvisionedThroughput :ReadCapacityUnits |  El número mínimo de `ReadCapacityUnits` consumidas por segundo antes de que DynamoDB equilibre la carga con otras operaciones.Tipo: Number  | 
| ProvisionedThroughput :WriteCapacityUnits |  El número mínimo de `ReadCapacityUnits` consumidas por segundo antes de que `WriteCapacityUnits` equilibre la carga con otras operaciones.Tipo: Number  | 
|  TableName  |  Nombre de la tabla creada. Tipo: cadena  | 
|  TableStatus  | Estado actual de la tabla (`CREATING`). Una vez que la tabla adquiere el estado `ACTIVE`, puede colocar datos en ella.Use el API [DescribeTables](API_DescribeTables_v20111205.md) para comprobar el estado de la tabla.Tipo: cadena | 

## Errores especiales
<a name="API_CreateTable_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
|  ResourceInUseException  | Se intentó volver a crear una tabla que ya existía. | 
|  LimitExceededException  | El número de solicitudes simultáneas para la tabla (número acumulado de tablas que se encuentren en los estados `CREATING`, `DELETING` o `UPDATING`) supera el máximo permitido. Para obtener los valores mínimo y máximo actuales, consulte [Cuotas en Amazon DynamoDB](ServiceQuotas.md). .  | 

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

En el siguiente ejemplo se crea una tabla con una clave principal compuesta que contiene una cadena y un número. Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte [Uso de tablas y datos en DynamoDB](WorkingWithTables.md).

### Solicitud de ejemplo
<a name="API_CreateTable_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bajo nivel 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}
}
```

### Respuesta de ejemplo
<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"
    }
}
```

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

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

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_DeleteItem_Description"></a>

Elimina un solo elemento de una tabla por su clave principal Puede realizar una operación de eliminación condicional que elimina el elemento si existe o si tiene un valor de atributo esperado.

**nota**  
Si especifica `DeleteItem` sin atributos ni valores, se eliminan todos los atributos del elemento.   
A menos que especifique condiciones, `DeleteItem` es una operación idempotente; aunque se ejecute varias veces en el mismo elemento o atributo *no* se obtiene una respuesta de error.  
Las eliminaciones condicionales solo son útiles para eliminar elementos y atributos cuando se cumplen determinadas condiciones. Si se cumplen las condiciones, DynamoDB lleva a cabo la eliminación. De lo contrario, el elemento no se elimina.   
Puede llevar a cabo la comprobación condicional esperada en un atributo por operación.

## Solicitudes
<a name="API_DeleteItem_RequestParameters"></a>

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

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bajo nivel 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"}
}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que contiene el elemento que se va a eliminar. Tipo: cadena  |  Sí  | 
|  Key  | Clave principal que define el elemento. Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: Map, mapa de `HashKeyElement` a su valor y `RangeKeyElement` a su valor. | Sí | 
| Expected  | Designa un atributo para una eliminación condicional. El parámetro `Expected` le permite proporcionar un nombre de atributo e indicar si DynamoDB debe verificar o no si el atributo tiene un valor determinado antes de eliminarlo.Tipo: Map, mapa de nombres de atributos. | No | 
| Expected:AttributeName  | Nombre del atributo para la operación Put condicional. Tipo: cadena | No | 
| Expected:AttributeName: ExpectedAttributeValue | Use este parámetro para especificar si ya existe un valor del par de nombre-valor del atributo. En la siguiente notación JSON, se elimina el elemento si todavía no existe el atributo "Color" para ese elemento:<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>En la siguiente notación JSON se comprueba si el atributo denominado "Color" tiene el valor "Yellow" antes de eliminar el elemento: <pre>"Expected" : <br />	{"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}</pre>De forma predeterminada, si utiliza el parámetro `Expected` y le proporciona un `Value`, DynamoDB da por hecho que el atributo existe y que posee un valor que hay que sustituir. Por lo tanto, no es preciso especificar `{"Exists":true}`, porque se considera implícito. Puede reducir la solicitud a:<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Si especifica `{"Exists":true}` sin un valor de atributo que verificar, DynamoDB devuelve un error.  | No | 
| ReturnValues  | Use este parámetro si desea obtener los pares de nombre-valor de los atributos antes de eliminarlos. Los valores posibles de los parámetros son `NONE` (predeterminado) o `ALL_OLD`. Si se especifica `ALL_OLD`, se devuelve el contenido del elemento anterior. Si este parámetro no se proporciona o si su valor es `NONE`, no se devuelve nada.Tipo: cadena | No | 

## Respuestas
<a name="API_DeleteItem_CommonResponseElements"></a>

### Sintaxis
<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
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
|  Attributes  | Si el parámetro `ReturnValues` se suministra como `ALL_OLD` en la solicitud, DynamoDB devuelve una matriz de pares de nombre-valor del atributo (es decir, el elemento eliminado). De lo contrario, la respuesta contiene un conjunto vacío. Tipo: Array; matriz de pares de nombre-valor del atributo. | 
| ConsumedCapacityUnits | Cantidad de unidades de capacidad de escritura consumidas por la operación. Este valor muestra el número aplicado al rendimiento aprovisionado. Cada solicitud de eliminación de elementos inexistentes consume una unidad de capacidad de escritura. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). Tipo: Number | 

## Errores especiales
<a name="API_DeleteItem_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Error en la verificación condicional. No se encontró un valor de atributo esperado.  | 

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

### Solicitud de ejemplo
<a name="API_DeleteItem_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bajo nivel 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"
}
```

### Respuesta de ejemplo
<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
}
```

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

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

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_DeleteTable_Description"></a>

La operación `DeleteTable` elimina una tabla y todos sus elementos. Después de una solicitud `DeleteTable`, la tabla especificada se encuentra en estado `DELETING` hasta que DynamoDB completa la eliminación. Si la tabla está en estado `ACTIVE`, puede eliminarla. Si una tabla se encuentra en los estados `CREATING` o `UPDATING`, entonces DynamoDB devuelve un error `ResourceInUseException`. Si la tabla especificada no existe, DynamoDB devuelve una `ResourceNotFoundException`. Si la tabla ya se encuentra en el estado `DELETING`, no se devuelve ningún error. 

**nota**  
DynamoDB podría continuar aceptando solicitudes de operaciones con el plano de datos, tales como `GetItem` y `PutItem`, en una tabla que se encuentre en estado `DELETING` hasta que se haya completado la eliminación de la tabla.

Las tablas son únicas entre las asociadas a la cuenta de AWS que emite la solicitud y la región de AWS que recibe la solicitud a las que están asociadas (por ejemplo, dynamodb.us-west-1.amazonaws.com). Cada punto de enlace de DynamoDB es totalmente independiente. Por ejemplo, si tiene dos tablas llamadas “MyTable”, una en dynamodb.us-west-2.amazonaws.com y otra en dynamodb.us-west-1.amazonaws.com, son completamente independientes y no comparten ningún dato; al eliminar una no se elimina la otra.

Use la operación [DescribeTables](API_DescribeTables_v20111205.md) para comprobar el estado de la tabla. 

## Solicitudes
<a name="API_DeleteTable_RequestParameters"></a>

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

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

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


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |   Nombre de la tabla que se va a eliminar.   Tipo: cadena   |  Sí  | 

## Respuestas
<a name="API_DeleteTable_CommonResponseElements"></a>

### Sintaxis
<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"
    }
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
| TableDescription  | Contenedor de propiedades de la tabla. | 
| CreationDateTime | Fecha de creación de la tabla.Tipo: Number  | 
| KeySchema  | Estructura de la clave principal (simple o compuesta) de la tabla. Se requiere un par de nombre-valor de `HashKeyElement`, pero el par de nombre-valor de `RangeKeyElement` es opcional (solo es obligatorio para las claves principales compuestas). Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: Map, mapa de `HashKeyElement`, o bien de `HashKeyElement` y de `RangeKeyElement` si se trata de una clave principal compuesta. | 
| ProvisionedThroughput  | Rendimiento de la tabla especificada, que se compone de los valores de ReadCapacityUnits y WriteCapacityUnits. Consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). | 
| ProvisionedThroughput: ReadCapacityUnits |  Cantidad mínima de `ReadCapacityUnits` consumidas por segundo para la tabla especificada antes de que DynamoDB equilibre la carga con otras operaciones. Tipo: Number  | 
| ProvisionedThroughput: WriteCapacityUnits | Cantidad mínima de `WriteCapacityUnits` consumidas por segundo para la tabla especificada antes de que DynamoDB equilibre la carga con otras operaciones.Tipo: Number  | 
|  TableName  |  Nombre de la tabla eliminada. Tipo: cadena   | 
|  TableStatus  | Estado actual de la tabla (DELETING). Una vez que se elimina la tabla, las solicitudes posteriores de la tabla devuelven resource not found. Use la operación [DescribeTables](API_DescribeTables_v20111205.md) para comprobar el estado de la tabla. Tipo: cadena | 

## Errores especiales
<a name="API_DeleteTable_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
|  ResourceInUseException  |  La tabla se encuentra en el estado CREATING o UPDATING y no se puede eliminar.  | 

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

### Solicitud de ejemplo
<a name="API_DeleteTable_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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"}
```

### Respuesta de ejemplo
<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"
}
```

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

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

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_DescribeTables_Description"></a>

Devuelve información sobre la tabla, incluyendo su estado actual, el esquema de clave principal y el momento de creación. Los resultados de DescribeTable son eventualmente consistentes. Si utiliza DescribeTable demasiado pronto en el proceso de creación de una tabla, DynamoDB devuelve una `ResourceNotFoundException`. Si utiliza DescribeTable demasiado pronto en el proceso de actualización de una tabla, los nuevos valores podrían no estar disponibles inmediatamente.

## Solicitudes
<a name="API_DescribeTables_RequestParameters"></a>

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

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

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


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que se describe.  Tipo: cadena   |  Sí  | 

## Respuestas
<a name="API_DescribeTables_ResponseElements"></a>

### Sintaxis
<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"
    }
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
|  Table  |  Contenedor de la tabla que se describe. Tipo: cadena  | 
| CreationDateTime | Fecha en que se creó la tabla en [formato de tiempo UNIX](http://www.epochconverter.com/). | 
|  ItemCount  |  Cantidad de elementos de la tabla especificada. DynamoDB actualiza este valor aproximadamente cada seis horas. Los cambios recientes podrían no reflejarse en este valor. Tipo: Number  | 
|  KeySchema  | Estructura de la clave principal (simple o compuesta) de la tabla. Se requiere un par de nombre-valor de HashKeyElement, pero el par de nombre-valor de RangeKeyElement es opcional (solo es obligatorio para las claves principales compuestas). El tamaño máximo de la clave hash es de 2048 bytes. El tamaño máximo de la clave de rango es de 1024 bytes. Ambos límites se aplican por separado (es decir, puede disponer de una clave combinada de rango y hash de 2048\$11024). Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey). | 
| ProvisionedThroughput  | Rendimiento de la tabla especificada, que consta de los valores de LastIncreaseDateTime (si procede), LastDecreaseDateTime (si procede), ReadCapacityUnits y WriteCapacityUnits. Si el rendimiento de la tabla no se ha aumentado ni disminuido, DynamoDB no devuelve valores para estos elementos. Consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md).Tipo: matriz  | 
|  TableName  |  Nombre de la tabla solicitada.  Tipo: cadena  | 
|  TableSizeBytes  |  Tamaño total de la tabla especificada, en bytes. DynamoDB actualiza este valor aproximadamente cada seis horas. Los cambios recientes podrían no reflejarse en este valor. Tipo: Number  | 
|  TableStatus  | Estado actual de la tabla (CREATING, ACTIVE, DELETING o UPDATING). Una vez que la tabla adquiere el estado ACTIVE, puede agregarle datos.  | 

## Errores especiales
<a name="API_DescribeTables_SpecialErrors"></a>

No hay errores específicos de esta operación.

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

 En los siguientes ejemplos se muestran una solicitud y una respuesta HTTP POST aplicando la operación DescribeTable a una tabla denominada "comp-table". La tabla tiene una clave principal compuesta.

### Solicitud de muestra
<a name="API_DescribeTables_Examples_Request"></a>

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

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

### Respuesta de ejemplo
<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"
    }
}
```

## Acciones relacionadas
<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>

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_GetItem_Description"></a>

La operación `GetItem` devuelve un conjunto de `Attributes` de un elemento que coincida con la clave principal. Si no hay ningún elemento que coincida, `GetItem` no devuelve ningún dato.

De forma predeterminada, la operación `GetItem` proporciona una lectura eventualmente consistente. Si las lecturas coherentes posteriores no son aceptables en su aplicación, use `ConsistentRead`. Aunque esta operación puede tardar más que una lectura normal, siempre devuelve el último valor actualizado. Para obtener más información, consulte [Coherencia de lectura de DynamoDB](HowItWorks.ReadConsistency.md).

## Solicitudes
<a name="API_GetItem_RequestParameters"></a>

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

```
// This header is abbreviated.
// For a sample of a complete header, see API de bajo nivel 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
}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que contiene el elemento solicitado.  Tipo: cadena  |  Sí  | 
|  Key  | Valores de clave principal que definen el elemento. Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: Map, mapa de `HashKeyElement` a su valor y `RangeKeyElement` a su valor. | Sí | 
| AttributesToGet  | Matriz de nombres de atributo. Si no se especifican sus nombres, se devuelven todos los atributos. Si algún atributo no se encuentra, no aparecerá en los resultados.Tipo: matriz | No | 
| ConsistentRead  | Si se establece en `true`, se emite una lectura consistente; en caso contrario, se utiliza una lectura consistente final.Tipo: Booleano | No | 

## Respuestas
<a name="API_GetItem_ResponseElements"></a>

### Sintaxis
<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
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
|  Item  | Contiene los atributos solicitados.Tipo: Map, mapa de pares de nombre-valor del atributo. | 
| ConsumedCapacityUnits | Cantidad de unidades de capacidad de lectura consumidas por la operación. Este valor muestra el número aplicado al rendimiento aprovisionado. Las solicitudes de elementos inexistentes consumen las unidades de capacidad de lectura mínimas, según el tipo de lectura. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). Tipo: Number | 

## Errores especiales
<a name="API_GetItem_SpecialErrors"></a>

No hay errores específicos de esta operación.

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

 Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte [Uso de elementos y atributos en DynamoDB](WorkingWithItems.md).

### Solicitud de ejemplo
<a name="API_GetItem_Examples_Request"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API de bajo nivel 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
}
```

### Respuesta de ejemplo
<a name="API_GetItem_Examples_Response"></a>

Observe que el valor de ConsumedCapacityUnits es 1, ya que el parámetro opcional `ConsistentRead` se ha establecido en `true`. Si `ConsistentRead` se establece en `false` (o no se especifica) para la misma solicitud, la respuesta presentará consistencia final, en cuyo caso el valor de ConsumedCapacityUnits sería 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>

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_ListTables_Description"></a>

Muestra una matriz de todas las tablas asociadas con la cuenta y el punto de enlace actuales.

Cada punto de enlace de DynamoDB es totalmente independiente. Por ejemplo, si tiene dos tablas llamadas “MyTable”, una en dynamodb.us-west-2.amazonaws.com y otra en dynamodb.us-east-1.amazonaws.com, son completamente independientes y no comparten ningún dato. La operación ListTables devuelve todos los nombres de las tablas asociadas con la cuenta que realiza la solicitud para el punto de enlace que recibe la solicitud.

## Solicitudes
<a name="API_ListTables_RequestParameters"></a>

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

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

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

De forma predeterminada, la operación ListTables solicita todos los nombres de las tablas asociadas con la cuenta que realiza la solicitud para el punto de enlace que recibe la solicitud.


****  

|  Nombre  |  Descripción  | Obligatorio | 
| --- | --- | --- | 
|  Limit  |  Número máximo de nombres de tabla que se devolverán.  Tipo: entero  | No | 
| ExclusiveStartTableName  | Nombre de la primera tabla de la lista. Si ya se ha ejecutado una operación ListTables y se ha recibido un valor `LastEvaluatedTableName` en la respuesta, use ese valor aquí para continuar la lista. Tipo: cadena | No | 

## Respuestas
<a name="API_ListTables_ResponseElements"></a>

### Sintaxis
<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"}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
|  TableNames  |  Nombres de las tablas asociadas con la cuenta actual en el punto de enlace actual.  Tipo: matriz  | 
| LastEvaluatedTableName  | Nombre de la última tabla de la lista actual, pero solo si no se han devuelto algunas tablas de la cuenta y el punto de enlace. Este valor no existe en una respuesta si ya se han devuelto los nombres de todas las tablas. Use este valor en `ExclusiveStartTableName` en una nueva solicitud para continuar la lista hasta que se hayan devuelto los nombres de todas las tablas.  Tipo: cadena  | 

## Errores especiales
<a name="API_ListTables_SpecialErrors"></a>

No hay errores específicos de esta operación.

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

En los ejemplos siguientes se muestra una solicitud HTTP POST y su respuesta utilizando la operación ListTables.

### Solicitud de ejemplo
<a name="API_ListTables_Examples_Request"></a>

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

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

### Respuesta de ejemplo
<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"]}
```

## Acciones relacionadas
<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>

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_PutItem_Description"></a>

Crea un elemento nuevo o sustituye uno antiguo por uno nuevo (incluyendo todos los atributos). Si ya existe un elemento con la misma clave principal en la tabla especificada, el nuevo elemento sustituye por completo al existente. Puede realizar una colocación condicional (insertar un nuevo elemento solamente si no existe otro con la clave principal especificada) o bien sustituir un elemento existente si sus atributos tienen determinados valores. 

Los valores de los atributos no pueden ser null; los atributos de tipo cadena y binario deben tener una longitud superior a cero; y los atributos de tipo conjunto no pueden estar vacíos. Las solicitudes con valores vacíos se rechazan con la excepción `ValidationException`.

**nota**  
Para garantizar que un nuevo elemento no sustituya un elemento existente, utilice una operación de colocación condicional con `Exists` establecido en `false` para el o los atributos de clave principal.

Para obtener más información acerca del uso de `PutItem`, consulte [Uso de elementos y atributos en DynamoDB](WorkingWithItems.md).

## Solicitudes
<a name="API_PutItem_RequestParameters"></a>

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

```
// This header is abbreviated.
// For a sample of a complete header, see API de bajo nivel 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"}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que contendrá el elemento. Tipo: cadena  |  Sí  | 
|  Item  | Mapa de los atributos del elemento, que debe incluir los valores de clave principal que definen el elemento. Se pueden indicar otros pares de nombre-valor de los atributos del elemento. Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: Map, mapa de los nombres de atributos a los valores de atributos. | Sí | 
| Expected  | Designa un atributo para una colocación condicional. El parámetro `Expected` le permite proporcionar un nombre de atributo e indicar si DynamoDB debe verificar si el valor del atributo ya existe; o bien si el valor del atributo existe y tiene un valor determinado antes de cambiarlo.Tipo: Map, mapa de nombres de un atributo a valores de un atributo e indicación de si existe. | No | 
| Expected:AttributeName  | Nombre del atributo para la operación Put condicional.Tipo: cadena | No | 
| Expected:AttributeName: ExpectedAttributeValue | Use este parámetro para especificar si ya existe un valor del par de nombre-valor del atributo. En la siguiente notación JSON, se sustituye el elemento si todavía no existe el atributo "Color" para ese elemento:<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>En la siguiente notación JSON se comprueba si el atributo denominado "Color" tiene el valor "Yellow" antes de sustituir el elemento: <pre>"Expected" : <br />	{"Color":{"Exists":true,{"Value":{"S":"Yellow"}}}</pre>De forma predeterminada, si utiliza el parámetro `Expected` y le proporciona un `Value`, DynamoDB da por hecho que el atributo existe y que posee un valor que hay que sustituir. Por lo tanto, no es preciso especificar `{"Exists":true}`, porque se considera implícito. Puede reducir la solicitud a:<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Si especifica `{"Exists":true}` sin un valor de atributo que verificar, DynamoDB devuelve un error.  | No | 
| ReturnValues  | Use este parámetro si desea obtener los pares de nombre-valor de los atributos antes de actualizarlos mediante la solicitud `PutItem`. Los valores posibles de los parámetros son `NONE` (predeterminado) o `ALL_OLD`. Si se especifica `ALL_OLD` y `PutItem` ha sobrescrito un par de nombre-valor del atributo, se devuelve el contenido del elemento anterior. Si este parámetro no se proporciona o si su valor es `NONE`, no se devuelve nada.Tipo: cadena | No | 

## Respuestas
<a name="API_PutItem_CommonResponseElements"></a>

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

En el ejemplo de sintaxis siguiente se supone que la solicitud ha especificado un parámetro `ReturnValues` de `ALL_OLD`; en caso contrario, la respuesta solo contiene la entrada `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
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
|  Attributes  | Valores de los atributos antes de la operación de colocación, pero solamente si el parámetro `ReturnValues` se especifica como `ALL_OLD` en la solicitud.Tipo: Map, mapa de pares de nombre-valor del atributo. | 
| ConsumedCapacityUnits | Cantidad de unidades de capacidad de escritura consumidas por la operación. Este valor muestra el número aplicado al rendimiento aprovisionado. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). Tipo: Number | 

## Errores especiales
<a name="API_PutItem_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Error en la verificación condicional. No se encontró un valor de atributo esperado.  | 
| ResourceNotFoundException  | No se encontró el elemento o atributo especificado. | 

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

Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte [Uso de elementos y atributos en DynamoDB](WorkingWithItems.md).

### Solicitud de ejemplo
<a name="API_PutItem_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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"
}
```

### Respuesta de ejemplo
<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
}
```

## Acciones relacionadas
<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) 

# Consultar
<a name="API_Query_v20111205"></a>

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_Query_Description"></a>

Una operación `Query` obtiene los valores de uno o varios elementos y sus atributos mediante su clave principal (`Query` solo está disponible para tablas con clave principal compuesta por una clave hash y una clave de rango). Debe proporcionar un `HashKeyValue` específico y puede delimitar el alcance de la consulta mediante operadores de comparación en el `RangeKeyValue` de la clave principal. Utilice el parámetro `ScanIndexForward` para obtener los resultados por orden ascendente o descendente según su clave de rango. 

Las consultas que no devuelven resultados consumen las unidades de capacidad de lectura mínimas, según el tipo de lectura.

**nota**  
Si la cantidad total de elementos que cumplen los parámetros de la consulta supera el límite de 1 MB, la consulta se detiene y se devuelven los resultados al usuario; en este caso, se facilita un `LastEvaluatedKey` para que pueda continuar la consulta en una operación posterior. A diferencia de una operación de análisis, una operación de consulta nunca devuelve un conjunto de resultados vacío *y* un valor `LastEvaluatedKey`. El valor de `LastEvaluatedKey` solamente se proporciona si los resultados superan 1 MB o si se ha utilizado el parámetro `Limit`.   
El resultado se puede establecer para una lectura consistente con el parámetro `ConsistentRead`.

## Solicitudes
<a name="API_Query_RequestParameters"></a>

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

```
// This header is abbreviated.
// For a sample of a complete header, see API de bajo nivel 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"]},
}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que contiene los elementos solicitados.  Tipo: cadena  |  Sí  | 
| AttributesToGet  | Matriz de nombres de atributo. Si no se especifican sus nombres, se devuelven todos los atributos. Si algún atributo no se encuentra, no aparecerá en los resultados.Tipo: matriz | No | 
| Limit  | Cantidad máxima de elementos que se devolverán, que no es necesariamente el número de elementos coincidentes. Si DynamoDB alcanza el límite de la cantidad de elementos mientras consulta la tabla, detiene la consulta y devuelve los valores coincidentes hasta ese punto, junto con un `LastEvaluatedKey`, que puede aplicarse en una operación ulterior para continuar con la consulta. Además, si el tamaño del conjunto de resultados supera 1 MB antes de que DynamoDB alcance este límite, detiene la consulta y devuelve los valores coincidentes, junto con el `LastEvaluatedKey`, que puede aplicarse en una operación ulterior para continuar con la consulta.Tipo: Number | No | 
| ConsistentRead  | Si se establece en `true`, se emite una lectura consistente; en caso contrario, se utiliza una lectura consistente final.Tipo: Booleano | No | 
| Count  | Si se establece en `true`, DynamoDB devuelve la cantidad total de elementos que coinciden con los parámetros de la consulta, en lugar de una lista de elementos coincidentes y sus atributos. Puede aplicar el parámetro `Limit` a las consultas que son solo de recuento.  No establezca `Count` en `true` si proporciona una lista de `AttributesToGet`; si así lo hiciera, DynamoDB devolverá un error de validación. Para obtener más información, consulte [Recuento de los elementos en los resultados](Query.Other.md#Query.Count).Tipo: Booleano | No | 
| HashKeyValue  | Valor de atributo del componente hash de la clave principal compuesta.Tipo: String, Number o Binary | Sí | 
| RangeKeyCondition  | Contenedor de los valores de los atributos y operadores de comparación que se usarán en la consulta. Una solicitud de consulta no requiere una condición `RangeKeyCondition`. Si se proporciona solo el `HashKeyValue`, DynamoDB devuelve todos los elementos que tienen el valor especificado de clave hash.Tipo: mapa | No | 
| RangeKeyCondition:​ AttributeValueList | Valores de los atributos que se van a evaluar para los parámetros de la consulta. La `AttributeValueList` contiene un solo valor de atributo, a no ser que se especifique una comparación `BETWEEN`. Para la comparación `BETWEEN`, la lista `AttributeValueList` contiene dos valores de atributos. Tipo: Map, mapa de `AttributeValue` a un `ComparisonOperator`.  | No | 
| RangeKeyCondition:​ ComparisonOperator |  Criterios para evaluar los atributos proporcionados, tales como igual que, mayor que, etc. A continuación se muestran los operadores de comparación válidos para una operación Query.  Las comparaciones de valores de cadenas de tipo mayor que, igual que o menor que se basan en sus valores según el código de caracteres ASCII. Por ejemplo, `a` es mayor que `A` y `aa` es mayor que `B`. Para obtener una lista de valores de códigos, consulte [http://en.wikipedia.org/wiki/ASCII\$1ASCII\$1printable\$1characters](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).  En el tipo Binary, al comparar valores binarios DynamoDB trata cada byte como datos sin signo; por ejemplo, al evaluar expresiones de consulta.   Tipo: String o Binary  | No | 
|   | `EQ`: igual que. Para `EQ`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco es igual que `{"NS":["6", "2", "1"]}`. |   | 
|   | `LE`: menor o igual que. Para `LE`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
|   | `LT` : Menor que. Para `LT`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
|   | `GE`: mayor o igual que. Para `GE`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
|   | `GT` : Mayor que. Para `GT`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
|   | `BEGINS_WITH`: comprueba si hay un prefijo. Para `BEGINS_WITH`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena) o Binary (binario) (no de tipo Number [número] ni un conjunto). El atributo de destino de la comparación debe ser un valor de tipo String o Binary (no de tipo Number ni un conjunto). |   | 
|   | `BETWEEN`: mayor o igual que el primer valor y menor o igual que el segundo valor. Para `BETWEEN`, `AttributeValueList` debe contener dos elemento `AttributeValue` del mismo tipo, que puede ser String (cadena), Number (número) o Binary (binario) (pero no un conjunto). Un atributo de destino coincide si el valor de destino es mayor o igual que el primer elemento y menor o igual que el segundo elemento. Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no se compara con `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
| ScanIndexForward | Especifica si el índice se recorrerá en sentido ascendente o descendente. DynamoDB devuelve los resultados según el orden solicitado en función de la clave de rango: si el tipo de datos es Number (número), los resultados se devuelven en orden numérico; de lo contrario, el recorrido se basa en los valores del código de caracteres ASCII.Tipo: BooleanoEl valor predeterminado es `true` (ascendente). | No | 
| ExclusiveStartKey | Clave principal del elemento a partir del cual se continuará una consulta anterior. Una consulta anterior puede proporcionar este valor en `LastEvaluatedKey` si esa operación se interrumpió antes de completar la consulta, ya sea debido al tamaño del conjunto de resultados o al parámetro `Limit`. El valor de `LastEvaluatedKey` se puede pasar a una nueva solicitud de consulta para continuar la operación a partir de ese punto.Tipo: `HashKeyElement`, o bien `HashKeyElement` y `RangeKeyElement` si se trata de una clave principal compuesta. | No | 

## Respuestas
<a name="API_Query_ResponseElements"></a>

### Sintaxis
<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
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
| Items  | Atributos de elementos que cumplen los parámetros de la consulta.Tipo: Map, mapa de los nombres de atributos y sus tipos de datos y valores. | 
| Count  |  Cantidad de elementos de la respuesta. Para obtener más información, consulte [Recuento de los elementos en los resultados](Query.Other.md#Query.Count). Tipo: Number  | 
| LastEvaluatedKey | Clave principal del elemento en el que se ha detenido la operación de consulta, incluido el conjunto de resultados anterior. Utilice este valor para iniciar una nueva operación excluyendo este valor en la nueva solicitud.El valor de `LastEvaluatedKey` es `null` cuando se ha completado todo el conjunto de resultados de la consulta (es decir, cuando la operación ha procesado la “última página”). Tipo: `HashKeyElement`, o bien `HashKeyElement` y `RangeKeyElement` si se trata de una clave principal compuesta. | 
| ConsumedCapacityUnits | Cantidad de unidades de capacidad de lectura consumidas por la operación. Este valor muestra el número aplicado al rendimiento aprovisionado. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). Tipo: Number | 

## Errores especiales
<a name="API_Query_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
| ResourceNotFoundException  | No se encontró la tabla especificada. | 

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

 Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte [Consulta de tablas en DynamoDB](Query.md).

### Solicitud de ejemplo
<a name="API_Query_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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"}
	}
}
```

### Respuesta de ejemplo
<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
}
```

### Solicitud de ejemplo
<a name="API_Query_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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}
```

### Respuesta de ejemplo
<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
}
```

## Acciones relacionadas
<a name="API_Query_Related_Actions"></a>
+  [Examen](API_Scan_v20111205.md) 

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

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_Scan_Description"></a>

La operación `Scan` lleva a cabo un examen completo de una tabla y devuelve uno o varios elementos y sus atributos. Proporcione un filtro `ScanFilter` para obtener resultados más específicos. 

**nota**  
Si la cantidad total de elementos examinados supera el límite de 1 MB, el examen se detiene y se devuelven los resultados al usuario; en este caso, se facilita un `LastEvaluatedKey` para que pueda continuar el examen en una operación posterior. Además, los resultados incluyen la cantidad de elementos que superan el límite. En un examen, puede suceder que ninguno de los datos de la tabla cumplan los criterios de filtro.   
El conjunto de resultados presenta consistencia final. 

## Solicitudes
<a name="API_Scan_RequestParameters"></a>

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

```
// This header is abbreviated.
// For a sample of a complete header, see API de bajo nivel 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"]},
}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que contiene los elementos solicitados. Tipo: cadena  |  Sí  | 
| AttributesToGet  | Matriz de nombres de atributo. Si no se especifican sus nombres, se devuelven todos los atributos. Si algún atributo no se encuentra, no aparecerá en los resultados.Tipo: matriz | No | 
| Limit  | Número máximo de elementos que se van a evaluar, que no es necesariamente el número de elementos coincidentes. Si DynamoDB alcanza el límite de cantidad de elementos mientras procesa los resultados, se detiene y devuelve los valores coincidentes hasta ese punto, junto con un `LastEvaluatedKey` que puede aplicarse en una operación ulterior para continuar recuperando elementos. Además, si el tamaño del conjunto de datos examinados supera 1 MB antes de que DynamoDB alcance este límite, detiene el examen y devuelve los valores coincidentes hasta el límite, junto con `LastEvaluatedKey` que puede aplicarse en una operación ulterior para continuar con el examen.Tipo: Number | No | 
| Count  | Si se establece en `true`, DynamoDB devuelve la cantidad total de elementos de la operación Scan, aunque no encuentre ningún elemento coincidente para el filtro asignado. Puede aplicar el parámetro Limit a los exámenes que son solo de recuento.  No establezca `Count` en `true` si proporciona una lista de `AttributesToGet`; si así lo hiciera, DynamoDB devolverá un error de validación. Para obtener más información, consulte [Recuento de los elementos en los resultados](Scan.md#Scan.Count).Tipo: Booleano | No | 
| ScanFilter  | Evalúa los resultados del examen y solo devuelve los valores deseados. Si se especifican varias condiciones, se tratan como operaciones "AND": deberán cumplirse todas las condiciones para que se incluyan en los resultados. Tipo: Un mapa de nombres de atributos a valores con operadores de comparación. | No | 
| ScanFilter:AttributeValueList | Valores y condiciones que se usarán para evaluar los resultados del examen para el filtro.Tipo: Map, mapa de `AttributeValue` a un `Condition`. | No | 
| ScanFilter:​ ComparisonOperator | Criterios para evaluar los atributos proporcionados, tales como igual que, mayor que, etc. A continuación se muestran los operadores de comparación válidos para una operación de examen. Las comparaciones de valores de cadenas de tipo mayor que, igual que o menor que se basan en sus valores según el código de caracteres ASCII. Por ejemplo, `a` es mayor que `A` y `aa` es mayor que `B`. Para obtener una lista de valores de códigos, consulte [http://en.wikipedia.org/wiki/ASCII\$1ASCII\$1printable\$1characters](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). En el tipo Binary, al comparar valores binarios DynamoDB trata cada byte como datos sin signo; por ejemplo, al evaluar expresiones de consulta.   Tipo: String o Binary  | No | 
|   | `EQ`: igual que. Para `EQ`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco es igual que `{"NS":["6", "2", "1"]}`. |   | 
|   | `NE`: distinto de. Para `NE`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco es igual que `{"NS":["6", "2", "1"]}`. |   | 
|   | `LE`: menor o igual que. Para `LE`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
|   | `LT` : Menor que. Para `LT`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
|   | `GE`: mayor o igual que. Para `GE`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
|   | `GT` : Mayor que. Para `GT`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no es igual que `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
|   | `NOT_NULL`: el atributo existe.  |   | 
|   | `NULL`: el atributo no existe.  |   | 
|   | `CONTAINS`: comprueba si hay una subsecuencia, o un valor en un conjunto. Para `CONTAINS`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si el atributo de destino de la comparación es de tipo String (cadena), entonces la operación comprueba si hay una subcadena coincidente. Si el atributo de destino de la comparación es de tipo Binary (binario), entonces la operación busca una subsecuencia del destino que coincida con la entrada. Si el atributo de destino de la comparación es un conjunto ("SS", "NS" o "BS"), entonces la operación busca un miembro del conjunto (no como subcadena). |   | 
|   | `NOT_CONTAINS`: comprueba la ausencia de una subsecuencia, o la ausencia de un valor en un conjunto. Para `NOT_CONTAINS`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). Si el atributo de destino de la comparación es de tipo String (cadena), entonces la operación verifica la ausencia de una subcadena coincidente. Si el atributo de destino de la comparación es de tipo Binary (binario), entonces la operación verifica la ausencia de una subsecuencia del destino que coincida con la entrada. Si el atributo de destino de la comparación es un conjunto ("SS", "NS" o "BS"), entonces la operación busca la ausencia de un miembro del conjunto (no como subcadena). |   | 
|   | `BEGINS_WITH`: comprueba si hay un prefijo. Para `BEGINS_WITH`, `AttributeValueList` puede contener un solo `AttributeValue` de tipo String (cadena) o Binary (binario) (no de tipo Number [número] ni un conjunto). El atributo de destino de la comparación debe ser un valor de tipo String o Binary (no de tipo Number ni un conjunto). |   | 
|   | `IN`: comprueba si hay coincidencias exactas. Para `IN`, `AttributeValueList` puede contener más de un `AttributeValue` de tipo String (cadena), Number (número) o Binary (binario) (no un conjunto). El atributo de destino de la comparación debe ser del mismo tipo y valor exactos para que se produzca la coincidencia. Un valor de tipo String nunca coincide con un valor de tipo String Set. |   | 
|   | `BETWEEN`: mayor o igual que el primer valor y menor o igual que el segundo valor. Para `BETWEEN`, `AttributeValueList` debe contener dos elemento `AttributeValue` del mismo tipo, que puede ser String (cadena), Number (número) o Binary (binario) (pero no un conjunto). Un atributo de destino coincide si el valor de destino es mayor o igual que el primer elemento y menor o igual que el segundo elemento. Si un elemento contiene un `AttributeValue` de un tipo distinto del especificado en la solicitud, el valor no coincide. Por ejemplo, `{"S":"6"}` no se compara con `{"N":"6"}`. `{"N":"6"}` tampoco se compara con `{"NS":["6", "2", "1"]}`. |   | 
| ExclusiveStartKey | Clave principal del elemento a partir del cual se continuará un examen anterior. Un examen anterior puede proporcionar este valor si la operación de examen se interrumpió antes de examinar toda la tabla, ya sea debido al tamaño del conjunto de resultados o al parámetro `Limit`. El valor de `LastEvaluatedKey` se puede pasar a una nueva solicitud de examen para continuar la operación a partir de ese punto.Tipo: `HashKeyElement`, o bien `HashKeyElement` y `RangeKeyElement` si se trata de una clave principal compuesta. | No | 

## Respuestas
<a name="API_Scan_ResponseElements"></a>

### Sintaxis
<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}
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
| Items  | Contenedor de los atributos que coinciden con los parámetros de la operación.Tipo: Map, mapa de los nombres de atributos y sus tipos de datos y valores. | 
| Count  |  Cantidad de elementos de la respuesta. Para obtener más información, consulte [Recuento de los elementos en los resultados](Scan.md#Scan.Count). Tipo: Number  | 
| ScannedCount  | Cantidad de elementos del examen completo antes de aplicar cualquier filtro. Un valor de `ScannedCount` elevado, con pocos resultados de `Count` o ninguno indica que la operación Scan ha sido ineficiente. Para obtener más información, consulte [Recuento de los elementos en los resultados](Scan.md#Scan.Count).Tipo: Number | 
| LastEvaluatedKey | Clave principal del elemento en la que se detuvo la operación de examen. Proporcione este valor en una operación de examen posterior para continuar la operación a partir de ese punto.El valor de `LastEvaluatedKey` es `null` cuando se ha completado todo el conjunto de resultados de examen (es decir, cuando la operación ha procesado la "última página").  | 
| ConsumedCapacityUnits | Cantidad de unidades de capacidad de lectura consumidas por la operación. Este valor muestra el número aplicado al rendimiento aprovisionado. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). Tipo: Number | 

## Errores especiales
<a name="API_Scan_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
| ResourceNotFoundException  | No se encontró la tabla especificada. | 

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

Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte [Análisis de tablas en DynamoDB](Scan.md).

### Solicitud de ejemplo
<a name="API_Scan_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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":{}}
```

### Respuesta de ejemplo
<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}
```

### Solicitud de ejemplo
<a name="API_Scan_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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"}
	}
}
```

### Respuesta de ejemplo
<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
}
```

### Solicitud de ejemplo
<a name="API_Scan_Examples_Request3"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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"}}
}
```

### Respuesta de ejemplo
<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
}
```

## Acciones relacionadas
<a name="API_Scan_Related_Actions"></a>
+  [Consultar](API_Query_v20111205.md) 
+  [BatchGetItem](API_BatchGetItem_v20111205.md) 

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

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_UpdateItem_Description"></a>

Edita los atributos de un elemento existente. Puede realizar una actualización condicional, es decir, insertar un nuevo par nombre-valor de atributo si no existe, o bien sustituir un par de nombre-valor si tiene determinados valores de atributo esperados.

**nota**  
Los atributos de clave principal no se pueden actualizar mediante UpdateItem. En lugar de ello, debe eliminar el elemento y utilizar PutItem para crear otro con los nuevos atributos.

La operación UpdateItem incluye un parámetro `Action`, que define cómo realizar la actualización. Puede poner, eliminar o agregar valores de atributos. 

Los valores de los atributos no pueden ser null; los atributos de tipo cadena y binario deben tener una longitud superior a cero; y los atributos de tipo conjunto no pueden estar vacíos. Las solicitudes con valores vacíos se rechazan con la excepción `ValidationException`.

Si un elemento tiene la clave principal especificada: 
+ **PUT:** agrega el atributo especificado. Si el atributo existe, se sustituye por el nuevo valor. 
+ **DELETE:** si no se especifica ningún valor, esta acción elimina el atributo y su valor. Si se especifica un conjunto de valores, entonces los valores del conjunto especificado se eliminan del conjunto anterior. Por lo tanto, si el valor del atributo contiene [a,b,c] y la acción de eliminación contiene [a,c], el valor del atributo final es [b]. El tipo del valor especificado debe coincidir con el tipo de valor existente. No es válido especificar un conjunto vacío.
+ **ADD:** la acción de añadir se utiliza sólo para números o si el atributo de destino es un conjunto (incluidos los conjuntos de cadena). ADD no funciona si el atributo de destino es un valor de cadena única o un valor escalar de tipo Binary (binario). El valor especificado se suma a un valor numérico (se suma o se resta al valor numérico existente) o se agrega como valor adicional a un conjunto de cadenas. Si se especifica un conjunto de valores, los valores se agregan al conjunto existente. Por ejemplo, si el conjunto original es [1,2] y el valor suministrado es [3], después de la operación de añadir el conjunto será [1,2,3] y no [4,5]. Se produce un error si se especifica una acción Add para un atributo de tipo Set y el tipo de atributo especificado no coincide con el tipo de conjunto existente. 

  Si utiliza ADD para un atributo que no existe, el atributo y sus valores se agregan al elemento.

Si no hay ningún elemento que coincida con la clave principal especificada: 
+ **PUT:** crea un elemento nuevo con la clave principal especificada. A continuación, agrega el atributo especificado. 
+ **DELETE**: no sucede nada. 
+ **ADD:** crea un elemento con la clave principal y el número (o el conjunto de números) suministrados para el valor del atributo. No es válido para los tipos de cadena o binario. 

**nota**  
Si utiliza `ADD` para sumar o restar de un valor numérico de un elemento que no existía antes de la actualización, DynamoDB utilizará `0` como valor inicial. Además, si actualiza un elemento mediante `ADD` para sumar o restar de un valor numérico de un atributo que no existía antes de la actualización (pero el elemento sí existía), DynamoDB utilizará `0` como valor inicial. Por ejemplo, si utiliza `ADD` para sumar `+3` a un atributo que no existía antes de la actualización. DynamoDB utilizará `0` para el valor inicial y el valor posterior a la actualización será `3`. 

Para obtener más información sobre cómo usar esta operación, consulte [Uso de elementos y atributos en DynamoDB](WorkingWithItems.md). 

## Solicitudes
<a name="API_UpdateItem_RequestParameters"></a>

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

```
// This header is abbreviated.
// For a sample of a complete header, see API de bajo nivel 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"
}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que contiene el elemento que se va a actualizar.  Tipo: cadena  |  Sí  | 
|  Key  | Clave principal que define el elemento. Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: Map, mapa de `HashKeyElement` a su valor y `RangeKeyElement` a su valor. | Sí | 
| AttributeUpdates | Mapa del nombre de atributo al nuevo valor y acción de la actualización. Los nombres de los atributos especifican los atributos que hay que modificar y no pueden contener atributos de clave principal.Tipo: Map, mapa de nombre de atributo, valor y acción de la actualización del atributo. |  | 
| AttributeUpdates:Action | Especifica cómo realizar la actualización. Valores posibles: `PUT` (predeterminado), `ADD` o `DELETE`. La semántica se explica en la descripción de UpdateItem.Tipo: cadenaValor predeterminado: `PUT` | No | 
| Expected  | Designa un atributo para una actualización condicional. El parámetro `Expected` le permite proporcionar un nombre de atributo e indicar si DynamoDB debe verificar si el valor del atributo ya existe; o bien si el valor del atributo existe y tiene un valor determinado antes de cambiarlo.Tipo: Map, mapa de nombres de atributos. | No | 
| Expected:AttributeName  | Nombre del atributo para la operación Put condicional.Tipo: cadena | No | 
| Expected:AttributeName: ExpectedAttributeValue | Use este parámetro para especificar si ya existe un valor del par de nombre-valor del atributo. En la siguiente notación JSON, se actualiza el elemento si todavía no existe el atributo "Color" para ese elemento:<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>En la siguiente notación JSON se comprueba si el atributo denominado "Color" tiene el valor "Yellow" antes de actualizar el elemento: <pre>"Expected" : <br />	{"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}</pre>De forma predeterminada, si utiliza el parámetro `Expected` y le proporciona un `Value`, DynamoDB da por hecho que el atributo existe y que posee un valor que hay que sustituir. Por lo tanto, no es preciso especificar `{"Exists":true}`, porque se considera implícito. Puede reducir la solicitud a:<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Si especifica `{"Exists":true}` sin un valor de atributo que verificar, DynamoDB devuelve un error.  | No | 
| ReturnValues  | Use este parámetro si desea obtener los pares de nombre-valor de los atributos antes de actualizarlos mediante la solicitud `UpdateItem`. Los valores posibles de los parámetros son `NONE` (predeterminado) o `ALL_OLD`, `UPDATED_OLD`, `ALL_NEW` o `UPDATED_NEW`. Si se especifica `ALL_OLD` y `UpdateItem` ha sobrescrito un par de nombre-valor del atributo, se devuelve el contenido del elemento anterior. Si este parámetro no se proporciona o si su valor es `NONE`, no se devuelve nada. Si se especifica `ALL_NEW`, entonces se devuelven todos los atributos de la nueva versión del elemento. Si se especifica `UPDATED_NEW`, entonces se devuelven solamente las nuevas versiones de los atributos actualizados.Tipo: cadena | No | 

## Respuestas
<a name="API_UpdateItem_CommonResponseElements"></a>

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

En el ejemplo de sintaxis siguiente se supone que la solicitud ha especificado un parámetro `ReturnValues` de `ALL_OLD`; en caso contrario, la respuesta solo contiene la entrada `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
}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
|  Attributes  | Mapa de pares de nombre-valor del atributo, pero solo si el parámetro `ReturnValues` se ha especificado como algo distinto de `NONE` en la solicitud.Tipo: Map, mapa de pares de nombre-valor del atributo. | 
| ConsumedCapacityUnits | Cantidad de unidades de capacidad de escritura consumidas por la operación. Este valor muestra el número aplicado al rendimiento aprovisionado. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md). Tipo: Number | 

## Errores especiales
<a name="API_UpdateItem_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Error en la verificación condicional. El valor del atributo ("\$1 name \$1") es ("\$1 value \$1") pero se esperaba ("\$1 expValue \$1").  | 
| ResourceNotFoundExceptions  | No se encontró el elemento o atributo especificado. | 

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

Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte [Uso de elementos y atributos en DynamoDB](WorkingWithItems.md).

### Solicitud de ejemplo
<a name="API_UpdateItem_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel 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"
}
```

### Respuesta de ejemplo
<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
}
```

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

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

**importante**  
***Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.***  
 **Para consultar la documentación sobre la API de bajo nivel actual, consulte la [Referencia de la API de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descripción
<a name="API_updatetable_Description"></a>

Actualiza el desempeño aprovisionado de la tabla en cuestión. Configurar el rendimiento de una tabla para le ayuda a su administración; esto forma parte de la característica de rendimiento aprovisionado de DynamoDB. Para obtener más información, consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md).

Los valores de desempeño provisionado se pueden aumentar o reducir según los máximos o mínimos indicados en [Cuotas en Amazon DynamoDB](ServiceQuotas.md).

La tabla debe encontrarse en el estado `ACTIVE` para poder realizar correctamente esta operación. UpdateTable es una operación asíncrona; es decir, mientras se ejecuta la operación, la tabla se mantiene en el estado `UPDATING`. Mientras la tabla se encuentra en el estado `UPDATING`, sigue teniendo el rendimiento provisionado previo a la llamada. La nueva configuración de desempeño provisionado no entra en vigor hasta que la tabla vuelve al estado `ACTIVE` después de la operación UpdateTable. 

## Solicitudes
<a name="API_UpdateTable_RequestParameters"></a>

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

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bajo nivel 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}
}
```


****  

|  Nombre  |  Descripción  |  Obligatorio | 
| --- | --- | --- | 
|  TableName  |  Nombre de la tabla que se va a actualizar.  Tipo: cadena   |  Sí  | 
|  ProvisionedThroughput  | Nuevo rendimiento de la tabla especificada, que se compone de los valores de `ReadCapacityUnits` y `WriteCapacityUnits`. Consulte [Modo de capacidad aprovisionada de DynamoDB](provisioned-capacity-mode.md).Tipo: matriz  | Sí | 
| ProvisionedThroughput :ReadCapacityUnits |  Establece el número mínimo de `ReadCapacityUnits` consistentes consumidas por segundo para la tabla especificada antes de que DynamoDB equilibre la carga con otras operaciones.  Las operaciones de lectura consistente final requieren menos esfuerzo que una operación de lectura consistente; por lo tanto, un ajuste de 50 unidades `ReadCapacityUnits` consistentes por segundo proporciona 100 unidades de capacidad `ReadCapacityUnits` consistentes finales por segundo. Tipo: Number  | Sí | 
| ProvisionedThroughput :WriteCapacityUnits |  Establece el número mínimo de `WriteCapacityUnits` consumidas por segundo para la tabla especificada antes de que DynamoDB equilibre la carga con otras operaciones. Tipo: Number  | Sí | 

## Respuestas
<a name="API_UpdateTable_ResponseElements"></a>

### Sintaxis
<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"}}
```


****  

|  Nombre  |  Descripción  | 
| --- | --- | 
| CreationDateTime | Fecha de creación de la tabla.Tipo: Number | 
|  KeySchema  | Estructura de la clave principal (simple o compuesta) de la tabla. Se requiere un par de nombre-valor de `HashKeyElement`, pero el par de nombre-valor de `RangeKeyElement` es opcional (solo es obligatorio para las claves principales compuestas). El tamaño máximo de la clave hash es de 2048 bytes. El tamaño máximo de la clave de rango es de 1024 bytes. Ambos límites se aplican por separado (es decir, puede disponer de una clave combinada de rango y hash de 2048\$11024). Para obtener más información sobre claves principales, consulte [Clave principal](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: Map, mapa de `HashKeyElement`, o bien de `HashKeyElement` y de `RangeKeyElement` si se trata de una clave principal compuesta. | 
| ProvisionedThroughput | Ajustes de desempeño actuales de la tabla especificada, incluidos los valores de `LastIncreaseDateTime` (si procede) y `LastDecreaseDateTime` (si procede). Tipo: matriz  | 
|  TableName  |  Nombre de la tabla actualizada. Tipo: cadena  | 
|  TableStatus  | Estado actual de la tabla (CREATING, ACTIVE, DELETING o UPDATING), que debe ser UPDATING. Use la operación [DescribeTables](API_DescribeTables_v20111205.md) para comprobar el estado de la tabla. Tipo: cadena | 

## Errores especiales
<a name="API_UpdateTable_SpecialErrors"></a>


****  

|  Error  |  Descripción  | 
| --- | --- | 
| ResourceNotFoundException  | No se encontró la tabla especificada.  | 
| ResourceInUseException | La tabla no se encuentra en el estado ACTIVE. | 

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

### Solicitud de ejemplo
<a name="API_UpdateTable_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API de bajo nivel 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}
}
```

### Respuesta de ejemplo
<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"}
}
```

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