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à.
Amazon Kinesis
Usando Servizio gestito da Amazon per Apache Flink
È possibile inviare dati da Kinesis Data Streams a LiveAnalytics Timestream per utilizzare il connettore dati di esempio per Managed Service Timestream for Apache Flink. Per ulteriori informazioni, consulta Apache Servizio gestito da Amazon per Apache Flink Flink.
Utilizzo di EventBridge Pipes per inviare dati Kinesis a Timestream
Puoi utilizzare EventBridge Pipes per inviare dati da un flusso Kinesis a un Amazon Timestream for table. LiveAnalytics
Le pipe sono destinate point-to-point alle integrazioni tra sorgenti e destinazioni supportate, con supporto per trasformazioni e arricchimenti avanzati. Le pipe riducono la necessità di conoscenze specializzate e codice di integrazione durante lo sviluppo di architetture basate sugli eventi. Per configurare una pipe, si sceglie l'origine, si aggiungono filtri facoltativi, si definisce l'arricchimento facoltativo e si sceglie la destinazione per i dati dell'evento.
Questa integrazione consente di sfruttare la potenza delle funzionalità di analisi dei dati delle serie temporali Timestream di cui dispone, semplificando al contempo la pipeline di inserimento dei dati.
L'utilizzo di EventBridge Pipes with offre i seguenti vantaggi: Timestream
Inserimento di dati in tempo reale: trasmetti i dati da Kinesis direttamente a Timestream per LiveAnalytics consentire analisi e monitoraggio in tempo reale.
Integrazione perfetta: utilizza EventBridge Pipes per gestire il flusso di dati senza la necessità di complesse integrazioni personalizzate.
Filtraggio e trasformazione migliorati: filtra o trasforma i record Kinesis prima che vengano archiviati Timestream per soddisfare i requisiti specifici di elaborazione dei dati.
Scalabilità: gestisci flussi di dati ad alta velocità e garantisci un'elaborazione efficiente dei dati con funzionalità integrate di parallelismo e batch.
Configurazione
Per configurare una EventBridge Pipe per lo streaming di dati da Kinesis a Timestream, segui questi passaggi:
Creare un flusso Kinesis
Assicurati di avere un flusso di dati Kinesis attivo da cui desideri importare i dati.
Crea un Timestream database e una tabella
Configura il Timestream database e la tabella in cui verranno archiviati i dati.
Configura la EventBridge Pipe:
Sorgente: seleziona il tuo stream Kinesis come sorgente.
Obiettivo: scegli Timestream come destinazione.
Impostazioni di batch: definisci la finestra di batch e le dimensioni del batch per ottimizzare l'elaborazione dei dati e ridurre la latenza.
Importante
Quando si configura una tubazione, si consiglia di verificare la correttezza di tutte le configurazioni inserendo alcuni record. Tieni presente che la corretta creazione di una tubazione non garantisce che la pipeline sia corretta e che i dati scorrano senza errori. Potrebbero verificarsi errori di runtime, come una tabella errata, un parametro del percorso dinamico errato o un Timestream record non valido dopo l'applicazione della mappatura, che verranno rilevati quando i dati effettivi fluiranno attraverso la pipe.
Le seguenti configurazioni determinano la velocità con cui i dati vengono inseriti:
BatchSize: La dimensione massima del batch per cui verrà inviato a Timestream. LiveAnalytics Intervallo: 0 - 100. Si consiglia di mantenere questo valore su 100 per ottenere la massima produttività.
MaximumBatchingWindowInSeconds: Il tempo massimo di attesa per il riempimento batchSize prima che il batch venga inviato a Timestream per la destinazione. LiveAnalytics A seconda della frequenza degli eventi in arrivo, questa configurazione determinerà il ritardo di inserimento. Si consiglia di mantenere questo valore < 10 secondi per continuare a inviare i dati quasi in tempo reale. Timestream
ParallelizationFactor: il numero di batch da elaborare contemporaneamente da ogni shard. Si consiglia di utilizzare il valore massimo di 10 per ottenere la massima produttività e un'ingestione quasi in tempo reale.
Se lo stream viene letto da più destinatari, utilizza il fan-out avanzato per fornire un pubblico dedicato alla tua pipe e ottenere un throughput elevato. Per ulteriori informazioni, consulta la sezione Sviluppo di utenti con fan-out avanzati nella Guida per l' Kinesis Data Streams APIutente.Kinesis Data Streams
Nota
Il throughput massimo che può essere raggiunto è limitato dalle esecuzioni simultanee di pipe per account.
La seguente configurazione garantisce la prevenzione della perdita di dati:
DeadLetterConfig: Si consiglia di eseguire sempre la configurazione DeadLetterConfig in modo da evitare qualsiasi perdita di dati nei casi in cui gli eventi non possano essere importati in Timestream a LiveAnalytics causa di errori dell'utente.
Ottimizza le prestazioni della tua pipe con le seguenti impostazioni di configurazione, che aiutano a evitare che i record causino rallentamenti o blocchi.
MaximumRecordAgeInSeconds: I record più vecchi di questo non verranno elaborati e verranno spostati direttamente in. DLQ Si consiglia di impostare questo valore in modo che non sia superiore al periodo di conservazione dell'archivio di memoria configurato per la Timestream tabella di destinazione.
MaximumRetryAttempts: Il numero di tentativi di riprovare un record prima che il record venga inviato a DeadLetterQueue. Si consiglia di configurarlo a 10. Questo dovrebbe aiutare a risolvere eventuali problemi temporanei e, in caso di problemi persistenti, il record verrà spostato DeadLetterQueue e sbloccato nel resto dello stream.
OnPartialBatchItemFailure: Per le fonti che supportano l'elaborazione parziale in batch, consigliamo di abilitarla e configurarla come AUTOMATIC _ BISECT per riprovare ulteriormente i record non riusciti prima di eliminare/inviarli a. DLQ
Esempio di configurazione
Ecco un esempio di come configurare un EventBridge Pipe per lo streaming di dati da un flusso Kinesis a una Timestream tabella:
Esempio IAM aggiornamenti delle politiche per Timestream
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "timestream:WriteRecords" ], "Resource": [ "arn:aws:timestream:us-east-1:123456789012:database/my-database/table/my-table" ] }, { "Effect": "Allow", "Action": [ "timestream:DescribeEndpoints" ], "Resource": "*" } ] }
Esempio Configurazione del flusso Kinesis
{ "Source": "arn:aws:kinesis:us-east-1:123456789012:stream/my-kinesis-stream", "SourceParameters": { "KinesisStreamParameters": { "BatchSize": 100, "DeadLetterConfig": { "Arn": "arn:aws:sqs:us-east-1:123456789012:my-sqs-queue" }, "MaximumBatchingWindowInSeconds": 5, "MaximumRecordAgeInSeconds": 1800, "MaximumRetryAttempts": 10, "StartingPosition": "LATEST", "OnPartialBatchItemFailure": "AUTOMATIC_BISECT" } } }
Esempio Timestream configurazione del target
{ "Target": "arn:aws:timestream:us-east-1:123456789012:database/my-database/table/my-table", "TargetParameters": { "TimestreamParameters": { "DimensionMappings": [ { "DimensionName": "sensor_id", "DimensionValue": "$.data.device_id", "DimensionValueType": "VARCHAR" }, { "DimensionName": "sensor_type", "DimensionValue": "$.data.sensor_type", "DimensionValueType": "VARCHAR" }, { "DimensionName": "sensor_location", "DimensionValue": "$.data.sensor_loc", "DimensionValueType": "VARCHAR" } ], "MultiMeasureMappings": [ { "MultiMeasureName": "readings", "MultiMeasureAttributeMappings": [ { "MultiMeasureAttributeName": "temperature", "MeasureValue": "$.data.temperature", "MeasureValueType": "DOUBLE" }, { "MultiMeasureAttributeName": "humidity", "MeasureValue": "$.data.humidity", "MeasureValueType": "DOUBLE" }, { "MultiMeasureAttributeName": "pressure", "MeasureValue": "$.data.pressure", "MeasureValueType": "DOUBLE" } ] } ], "SingleMeasureMappings": [], "TimeFieldType": "TIMESTAMP_FORMAT", "TimestampFormat": "yyyy-MM-dd HH:mm:ss.SSS", "TimeValue": "$.data.time", "VersionValue": "$.approximateArrivalTimestamp" } } }
trasformazione degli eventi
EventBridge Le pipe ti consentono di trasformare i dati prima che arrivino. TimestreamÈ possibile definire regole di trasformazione per modificare i Kinesis record in entrata, ad esempio cambiare i nomi dei campi.
Supponiamo che lo Kinesis stream contenga dati di temperatura e umidità. Puoi utilizzare una EventBridge trasformazione per rinominare questi campi prima di inserirli. Timestream
Best practice
Batching e buffering
Configura la finestra e le dimensioni del batch per bilanciare la latenza di scrittura e l'efficienza di elaborazione.
Utilizzate una finestra di batch per accumulare una quantità sufficiente di dati prima dell'elaborazione, riducendo il sovraccarico dovuto alla frequente presenza di piccoli batch.
Elaborazione parallela
Utilizzate l'ParallelizationFactorimpostazione per aumentare la concorrenza, in particolare per i flussi ad alta velocità. Ciò garantisce che più batch di ogni frammento possano essere elaborati contemporaneamente.
Trasformazione dei dati
Sfrutta le capacità di trasformazione di EventBridge Pipes per filtrare e migliorare i record prima di archiviarli. Timestream Questo può aiutare ad allineare i dati ai requisiti analitici.
Sicurezza
Assicuratevi che i IAM ruoli utilizzati per EventBridge Pipes dispongano delle autorizzazioni necessarie per leggere Kinesis e scrivere. Timestream
Utilizza misure di crittografia e controllo degli accessi per proteggere i dati in transito e a riposo.
Errori di debug
-
Disattivazione automatica delle tubazioni
Le pipe verranno disattivate automaticamente in circa 2 ore se la destinazione non esiste o presenta problemi di autorizzazione
-
Throttles
I tubi hanno la capacità di spegnersi automaticamente e riprovare fino a quando l'acceleratore non si riduce.
-
Abilitazione dei registri
Ti consigliamo di abilitare i log a ERROR livello e includere i dati di esecuzione per ottenere maggiori informazioni sugli errori. In caso di errore, questi registri request/response sent/received conterranno from. Timestream Questo aiuta a comprendere l'errore associato e, se necessario, a rielaborare i record dopo averlo corretto.
Monitoraggio
Ti consigliamo di impostare allarmi su quanto segue per rilevare eventuali problemi con il flusso di dati:
Età massima del record nella fonte
GetRecords.IteratorAgeMilliseconds
Metriche dei guasti in Pipes
ExecutionFailed
TargetStageFailed
Timestream Errori di scrittura API
UserErrors
Per ulteriori metriche di monitoraggio, consulta Monitoraggio EventBridge nella Guida per l'EventBridge utente.