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à.
Sviluppo con stream in QLDB
Questa sezione riassume le operazioni API che puoi utilizzare con un AWS SDK o AWS CLI per creare e gestire flussi di journal in Amazon QLDB. Descrive inoltre le applicazioni di esempio che dimostrano queste operazioni e utilizzano la Kinesis Client Library (KCL) o AWS Lambda per implementare uno stream consumer.
Puoi utilizzare KCL per creare applicazioni consumer per Amazon Kinesis Data Streams. KCL semplifica la codifica fornendo astrazioni utili sull'API Kinesis Data Streams di basso livello. Per ulteriori informazioni su KCL, consulta Using the Kinesis Client Library nella Amazon Kinesis Data Streams Developer Guide.
Indice
API QLDB Journal Stream
L'API QLDB fornisce le seguenti operazioni di flusso del diario per l'utilizzo da parte dei programmi applicativi:
-
StreamJournalToKinesis
— Crea un flusso di journal per un determinato registro QLDB. Lo stream acquisisce ogni revisione del documento inserita nel diario del registro e invia i dati a una risorsa Kinesis Data Streams specificata.-
L'aggregazione dei record in Kinesis Data Streams è abilitata per impostazione predefinita. Questa opzione consente a QLDB di pubblicare più record di dati in un singolo record Kinesis Data Streams, aumentando il numero di record inviati per chiamata API.
L'aggregazione dei record ha importanti implicazioni per l'elaborazione dei record e richiede la disaggregazione nello stream consumer. Per ulteriori informazioni, consulta i concetti chiave di KPL e la deaggregazione dei consumatori nella Amazon Kinesis Data Streams Developer Guide.
-
-
DescribeJournalKinesisStream
— Restituisce informazioni dettagliate su un determinato flusso di journal QLDB. L'output include l'ARN, il nome dello stream, lo stato corrente, l'ora di creazione e i parametri della richiesta di creazione dello stream originale. -
ListJournalKinesisStreamsForLedger
— Restituisce un elenco di tutti i descrittori di stream del journal QLDB per un determinato registro. L'output di ogni descrittore di flusso include gli stessi dettagli restituiti da.DescribeJournalKinesisStream
-
CancelJournalKinesisStream
— Termina un determinato flusso di journal QLDB. Prima che uno stream possa essere annullato, deve essere il suo stato attuale.ACTIVE
Non puoi riavviare uno stream dopo averlo annullato. Per riprendere la consegna dei dati a Kinesis Data Streams, puoi creare un nuovo flusso QLDB.
Per una descrizione completa di queste operazioni API, consulta la. Documentazione di riferimento dell'API Amazon QLDB
Per informazioni sulla creazione e la gestione di stream di journal utilizzando AWS CLI, vedere il AWS CLI Command Reference.
Applicazioni di esempio
QLDB fornisce applicazioni di esempio che dimostrano varie operazioni utilizzando stream di journal. Queste applicazioni sono open source sul sito Samples.AWS GitHub
Argomenti
Operazioni di base (Java)
Per un esempio di codice Java che dimostra le operazioni di base per i flussi di journal QLDB, consulta il repository aws-samples/ -java. GitHub amazon-qldb-dmv-sample
Nota
Dopo aver installato l'applicazione, non procedete al passaggio 1 del tutorial su Java per creare un libro mastro. Questa applicazione di esempio per lo streaming crea il vehicle-registration
registro per te.
Questa applicazione di esempio racchiude il codice sorgente completo di Tutorial su Java e le relative dipendenze, inclusi i seguenti moduli:
-
AWS SDK for Java
— Per creare ed eliminare le risorse QLDB e Kinesis Data Streams, inclusi i registri, i flussi di journal QLDB e i flussi di dati Kinesis. -
Driver Amazon QLDB per Java— Per eseguire transazioni di dati su un registro utilizzando istruzioni PartiQl, inclusa la creazione di tabelle e l'inserimento di documenti.
-
Kinesis Client Library: per utilizzare ed elaborare i dati da un flusso di dati Kinesis.
Esecuzione del codice
La StreamJournal
-
Crea un registro denominato
vehicle-registration
, crea tabelle e caricale con dati di esempio.Nota
Prima di eseguire questo codice, assicurati di non avere già un registro attivo denominato.
vehicle-registration
-
Crea un flusso di dati Kinesis, un ruolo IAM che consente a QLDB di assumere le autorizzazioni di scrittura per il flusso di dati Kinesis e un flusso di journal QLDB.
-
Usa KCL per avviare un lettore di stream che elabora il flusso di dati Kinesis e registra ogni record di dati QLDB.
-
Usa i dati del flusso per convalidare la catena hash del registro di esempio.
vehicle-registration
-
Pulisci tutte le risorse interrompendo lo stream reader, annullando lo stream del journal QLDB, eliminando il registro ed eliminando il flusso di dati Kinesis.
Per eseguire il codice del StreamJournal
tutorial, inserisci il seguente comando Gradle dalla directory principale del tuo progetto.
./gradlew run -Dtutorial=streams.StreamJournal
Integrazione con OpenSearch Service (Python)
Per un'applicazione di esempio in Python che dimostra come integrare un flusso QLDB con Amazon OpenSearch Service, consulta il repository aws-samples/ -. GitHub amazon-qldb-streaming-amazon opensearch-service-sample-python
Per clonare il repository, inserisci il seguente comando. git
git clone https://github.com/aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python.git
Per eseguire l'applicazione di esempio, consultate il file README
Integrazione con Amazon SNS e Amazon SQS (Python)
Questa applicazione utilizza una AWS Lambda funzione per implementare un consumatore Kinesis Data Streams. Invia messaggi a un argomento Amazon SNS a cui è associata una coda Amazon Simple Queue Service (Amazon SQS).
Per clonare il repository, inserisci il seguente comando. git
git clone https://github.com/aws-samples/amazon-qldb-streams-dmv-sample-lambda-python.git
Per eseguire l'applicazione di esempio, consultate il file README