Esquema e infraestructura
Exportar esquema (IaC)
Convierte una tabla existente en código de infraestructura. Copia su esquema como YAML de CloudFormation, HCL de Terraform o TypeScript de Pulumi, con atributos, claves, GSI, LSI y TTL.
El diálogo Export Schema
Haz clic en Schema en la barra de información de la tabla. El diálogo tiene tres pestañas de formato y una vista de código de solo lectura, generada por completo en tu equipo a partir de la descripción de la tabla ya cargada. Copy to Clipboard copia el documento completo al portapapeles.
AWSTemplateFormatVersion: '2010-09-09'
Description: DynamoDB table schema exported from DynamoOps
Resources:
Orders:
Type: AWS::DynamoDB::Table
Properties:
TableName: orders
BillingMode: PAY_PER_REQUEST
AttributeDefinitions:
- AttributeName: customerId
AttributeType: S
- AttributeName: orderDate
AttributeType: S
- AttributeName: status
AttributeType: S
KeySchema:
- AttributeName: customerId
KeyType: HASH
- AttributeName: orderDate
KeyType: RANGE
GlobalSecondaryIndexes:
- IndexName: status-index
KeySchema:
- AttributeName: status
KeyType: HASH
Projection:
ProjectionType: ALL
Outputs:
OrdersArn:
Value: !GetAtt Orders.Arn
Export:
Name: !Sub '${AWS::StackName}-orders-arn'Qué se incluye
| Se incluye | No se incluye |
|---|---|
| Nombre de la tabla y modo de facturación | Valores de capacidad aprovisionada de lectura y escritura |
| Definiciones de atributos y esquema de claves | Especificación de streams |
| Índices secundarios globales con claves, tipo de proyección y atributos que no son clave | Configuración de cifrado (SSE/KMS) |
| Índices secundarios locales | Recuperación a un momento dado (point-in-time recovery), clase de tabla, protección contra eliminación |
| Bloque de TTL cuando la descripción indica que TTL está activado | Réplicas de tablas globales y tus etiquetas reales de AWS |
- Terraform y Pulumi agregan una etiqueta
ManagedBy = "DynamoOps"; CloudFormation agrega un bloque Outputs que exporta el ARN de la tabla. - Los nombres de los recursos se derivan del nombre de la tabla: alfanuméricos para el ID lógico de CloudFormation, y en minúsculas con guiones bajos para Terraform y para la variable de Pulumi.
Las tablas aprovisionadas necesitan un bloque de capacidad
La exportación siempre escribe el modo de facturación que encuentra, pero nunca los valores de capacidad. Si la tabla de origen es aprovisionada, agrega read_capacity y write_capacity (o sus equivalentes en CloudFormation y Pulumi) antes de aplicar, o cambia el recurso a bajo demanda.Flujo de trabajo sugerido
- Prototipa la tabla y sus índices en DynamoOps contra una cuenta de desarrollo.
- Exporta el esquema, pégalo en tu repositorio de infraestructura y revisa el diff.
- Importa la tabla existente al state (
terraform importopulumi import) si la tabla debe conservarse, o deja que el IaC la recree en el siguiente entorno. - Genera la capa de acceso a datos correspondiente con el generador de SDK.
Relacionados
Crear tablas
Crea una tabla de DynamoDB desde la barra lateral con una clave de partición, una clave de ordenación opcional y tipos de atributo. Las tablas se crean en modo de facturación bajo demanda.
Administrador de índices (GSI)
Inspecciona la clave primaria y los índices secundarios locales y globales de una tabla, crea nuevos índices secundarios globales con cualquier proyección y elimina los que ya no necesites.
Generador de SDK
Descarga un proyecto completo de acceso a datos para tu tabla, orientado a producción, en TypeScript, Python, Java, C#, Go, Ruby, PHP o shell, con las capas de entidad, repositorio, servicio y cliente ya conectadas.