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à.
aws-kinesisstreams-colla
Tutte le classi sono in fase di sviluppo attivo e soggette a modifiche o rimozione non compatibili con le versioni precedenti in qualsiasi versione futura. Questi non sono soggetti allaIl controllo semantico delle versioni
Nota: Per garantire la corretta funzionalità, i pacchetti AWS Solutions Constructs e i pacchetti AWS CDK nel progetto devono essere della stessa versione.
| Linguaggio | Pacchetto |
|---|---|
|
aws_solutions_constructs.aws_kinesis_streams_gluejob
|
|
@aws-solutions-constructs/aws-kinesisstreams-gluejob
|
|
software.amazon.awsconstructs.services.kinesisstreamsgluejob
|
Overview
Questo Construct di soluzioni AWS distribuisce un flusso di dati Amazon Kinesis e configura un AWS Glue Job per eseguire la trasformazione ETL personalizzata con le risorse/proprietà appropriate per l'interazione e la sicurezza. Crea anche un bucket Amazon S3 in cui è possibile caricare lo script Python per AWS Glue Job.
Ecco una definizione di modello distribuibile minima in TypeScript:
import * as glue from '@aws-cdk/aws-glue'; import * as s3assets from '@aws-cdk/aws-s3-assets'; import { KinesisstreamsToGluejob } from '@aws-solutions-constructs/aws-kinesisstreams-gluejob'; const fieldSchema: glue.CfnTable.ColumnProperty[] = [ { name: 'id', type: 'int', comment: 'Identifier for the record', }, { name: 'name', type: 'string', comment: 'Name for the record', }, { name: 'address', type: 'string', comment: 'Address for the record', }, { name: 'value', type: 'int', comment: 'Value for the record', }, ]; const customEtlJob = new KinesisstreamsToGluejob(this, 'CustomETL', { glueJobProps: { command: { name: 'gluestreaming', pythonVersion: '3', scriptLocation: new s3assets.Asset(this, 'ScriptLocation', { path: `${__dirname}/../etl/transform.py`, }).s3ObjectUrl, }, }, fieldSchema: fieldSchema, });
Initializer
new KinesisstreamsToGluejob(scope: Construct, id: string, props: KinesisstreamsToGluejobProps);
Parametri
-
scope
Construct -
id
string
Puntelli di costruzione del modello
| Nome | Tipo | Descrizione |
|---|---|---|
| KinesisStreamProps? |
kinesis.StreamProps
|
Accessori di scena facoltativi forniti dall'utente per ignorare gli oggetti di scena predefiniti per il flusso di dati Amazon Kinesis. |
| Streamobj esistenteBJ? |
kinesis.Stream
|
Istanza esistente di Kinesis Stream, fornendo sia questo chekinesisStreamPropscauserà un errore. |
| GluejobProps? |
cfnJob.CfnJobProps
|
Gli oggetti di scena forniti dall'utente per sovrascrivere gli oggetti di scena predefiniti per il processo AWS Glue. |
| EsistingGluejob? |
cfnJob.CfnJob
|
Istanza esistente di AWS Glue Job, fornendo sia questo cheglueJobPropscauserà un errore. |
| Database esistente? |
CfnDatabase
|
Database AWS Glue esistente da utilizzare con questo costrutto. Se questo è impostato, alloradatabasePropsViene ignorato. |
| DatabaseProps? |
CfnDatabaseProps
|
Gli oggetti di scena forniti dall'utente per sovrascrivere gli oggetti di scena predefiniti utilizzati per creare il database AWS Glue. |
| Tabella esistente? |
CfnTable
|
Istanza esistente della tabella AWS Glue. Se questo è impostato, alloratablePropsefieldSchemaVengono ignorati. |
| TableProps? |
CfnTableProps
|
Gli oggetti di scena forniti dall'utente per sovrascrivere gli oggetti di scena predefiniti utilizzati per creare una tabella AWS Glue. |
| Schema di campo? |
CfnTable.ColumnProperty[]
|
Struttura dello schema fornita dall'utente per creare una tabella AWS Glue. |
| OutputDataStore? |
SinkDataStoreProps |
Puntelli forniti dall'utente per un bucket Amazon S3 che memorizza l'output dal lavoro AWS Glue. Attualmente supporta solo Amazon S3 come tipo di datastore di output. |
SinkDataStoreProps
| Nome | Tipo | Descrizione |
|---|---|---|
| Existings3OutputBucket? |
Bucket
|
Istanza esistente del bucket S3 in cui i dati devono essere scritti. Fornire sia questo cheoutputBucketPropscauserà un errore. |
| OutputBucketProps |
BucketProps
|
Proprietà bucket fornite dall'utente per creare il bucket Amazon S3 utilizzato per memorizzare l'output dal processo AWS Glue. |
| DataStoreType |
SinkStoreType |
Tipo di archivio dati sink. |
SinkStoreType
Enumerazione dei tipi di Data Store che possono includere S3, DynamoDB, DocumentDB, RDS o Redshift. L'implementazione corrente del costrutto supporta solo S3, ma potrebbe aggiungere altri tipi di output in futuro.
| Nome | Tipo | Descrizione |
|---|---|---|
| S3 |
string
|
Tipo di storage S3 |
Impostazioni predefinite
L'implementazione predefinita di questo modello senza sostituzioni imposterà i seguenti valori predefiniti:
Amazon Kinesis Streams
-
Configurare il ruolo IAM di accesso con privilegi minimi per il flusso di dati Amazon Kinesis.
-
Abilita la crittografia lato server per Amazon Kinesis Stream utilizzando una chiave AWS Managed KMS.
-
Distribuisci le best practice di Amazon CloudWatch Allarmi per Amazon Kinesis Stream.
Glue Job
-
Crea una configurazione di sicurezza AWS Glue che configura la crittografia per CloudWatch, Job Bookmarks e S3. CloudWatch e Job Bookmarks sono crittografati utilizzando AWS Managed KMS Key creata per AWS Glue Service. Il bucket S3 è configurato con la modalità di crittografia SSE-S3.
-
Configurare i criteri di ruolo del servizio che consentono a AWS Glue di leggere da Amazon Kinesis Data Streams.
Glue Database
-
Creare un database AWS Glue. Una tabella AWS Glue verrà aggiunta al database. Questa tabella definisce lo schema per i record memorizzati nel flusso di dati Amazon Kinesis.
Glue Tabella
-
Creare una tabella AWS Glue. La definizione dello schema della tabella si basa sulla struttura JSON dei record memorizzati nel flusso di dati Amazon Kinesis.
Ruolo IAM
-
Ruolo di esecuzione del processo che dispone dei privilegi per 1) leggere lo script ETL dalla posizione del bucket Amazon S3, 2) leggere i record dal flusso di dati Amazon Kinesis e 3) eseguire il processo Amazon Glue.
Perlue di output
-
Un bucket Amazon S3 in cui archiviare l'output della trasformazione ETL. Questo bucket verrà passato come argomento al lavoro AWS Glue creato in modo che possa essere utilizzato nello script ETL per scrivere dati in esso.
Architecture
GitHub
| Per visualizzare il codice per questo modello, creare/visualizzare problemi e richieste pull e altro ancora: | |
|---|---|
|
@aws -solutions-constructs/aws-kinesisstreams-gluejob |