DynamoOps
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.

Export Schema con la pestaña Terraform seleccionada.
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 incluyeNo se incluye
Nombre de la tabla y modo de facturaciónValores de capacidad aprovisionada de lectura y escritura
Definiciones de atributos y esquema de clavesEspecificación de streams
Índices secundarios globales con claves, tipo de proyección y atributos que no son claveConfiguración de cifrado (SSE/KMS)
Índices secundarios localesRecuperació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á activadoRé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 import o pulumi 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