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
Importante
Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto il 31/07/2025. Per ulteriori dettagli, consulta Migrare un Amazon QLDB Ledger ad Amazon Aurora Postgre
Questa sezione riassume le API operazioni che puoi utilizzare con un AWS SDK o the AWS CLI per creare e gestire stream 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 utilizzarlo KCL per creare applicazioni consumer per Amazon Kinesis Data Streams. KCLSemplifica la codifica fornendo astrazioni utili al di sopra dei Kinesis Data Streams di basso livello. API Per ulteriori informazioniKCL, consulta Using the Kinesis Client Library nella Amazon Kinesis Data Streams Developer Guide.
Indice
QLDBstream del diario APIs
QLDBAPIFornisce le seguenti operazioni di flusso del diario per l'utilizzo da parte dei programmi applicativi:
-
StreamJournalToKinesis
— Crea un flusso di giornale per un determinato QLDB libro mastro. 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 di QLDB pubblicare più record di dati in un singolo record Kinesis Data Streams, aumentando il numero di record API inviati per chiamata.
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 KPL chiave e la deaggregazione dei consumatori nella Amazon Kinesis Data Streams Developer Guide.
-
-
DescribeJournalKinesisStream
— Restituisce informazioni dettagliate su un determinato flusso di diario. QLDB L'output include il nome dello streamARN, 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 QLDB diario per un determinato registro. L'output di ogni descrittore di flusso include gli stessi dettagli restituiti da.DescribeJournalKinesisStream
-
CancelJournalKinesisStream
— Termina un determinato stream del QLDB diario. 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 stream. QLDB
Per una descrizione completa di queste API operazioni, consulta la. QLDBAPIRiferimento Amazon
Per informazioni sulla creazione e la gestione di stream di journal utilizzando AWS CLI, vedere il AWS CLI Command Reference.
Applicazioni di esempio
QLDBfornisce applicazioni di esempio che illustrano varie operazioni utilizzando Journal Streams. Queste applicazioni sono open source sul GitHub sito AWS Samples
Argomenti
Operazioni di base (Java)
Per un esempio di codice Java che dimostra le operazioni di base per i flussi di QLDB journal, consulta il GitHub repository aws-samples/ -java. 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 sia le risorse che quelle di Kinesis Data Streams, tra cui QLDB registri, stream di journal QLDB e flussi di dati Kinesis. -
QLDBDriver Amazon 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 IAM ruolo che consente di assumere le autorizzazioni di scrittura QLDB per il flusso di dati Kinesis, e un flusso di diario. QLDB
-
Usa KCL per avviare un lettore di stream che elabori il flusso di dati Kinesis e registri ogni QLDB record di dati.
-
Usa i dati del flusso per convalidare la catena hash del registro di esempio.
vehicle-registration
-
Pulisci tutte le risorse arrestando lo stream reader, annullando lo stream del QLDB journal, 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 uno stream QLDB con Amazon OpenSearch Service, consulta il GitHub repository aws-samples/ -. 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, consulta le istruzioni 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 SNS argomento Amazon a cui è iscritta una coda Amazon Simple Queue Service (AmazonSQS).
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, consulta le istruzioni README