AWS-키네시스스트림-접착제 작업 - AWS 솔루션 구성체

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS-키네시스스트림-접착제 작업

모든 클래스는 활발히 개발 중이며 향후 버전에서 이전 버전과 호환되지 않는 변경 또는 제거 될 수 있습니다. 이들은 적용되지 않습니다의미 체계 버전모델을 선택합니다. 즉, 이 패키지를 사용할 수도 있지만 이 패키지의 최신 버전으로 업그레이드할 때 소스 코드를 업데이트해야 할 수도 있습니다.

참고: 적절한 기능을 보장하려면 프로젝트의 AWS 솔루션 구성 패키지와 AWS CDK 패키지가 동일한 버전이어야 합니다.

언어 패키지
Python
aws_solutions_constructs.aws_kinesis_streams_gluejob
타이프 스크립트
@aws-solutions-constructs/aws-kinesisstreams-gluejob
Java
software.amazon.awsconstructs.services.kinesisstreamsgluejob

Overview

이 AWS 솔루션 구성 요소는 Amazon Kinesis 데이터 스트림을 배포하고 상호 작용 및 보안을 위해 적절한 리소스/속성을 사용하여 사용자 지정 ETL 변환을 수행하도록 AWS Glue Job 구성합니다. 또한 AWS Glue Job 용 Python 스크립트를 업로드할 수 있는 Amazon S3 버킷을 생성합니다.

다음은 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);

파라미터

소품 패턴 구성

이름 유형 설명
키네시스스트림프롭스? kinesis.StreamProps Amazon Kinesis 데이터 스트림의 기본 소품을 무시하기 위한 사용자 제공 소품 (선택 사항)
기존스트리모브? kinesis.Stream Kinesis 스트림의 기존 인스턴스. 이 인스턴스와kinesisStreamProps오류가 발생합니다.
글루조프롭스? cfnJob.CfnJobProps AWS Glub 작업에 대한 기본 소품을 재정의하는 사용자 제공 소품입니다.
기존 글루 작업? cfnJob.CfnJob AWS Glue le Job 의 기존 인스턴스로, 이 인스턴스와glueJobProps오류가 발생합니다.
기존 데이터베이스? CfnDatabase 이 구문과 함께 사용할 기존 AWS Glue b 데이터베이스 이것이 설정되면databaseProps이 값은 무시됩니다.
데이터베이스Props? CfnDatabaseProps AWS Glub 데이터베이스를 생성하는 데 사용되는 기본 소품을 재정의하는 사용자 제공 소품입니다.
기존 테이블? CfnTable AWS Glue 테이블의 기존 인스턴스입니다. 이것이 설정되면tablePropsfieldSchema이 매개 변수는 무시됩니다.
테이블소품? CfnTableProps AWS Glub 테이블을 생성하는 데 사용되는 기본 소품을 재정의하는 사용자 제공 소품입니다.
필드스키마? CfnTable.ColumnProperty[] AWS Glue le 테이블을 생성하기 위한 사용자 제공 스키마 구조
데이터 저장소 출력 SinkDataStoreProps AWS Glue b 작업의 출력을 저장하는 Amazon S3 버킷에 대한 사용자가 제공한 소품입니다. 현재 Amazon S3 만 출력 데이터스토어 유형으로 지원합니다.

SinkDataStoreProps

이름 유형 설명
기존3출력 버킷? Bucket 데이터를 기록해야하는 S3 버킷의 기존 인스턴스입니다. 이 두 가지를 모두 제공outputBucketProps오류가 발생합니다.
출력버킷소품 BucketProps AWS Glue e의 출력을 저장하는 데 사용되는 Amazon S3 버킷을 만들 수 있는 사용자 제공 버킷 속성입니다.
데이터스토어 유형 SinkStoreType 싱크 데이터 저장소 유형입니다.

SinkStoreType

S3, DynamoDB, DocumentDB, RDS 또는 Redshift 포함할 수 있는 데이터 저장소 유형의 열거입니다. 현재 구문 구현은 S3 만 지원하지만 나중에 다른 출력 유형을 추가 할 수 있습니다.

이름 유형 설명
S3 string S3 스토리지 유형

기본 설정

재정의없이이 패턴을 즉시 구현하면 다음과 같은 기본값이 설정됩니다.

Amazon Kinesis Streams

  • Amazon Kinesis 데이터 스트림에 대한 최소 권한 액세스 IAM 역할을 구성합니다.

  • AWS 관리형 KMS 키를 사용하여 Amazon Kinesis 스트림에 대한 서버 측 암호화를 활성화합니다.

  • 아마존 Kinesis 스트림에 대한 모범 사례 아마존 CloudWatch 경보를 배포합니다.

GGlue y Job

  • CloudWatch, Job 북마크 및 S3에 대한 암호화를 구성하는 AWS Glue 보안 구성을 생성합니다. CloudWatch 및 Job 북마크는 AWS AWS Glue 서비스용으로 생성된 AWS 관리형 KMS 키를 사용하여 암호화됩니다. S3 버킷은 SSE-S3 암호화 모드로 구성됩니다.

  • Amazon Kinesis Data Streams es에서 AWS Glue e가 읽을 수 있도록 허용하는 서비스 역할 정책을 구성합니다.

GGlue e데이터베이스

  • AWS Glue 데이터베이스를 생성합니다. AWS Glue 테이블이 데이터베이스에 추가됩니다. 이 표에서는 Amazon Kinesis 데이터 스트림에서 버퍼링된 레코드에 대한 스키마를 정의합니다.

GGlue e테이블

  • AWS Glue 테이블을 만듭니다. 테이블 스키마 정의는 Amazon Kinesis 데이터 스트림에서 버퍼링된 레코드의 JSON 구조를 기반으로 합니다.

IAM 역할

  • 1) Amazon S3 버킷 위치에서 ETL 스크립트를 읽고, 2) Amazon Kinesis 데이터 스트림에서 레코드를 읽고, 3) Amazon Glue 루 작업을 실행할 수 있는 권한을 가진 작업 실행 역할입니다.

Output S3 Bucket

  • ETL 변환의 출력을 저장할 Amazon S3 버킷입니다. 이 버킷은 생성된 AWS Glue b 작업에 인수로 전달되므로 ETL 스크립트에서 데이터를 쓸 수 있습니다.

Architecture

GitHub

이 패턴의 코드를 보려면 문제 및 끌어오기 요청을 작성/조회하는 등의 작업을 수행합니다.
@aws -솔루션 - 구성/AWS - 키네시스스트림-접착제 작업