Schema e infraestrutura
Exportar schema (IaC)
Transforme uma tabela existente em código de infraestrutura. Copie o schema como CloudFormation YAML, Terraform HCL ou Pulumi TypeScript, incluindo atributos, chaves, GSIs, LSIs e TTL.
O diálogo Export Schema
Clique em Schema na barra de informações da tabela. O diálogo tem três abas de formato e uma visualização de código somente leitura, gerada inteiramente na sua máquina a partir da descrição da tabela já carregada. Copy to Clipboard copia o documento inteiro para a área de transferência.
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'O que está incluído
| Incluído | Não incluído |
|---|---|
| Nome da tabela e modo de cobrança | Valores de capacidade provisionada de leitura e escrita |
| Definições de atributos e schema de chaves | Especificação de stream |
| Índices secundários globais com chaves, tipo de projeção e atributos não chave | Configurações de criptografia (SSE/KMS) |
| Índices secundários locais | Recuperação point-in-time, classe de tabela, proteção contra exclusão |
| Bloco de TTL quando a descrição indica TTL ativado | Réplicas de global tables e as suas tags reais da AWS |
- Terraform e Pulumi adicionam a tag
ManagedBy = "DynamoOps"; o CloudFormation adiciona um bloco Outputs que exporta o ARN da tabela. - Os nomes dos recursos derivam do nome da tabela: alfanumérico para o logical ID do CloudFormation, minúsculas com sublinhados para o Terraform e para a variável do Pulumi.
Tabelas provisionadas precisam de um bloco de capacidade
A exportação sempre grava o modo de cobrança encontrado, mas nunca os valores de capacidade. Se a tabela de origem for provisionada, adicione read_capacity e write_capacity (ou os equivalentes no CloudFormation e no Pulumi) antes de aplicar, ou altere o recurso para sob demanda.Fluxo de trabalho sugerido
- Prototipe a tabela e seus índices no DynamoOps em uma conta de desenvolvimento.
- Exporte o schema, cole-o no seu repositório de infraestrutura e revise o diff.
- Importe a tabela existente para o state (
terraform importoupulumi import) se ela deve ser mantida, ou deixe o IaC recriá-la no próximo ambiente. - Gere a camada de acesso a dados correspondente com o gerador de SDK.
Relacionados
Criando tabelas
Crie uma tabela do DynamoDB pela barra lateral, com chave de partição, chave de ordenação opcional e tipos de atributo. As tabelas são criadas no modo de cobrança sob demanda.
Gerenciador de índices (GSI)
Inspecione a chave primária e os índices secundários locais e globais de uma tabela, crie novos índices secundários globais com qualquer projeção e exclua os que você não usa mais.
Gerador de SDK
Baixe um projeto completo de acesso a dados, pensado para produção, para a sua tabela em TypeScript, Python, Java, C#, Go, Ruby, PHP ou shell, com as camadas de entidade, repositório, serviço e cliente já conectadas.