Creazione e gestione di stream in QLDB - Database Amazon Quantum Ledger (Amazon QLDB)

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à.

Creazione e gestione di stream in QLDB

Amazon QLDB fornisce operazioni API per creare e gestire un flusso di dati del journal dal registro ad Amazon Kinesis Data Streams. Lo stream QLDB acquisisce ogni revisione del documento inserita nel diario e la invia a un flusso di dati Kinesis.

Puoi usare il AWS Management Console, un AWS SDK o il AWS Command Line Interface (AWS CLI) per creare un flusso di journal. Inoltre, puoi anche utilizzare un AWS CloudFormationmodello per creare stream. Per ulteriori informazioni, consulta la AWS::QLDB::Streamrisorsa nella Guida per l'AWS CloudFormation utente.

Parametri dello stream

Per creare un flusso di journal QLDB, è necessario fornire i seguenti parametri di configurazione:

Nome del libro mastro

Il registro QLDB di cui desideri trasmettere i dati del diario a Kinesis Data Streams.

Nome del flusso

Il nome che si desidera assegnare al flusso del journal QLDB. I nomi definiti dall'utente possono aiutare a identificare e indicare lo scopo di un flusso.

Il nome del flusso deve essere univoco tra gli altri flussi attivi per un determinato libro mastro. I nomi degli stream hanno gli stessi vincoli di denominazione dei nomi dei libri contabili, come definito in. Quote e limiti in Amazon QLDB

Oltre al nome dello stream, QLDB assegna un ID stream a ogni stream QLDB che crei. L'ID dello stream è unico tra tutti gli stream di un determinato registro, indipendentemente dal loro stato.

Data e ora di inizio

La data e l'ora da cui iniziare lo streaming dei dati del diario. Questo valore può corrispondere a qualsiasi data e ora del passato, ma non a quelle future.

Data e ora di fine

(Facoltativo) La data e l'ora che specificano il termine dello streaming.

Se crei uno stream indefinito senza ora di fine, devi annullarlo manualmente per terminare lo streaming. Puoi anche annullare uno stream attivo e finito che non ha ancora raggiunto la data e l'ora di fine specificate.

Flusso di dati Kinesis di destinazione

La risorsa di destinazione Kinesis Data Streams su cui lo stream scrive i record di dati. Per informazioni su come creare un flusso di dati Kinesis, consulta Creazione e aggiornamento di flussi di dati nella Amazon Kinesis Data Streams Developer Guide.

Importante
  • I flussi tra regioni e tra account non sono supportati. Il flusso di dati Kinesis specificato deve trovarsi nello stesso Regione AWS account del registro.

  • 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.

Ruolo IAM

Il ruolo IAM che consente a QLDB di assumere le autorizzazioni di scrittura per il flusso di dati Kinesis. Puoi utilizzare la console QLDB per creare automaticamente questo ruolo oppure puoi crearlo manualmente in IAM. Per informazioni su come crearlo manualmente, consulta. Autorizzazioni di streaming

Per passare un ruolo a QLDB quando si richiede un flusso journal, è necessario disporre delle autorizzazioni per eseguire l'operazione iam:PassRole sulla risorsa del ruolo IAM.

Flusso ARN

Ogni flusso di journal QLDB è una sottorisorsa di un registro ed è identificato in modo univoco da un Amazon Resource Name (ARN). Di seguito è riportato un esempio di ARN di un flusso QLDB con un ID di flusso pari a per un registro denominato. IiPT4brpZCqCq3f4MTHbYy exampleLedger

arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy

La sezione seguente descrive come creare e annullare uno stream QLDB utilizzando. AWS Management Console

AWS Management Console

Segui questi passaggi per creare o annullare uno stream QLDB utilizzando la console QLDB.

Per creare uno stream (console)
  1. Accedi a e apri AWS Management Console la console Amazon QLDB all'indirizzo https://console.aws.amazon.com/qldb.

  2. Nel pannello di navigazione, seleziona Streams (Flussi).

  3. Scegli Crea stream QLDB.

  4. Nella pagina Crea stream QLDB, inserisci le seguenti impostazioni:

    • Nome dello stream: il nome che desideri assegnare allo stream QLDB.

    • Registro: il registro di cui desideri trasmettere i dati del diario.

    • Data e ora di inizio: il timestamp inclusivo in UTC (Coordinated Universal Time) da cui iniziare lo streaming dei dati del diario. Il valore predefinito di questo timestamp è la data e l'ora correnti. Non può essere nel futuro e deve essere precedente alla data e all'ora di fine.

    • Data e ora di fine: (Facoltativo) Il timestamp esclusivo (UTC) che specifica quando termina lo streaming. Se mantieni vuoto questo parametro, lo stream viene eseguito a tempo indeterminato fino a quando non lo annulli.

    • Flusso di destinazione: la risorsa di destinazione Kinesis Data Streams su cui lo stream scrive i record di dati. Utilizzate il seguente formato ARN.

      arn:aws:kinesis:aws-region:account-id:stream/kinesis-stream-name

      Di seguito è riportato un esempio.

      arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb

      Gli stream tra regioni e tra account non sono supportati. Il flusso di dati Kinesis specificato deve trovarsi nello stesso Regione AWS account del registro.

    • Abilita l'aggregazione dei record in Kinesis Data Streams — (Attivata per impostazione predefinita) 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.

    • Accesso al servizio: il ruolo IAM che concede le autorizzazioni di scrittura QLDB al flusso di dati Kinesis.

      Per passare un ruolo a QLDB quando si richiede un flusso di journal, è necessario disporre delle autorizzazioni per eseguire iam:PassRole l'azione sulla risorsa del ruolo IAM.

      • Crea e usa un nuovo ruolo di servizio: consenti alla console di creare un nuovo ruolo per te con le autorizzazioni richieste per il flusso di dati Kinesis specificato.

      • Usa un ruolo di servizio esistente: per scoprire come creare manualmente questo ruolo in IAM, consulta. Autorizzazioni di streaming

    • Tag: (Facoltativo) Aggiungi metadati allo stream allegando i tag come coppie chiave-valore. Puoi aggiungere tag allo stream per organizzarli e identificarli. Per ulteriori informazioni, consulta Assegnazione di tag alle risorse Amazon QLDB.

      Scegli Aggiungi tag, quindi inserisci le coppie chiave-valore appropriate.

  5. Quando le impostazioni sono quelle che desideri, scegli Crea stream QLDB.

    Se l'invio della richiesta ha esito positivo, la console torna alla pagina principale Streams ed elenca gli stream QLDB con il loro stato corrente.

  6. Dopo che lo streaming è attivo, usa Kinesis per elaborare i dati di streaming con un'applicazione consumer.

    Apri la console Kinesis Data Streams all'indirizzo https://console.aws.amazon.com/kinesis/.

Per informazioni sul formato dei record di dati di flusso, consulta. Record di stream QLDB in Kinesis

Per informazioni su come gestire gli stream che generano un errore, consultaGestione degli stream compromessi.

Per annullare uno stream (console)

Non puoi riavviare uno stream QLDB dopo averlo annullato. Per riprendere la consegna dei dati a Kinesis Data Streams, puoi creare un nuovo flusso QLDB.

  1. Apri la console Amazon QLDB all'indirizzo https://console.aws.amazon.com/qldb.

  2. Nel pannello di navigazione, seleziona Streams (Flussi).

  3. Nell'elenco degli stream QLDB, seleziona lo stream attivo che desideri annullare.

  4. Scegli Annulla streaming. Confermalo inserendo cancel stream nell'apposita casella.

Per informazioni sull'utilizzo dell'API QLDB con AWS un SDK o per creare e gestire flussi AWS CLI di journal, consulta. Sviluppo con stream in QLDB

Stati dello stream

Lo stato di uno stream QLDB può essere uno dei seguenti:

  • ACTIVE— È attualmente in streaming o è in attesa di trasmettere i dati (per uno streaming indefinito senza orario di fine).

  • COMPLETED— Ha terminato con successo lo streaming di tutti i blocchi del journal entro l'intervallo di tempo specificato. Si tratta di uno stato terminale.

  • CANCELED— È stato interrotto da una richiesta dell'utente prima dell'ora di fine specificata e non trasmette più attivamente i dati in streaming. Si tratta di uno stato terminale.

  • IMPAIRED— Non è in grado di scrivere record su Kinesis a causa di un errore che richiede l'intervento dell'utente. Si tratta di uno stato non terminale ripristinabile.

    Se risolvi l'errore entro un'ora, lo stream passa automaticamente allo stato. ACTIVE Se l'errore rimane irrisolto dopo un'ora, lo stream passa automaticamente allo FAILED stato.

  • FAILED— Non è in grado di scrivere record su Kinesis a causa di un errore e si trova in uno stato terminale irrecuperabile.

Il diagramma seguente illustra come una risorsa di flusso QLDB può passare da uno stato all'altro.

Diagramma di stato che mostra come una risorsa di flusso QLDB può passare dagli stati attivo, annullato, completato, danneggiato e fallito.

Scadenza per gli stream terminali

Le risorse di streaming che si trovano in uno stato terminale (CANCELEDCOMPLETED, eFAILED) sono soggette a un periodo di conservazione di 7 giorni. Vengono eliminate automaticamente dopo la scadenza di questo limite.

Dopo l'eliminazione di un flusso di terminale, non è più possibile utilizzare la console QLDB o l'API QLDB per descrivere o elencare la risorsa di flusso.

Gestione degli stream compromessi

Se il tuo stream riscontra un errore, passa prima allo stato. IMPAIRED QLDB continua a IMPAIRED riprovare lo streaming per un massimo di un'ora.

Se risolvi l'errore entro un'ora, lo stream passa automaticamente allo stato. ACTIVE Se l'errore rimane irrisolto dopo un'ora, lo stream passa automaticamente allo FAILED stato.

Uno stream danneggiato o non riuscito può avere una delle seguenti cause di errore:

  • KINESIS_STREAM_NOT_FOUND— La risorsa Kinesis Data Streams di destinazione non esiste. Verifica che il flusso di dati Kinesis fornito nella richiesta di flusso QLDB sia corretto. Quindi, vai su Kinesis e crea il flusso di dati che hai specificato.

  • IAM_PERMISSION_REVOKED— QLDB non dispone di autorizzazioni sufficienti per scrivere record di dati nel flusso di dati Kinesis specificato. Verifica di aver definito una policy per il flusso di dati Kinesis specificato che conceda al servizio QLDB () qldb.amazonaws.com le autorizzazioni per le seguenti azioni:

    • kinesis:PutRecord

    • kinesis:PutRecords

    • kinesis:DescribeStream

    • kinesis:ListShards

Monitoraggio dei flussi compromessi

Se uno stream viene interrotto, la console QLDB visualizza un banner che mostra i dettagli sullo stream e l'errore riscontrato. Puoi anche utilizzare l'operazione DescribeJournalKinesisStream API per ottenere lo stato di uno stream e la causa dell'errore sottostante.

Inoltre, puoi utilizzare Amazon CloudWatch per creare un allarme che monitora la IsImpaired metrica di uno stream. Per informazioni sul monitoraggio delle metriche CloudWatch QLDB con, vedere. Dimensioni e parametri di Amazon QLDB