Manter o Openflow Connector for Kinesis¶
Nota
O conector está sujeito aos Termos do conector Snowflake.
Este tópico descreve como manter o conector Openflow Connector for Kinesis, incluindo como gerenciar e redefinir o estado do conector.
Gerenciar o estado do conector¶
O Openflow Connector for Kinesis usa o DynamoDB para armazenar o estado do aplicativo do consumidor.
Tabelas DynamoDB criadas pelo conector¶
Para cada Kinesis Application Name configurado no conector, o KCL cria três tabelas DynamoDB:
<Kinesis Application Name>Armazena o número de sequência com ponto de verificação para cada fragmento no fluxo. Isso rastreia os registros que foram processados.
<Kinesis Application Name>-CoordinatorStateUsado para coordenação entre trabalhadores quando vários processadores compartilham o mesmo Application Name.
<Kinesis Application Name>-WorkerMetricStatsUsado para os trabalhadores relatarem métricas, que são usadas durante a atribuição do trabalho.
Nestes nomes de tabela, <Kinesis Application Name> é o valor fornecido ao configurar o conector.
Se vários processadores usam o mesmo Application Name, eles colaboram para consumir dados do fluxo e compartilhar as tabelas. Se os processadores têm Application Names diferentes, cada um criará o próprio conjunto de tabelas para rastrear os registros consumidos de maneira independente.
Para obter mais informações sobre tabelas DynamoDB, consulte a documentação do AWS Kinesis Client Library.
Redefinir o estado do conector¶
Se o estado do conector no DynamoDB se tornar corrompido ou inconsistente, talvez seja necessário redefini-lo. Há duas abordagens para redefinir o estado do conector.
Redefinir alterando o Application Name¶
A maneira mais simples de redefinir o estado do conector é alterar o parâmetro Kinesis Application Name:
Pare o conector.
Navegue até o contexto de parâmetro do conector.
Altere o valor do parâmetro
Kinesis Application Namepara um novo valor.Inicie o conector.
O conector cria novas tabelas DynamoDB com o novo Application Name e começa a consumir registros a partir da posição especificada pelo parâmetro Kinesis Initial Stream Position.
Nota
Se a política do IAM restringe o acesso do DynamoDB a nomes de tabela específicos, é necessário atualizar a política para permitir o acesso aos novos nomes de tabela. Para obter mais informações sobre a configuração das permissões do IAM, consulte Configuração do Openflow Connector for Kinesis para formato de dados JSON.
Redefinir excluindo as tabelas DynamoDB¶
Como alternativa, você pode excluir as tabelas DynamoDB existentes para redefinir o estado:
Pare o conector.
No Console AWS ou usando a AWS CLI, exclua as três tabelas DynamoDB associadas ao Application Name:
<Kinesis Application Name><Kinesis Application Name>-CoordinatorState<Kinesis Application Name>-WorkerMetricStats
Inicie o conector.
O conector recria as tabelas e começa a consumir registros a partir da posição especificada pelo parâmetro Kinesis Initial Stream Position.
Aviso
A redefinição do estado do conector faz com que o conector reprocesse os registros a partir da posição especificada pela posição inicial do fluxo. Dependendo da configuração de Kinesis Initial Stream Position, isso pode resultar na ingestão duplicada de dados no Snowflake ou em dados não ingeridos de forma alguma.