

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# aws-キネシスストリーム-gluejob
<a name="aws-kinesisstreams-gluejob"></a>

![](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


 すべてのクラスは積極的に開発されており、将来のバージョンでは下位互換性がない変更または削除の対象となります。これらは、[セマンティックバージョン管理](https://semver.org/)モデル。つまり、これらのパッケージを使用するかもしれませんが、このパッケージの新しいバージョンにアップグレードするときにソースコードを更新する必要があるかもしれません。

**注意:** 正しく機能するためには、プロジェクト内の AWS ソリューション構築パッケージと AWS CDK パッケージが同じバージョンである必要があります。


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\_solutions\_constructs.aws\_kinesis\_streams\_gluejob  | 
|  ![](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisstreams-gluejob  | 
|  ![](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisstreamsgluejob  | 

## Overview
<a name="overview-40"></a>

 この 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
<a name="initializer-40"></a>

```
new KinesisstreamsToGluejob(scope: Construct, id: string, props: KinesisstreamsToGluejobProps);
```

 *パラメータ* 
+  scope[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`KinesisstreamsToGluejobProps`](#pattern-construct-props-40) 

## パターン構成プロパティ
<a name="pattern-construct-props-40"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  KinesisStreamProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html)  |  Amazon Kinesis データストリームのデフォルトの小道具を上書きする、オプションのユーザー提供の小道具です。 | 
|  ExistingStreamObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Kinesis ストリームの既存のインスタンスで、これとkinesisStreamPropsエラーを発生させます。 | 
|  GlueJobProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJobProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJobProps.html)  |  AWS Glue ジョブのデフォルトの小道具を上書きするユーザー提供の小道具です。 | 
|  ExistingGlueJob？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJob.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJob.html)  |  AWS Glue Job 既存のインスタンス。これとglueJobPropsエラーを発生させます。 | 
|  既存のデータベース? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnDatabase.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnDatabase.html)  |  この構造体で使用する既存の AWS Glue データベース。これが設定されている場合、databasePropsは無視されます。 | 
|  databaseProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnDatabaseProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnDatabaseProps.html)  |  AWS Glue データベースの作成に使用されるデフォルトの小道具を上書きするユーザー提供の小道具です。 | 
|  ExistingTable? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTable.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTable.html)  |  AWS Glue テーブルの既存のインスタンス。これが設定されている場合、tablePropsおよびfieldSchemaは無視されます。 | 
|  TableProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTableProps.html)  |  AWS Glue テーブルの作成に使用されるデフォルトの小道具を上書きするユーザー提供の小道具です。 | 
|  フィールドスキーマ? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTable.ColumnProperty.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTable.ColumnProperty.html)  |  AWS Glue テーブルを作成するためのユーザー指定のスキーマ構造。 | 
|  出力データストア？  |  [https://github.com/awslabs/aws-solutions-constructs/blob/3fd15e984943fe295690d8b0654d77157ffda8e3/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob/README.md#sinkdatastoreprops](https://github.com/awslabs/aws-solutions-constructs/blob/3fd15e984943fe295690d8b0654d77157ffda8e3/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob/README.md#sinkdatastoreprops)  |  AWS Glue ジョブからの出力を格納する Amazon S3 バケットのユーザー提供の小道具。現時点では、出力データストアタイプとして Amazon S3 のみをサポートしています。 | 

## SinkDataStoreProps
<a name="sink-properties-40"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  existings3outputBucket？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  データを書き込む必要のある S3 バケットの既存のインスタンス。これとoutputBucketPropsエラーを発生させます。 | 
|  出力バケットプロップ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  AWS Glue ジョブからの出力を保存するために使用する Amazon S3 バケットを作成するためのユーザー指定のバケットプロパティ。 | 
|  データストアタイプ  |  [https://github.com/awslabs/aws-solutions-constructs/blob/3fd15e984943fe295690d8b0654d77157ffda8e3/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob/README.md#sinkstoretype](https://github.com/awslabs/aws-solutions-constructs/blob/3fd15e984943fe295690d8b0654d77157ffda8e3/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob/README.md#sinkstoretype)  |  シンクデータストアタイプ。 | 

## SinkStoreType
<a name="sink-type-40"></a>

S3、DynamoDB、DocumentDB、RDS、または Redshift を含むデータストア型の列挙。現在の構造体実装は S3 のみをサポートしていますが、将来他の出力タイプを追加する可能性があります。


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  S3  |  string  |  S3 ストレージタイプ  | 

## デフォルト設定
<a name="default-settings-40"></a>

 オーバーライドなしでこのパターンをすぐに実装すると、次のデフォルトが設定されます。

### Amazon Kinesis Stream
<a name="w23aab9d115c29b5"></a>
+  Amazon Kinesis データストリームの最小権限アクセス IAM ロールを設定します。
+  AWS マネージド KMS キーを使用して、Amazon Kinesis Stream のサーバー側の暗号化を有効にします。
+  Amazon Kinesis ストリームにベストプラクティスの Amazon CloudWatch アラームをデプロイします。

### Glue Job
<a name="w23aab9d115c29b7"></a>
+  CloudWatch、Job ブックマーク、S3 の暗号化を設定する AWS Glue セキュリティ設定を作成します。CloudWatch とJob ブックマークは、AWS AWS Glue サービス用に作成された AWS マネージド KMS キーを使用して暗号化されます。S3 バケットは SSE-S3 暗号化モードで設定されます。
+  AWS Glue が Amazon Kinesis Data Streams の読み取りを許可するサービスロールポリシーを設定します。

### Glue データベース
<a name="w23aab9d115c29b9"></a>
+  AWS Glue データベースを作成します。AWS Glue テーブルがデータベースに追加されます。このテーブルは、Amazon Kinesis データストリームでバッファされるレコードのスキーマを定義します。

### Glue テーブル
<a name="w23aab9d115c29c11"></a>
+  AWS Glue テーブルを作成します。テーブルスキーマ定義は、Amazon Kinesis データストリームにバッファされるレコードの JSON 構造に基づいています。

### IAM ロール
<a name="w23aab9d115c29c13"></a>
+  1) Amazon S3 バケットの場所から ETL スクリプトを読み込む、2) Amazon Kinesis データストリームからレコードを読み込む、3) Amazon Glue ジョブを実行する権限を持つジョブ実行ロール。

### 出力 S3 バケット
<a name="w23aab9d115c29c15"></a>
+  ETL 変換のアウトプットを保存する Amazon S3 バケット。このバケットは、作成された AWS Glue ジョブに引数として渡され、ETL スクリプトでデータを書き込むために使用できます。

## Architecture
<a name="architecture-40"></a>

![](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-kinesisstreams-gluejob.png)


## GitHub
<a name="github-40"></a>


<table>
<thead>
  <tr><th colspan="2"> このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。 </th></tr>
</thead>
<tbody>
  <tr><td> ![](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png) </td><td> [@aws-solutions-構築/aws-kinesistreams-gluejob](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob) </td></tr>
</tbody>
</table>
