

# Práticas recomendadas para integração com o DynamoDB
<a name="bp-integration"></a>

Ao integrar o DynamoDB a outros serviços, é necessário sempre seguir as práticas recomendadas para usar cada serviço. No entanto, há algumas práticas recomendadas específicas de integração nas quais você deve pensar.

**Topics**
+ [Criar um snapshot no DynamoDB](#bp-integration-snapshot)
+ [Capturar alterações de dados no DynamoDB](#bp-integration-change-data-capture)

## Criar um snapshot no DynamoDB
<a name="bp-integration-snapshot"></a>
+ Em geral, recomendamos o uso da [exportação para o Amazon S3](S3DataExport.HowItWorks.md) para criar snapshots da replicação inicial. É econômico e não concorrerá com o tráfego da aplicação em termos de throughput. Também é possível pensar em backup e restauração em uma nova tabela, seguidos de uma operação de verificação. Isso evitará a disputa por throughput com sua aplicação, mas geralmente será consideravelmente menos econômico do que uma exportação.
+ Sempre defina `StartTime` ao fazer uma exportação. Isso facilita a determinação de onde você iniciará a captura de dados de alteração (CDC).
+ Ao usar a exportação para o S3, defina uma ação de ciclo de vida no bucket do S3. Normalmente, uma ação de expiração definida em sete dias é segura, mas é necessário seguir todas as diretrizes que a empresa possa ter. Mesmo que você exclua explicitamente os itens após a ingestão, essa ação pode ajudar a detectar problemas e, portanto, reduzir custos desnecessários e evitar violações de política.

## Capturar alterações de dados no DynamoDB
<a name="bp-integration-change-data-capture"></a>
+ Se você precisar de uma CDC quase em tempo real, use o [DynamoDB Streams](streamsmain.md) ou o [Amazon Kinesis Data Streams (KDS)](kds.md). Ao decidir qual deles usar, procure sempre pensar em qual é o mais fácil de usar com o serviço subsequente. Se você precisar fornecer processamento de eventos em ordem em nível de chave de partição ou se tiver itens excepcionalmente grandes, use o DynamoDB Streams.
+ Se não precisar de CDC quase em tempo real, poderá usar a [exportação para o Amazon S3 com exportações incrementais](S3DataExport.HowItWorks.md) para exportar somente as alterações que ocorreram entre dois momentos. 

  Se você usou a exportação para o S3 para gerar um snapshot, isso pode ser especialmente útil porque é possível usar um código semelhante para processar exportações incrementais. Normalmente, a exportação para o S3 é um pouco mais barata do que as opções de streaming anteriores, mas o custo normalmente não é o principal fator para a opção a ser usada.
+ Geralmente, só é possível ter dois consumidores simultâneos de um fluxo do DynamoDB. Pense nisso ao planejar a estratégia de integração.
+ Não use verificações para detectar alterações. Isso pode funcionar em pequena escala, mas se torna impraticável de modo razoavelmente rápido.