Utilizzo dell'adattatore DynamoDB Streams Kinesis per elaborare i record di flusso - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo dell'adattatore DynamoDB Streams Kinesis per elaborare i record di flusso

L'utilizzo di Amazon Kinesis Adapter è il modo consigliato per utilizzare flussi da Amazon DynamoDB. L'API DynamoDB Streams è progettata in maniera simile a quella di Kinesis Data Streams, un servizio per l'elaborazione in tempo reale dei dati di streaming su vasta scala. In entrambi i servizi, i flussi di dati sono composti da partizioni, che sono container per i record di flusso. Le API di entrambi i servizi contengono le operazioni ListStreams, DescribeStream, GetShards e GetShardIterator. Sebbene queste operazioni DynamoDB Streams siano simili alle loro controparti in Kinesis Data Streams, non sono identiche al 100%.

È possibile scrivere applicazioni per Kinesis Data Streams utilizzando la libreria client Kinesis (Kinesis Client Library, KCL). KCL semplifica la codifica fornendo astrazioni utili sull'API Kinesis Data Streams di basso livello. Per ulteriori informazioni su KCL, consulta Sviluppo di consumatori utilizzando la libreria client Kinesis nella Guida per gli sviluppatori di Amazon Kinesis Data Streams.

Come utente di DynamoDB Streams, è possibile utilizzare i modelli di progettazione presenti all'interno di KCL per elaborare partizioni e record di flusso DynamoDB Streams. Per fare ciò, si utilizza l'adattatore Kinesis DynamoDB Streams. L'adattatore Kinesis implementa l'interfaccia Kinesis Data Streams in modo che si possa utilizzare KCL per l'uso e l'elaborazione di record da DynamoDB Streams. Per istruzioni su come configurare e installare il DynamoDB Streams Kinesis Adapter, consulta il repository. GitHub

Nel seguente diagramma viene illustrato come queste librerie interagiscono tra loro.

Interazione tra DynamoDB Streams, Kinesis Data Streams e KCL per l'elaborazione dei record DynamoDB Streams.

Con l'adattatore Kinesis DynamoDB Streams abilitato, è possibile iniziare a sviluppare rispetto a KCL, con le chiamate API dirette senza soluzione di continuità all'endpoint DynamoDB Streams.

Quando si avvia l'applicazione , quest'ultima richiama la libreria KCL per creare un'istanza di un worker. È necessario fornire al lavoratore le informazioni di configurazione per l'applicazione, come il descrittore di flusso e le AWS credenziali, e il nome di una classe di processore di record fornita dall'utente. Durante l'esecuzione del codice nel processore di record, il worker completa le seguenti attività:

  • Si collega al flusso

  • Enumera le partizioni all'interno del flusso

  • Coordina le associazioni di shard con altri processi di lavoro (se presenti)

  • Crea istanze di un elaboratore di record per ogni shard che gestisce

  • Estrae i record di dati dal flusso

  • Inserisce i record nell'elaboratore di record corrispondente

  • Controlla i record elaborati

  • Bilancia le associazioni tra shard e processi di lavoro quando il conteggio delle istanze del lavoro cambia

  • Bilancia le associazioni tra partizioni e worker quando le partizioni sono suddivise

Nota

Per una descrizione dei concetti su KCL elencati qui, consulta Sviluppo di consumatori utilizzando la libreria client Kinesis nella Guida per gli sviluppatori di Amazon Kinesis Data Streams.

Per ulteriori informazioni sull'utilizzo degli stream, consulta AWS Lambda Streams e trigger DynamoDB AWS Lambda