CreateTable - Amazon DynamoDB

CreateTable

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.

Descripción

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 para comprobar el estado de la tabla.

Solicitudes

Sintaxis

// 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, "_" (guion bajo), "-" (guion) y "." (punto). Los nombres pueden tener de 3 a 255 caracteres de longitud.

Tipo: cadena

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.

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.

ProvisionedThroughput Nuevo rendimiento de la tabla especificada, que se compone de los valores de ReadCapacityUnits y WriteCapacityUnits. Para obtener más información, consulte Administración de la configuración de las tablas de capacidad aprovisionada de DynamoDB.
nota

Para obtener los valores mínimo y máximo actuales, consulte Cuotas de tabla, servicio y cuenta en Amazon DynamoDB.

Tipo: matriz

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

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

Respuestas

Sintaxis

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.

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.

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 Administración de la configuración de las tablas de capacidad aprovisionada de DynamoDB.

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 para comprobar el estado de la tabla.

Tipo: cadena

Errores especiales

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.

nota

Para obtener los valores mínimo y máximo actuales, consulte Cuotas de tabla, servicio y cuenta en Amazon DynamoDB.

.

Ejemplos

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.

Solicitud de ejemplo

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

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