

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

# API リファレンス
<a name="api-reference"></a>

 AWS Solutions Constructs（Constructs）は、AWS Cloud Development Kit（AWS CDK）のオープンソースの拡張機能で、マルチサービスの優れたアーキテクチャパターンを提供し、コード内でソリューションを迅速に定義し、予測可能で反復可能なインフラストラクチャを作成します。Constructsの目標は、開発者がアーキテクチャのパターンベースの定義を使用して任意のサイズのソリューションを構築するためのエクスペリエンスを加速することです。

 Constructs で定義されるパターンは、高度な AWS CDK コンストラクトのマルチサービス抽象化であり、適切に設計されたベストプラクティスに基づくデフォルト設定を持ちます。ライブラリは、各アーキテクチャパターンモデルを作成するためのオブジェクト指向技術を使用して論理モジュールに編成されています。

 CDK は次の言語で利用可能です。
+  JavaScript, TypeScript (Node.js ≥ 10.3.0) 
+  Python (Python ≥ 3.6) 
+ Java (Java ≥ 1.8)

## Modules
<a name="modules"></a>

 AWS ソリューション構成は、いくつかのモジュールで構成されています。彼らは次のように命名されています：
+  **aws-xxx**: 示されたサービスのためのよく設計されたパターンパッケージ。このパッケージには、指定されたパターンを設定するための複数の AWS CDK サービスモジュールを含むコンストラクトが含まれます。
+  **xxx**: 起動しないパッケージ」**aws**「は、パターンライブラリ内で使用されるサービスのベストプラクティスのデフォルトを設定するために使用されるコアモジュールを構築します。

## Module の内容
<a name="module-contents"></a>

 Module には、次のタイプが含まれています。
+  **パターン**-このライブラリ内のすべての上位レベル、マルチサービス構造。
+  **その他のタイプ**-パターンをサポートするために存在するすべての非構造クラス、インタフェース、構造体および列挙型。

 パターンはコンストラクタ内の（入力）プロパティのセットを取ります。プロパティのセット（および必要なもの）は、パターンのドキュメントページで見ることができます。

 パターンのドキュメントページには、呼び出し可能なメソッドと、インスタンス化後にパターンに関する情報を取得するために使用できるプロパティもリストされています。

# aws-apigateway-ダイナモッド
<a name="aws-apigateway-dynamodb"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaydynamodb  | 

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

 この AWS ソリューション構築物は、Amazon DynamoDB テーブルに接続された Amazon API Gateway REST API を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { ApiGatewayToDynamoDBProps, ApiGatewayToDynamoDB } from "@aws-solutions-constructs/aws-apigateway-dynamodb";

new ApiGatewayToDynamoDB(this, 'test-api-gateway-dynamodb-default', {});
```

## Initializer
<a name="initializer"></a>

```
new ApiGatewayToDynamoDB(scope: Construct, id: string, props: ApiGatewayToDynamoDBProps);
```

 *パラメータ* 
+  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[`ApiGatewayToDynamoDBProps`](#pattern-construct-props) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ダイナモテーブル  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  DynamoDB テーブルのデフォルトの小道具をオーバーライドするオプションのユーザー提供の小道具です  | 
|  ApigateWayProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  API Gateway のデフォルトの小道具を上書きするオプションのユーザー提供の小道具です。 | 
|  作成操作の許可  |  boolean  |  DynamoDB テーブルで Create オペレーションの API Gateway メソッドをデプロイするかどうか。 | 
|  リクエストテンプレートの作成  |  string  |  作成メソッドの API Gateway 要求テンプレート。AllowCreateOperation が true に設定されている場合に必要です  | 
|  読み取り操作を許可  |  boolean  |  DynamoDB テーブルで API Gateway の読み取り操作メソッドをデプロイするかどうか。 | 
|  更新操作の許可  |  boolean  |  DynamoDB テーブルで、更新用の API Gateway メソッドをデプロイするかどうか。 | 
|  更新要求テンプレート  |  string  |  更新メソッドの API Gateway 要求テンプレート。AllowUpdateOperation が true に設定されている場合に必要  | 
|  削除操作の許可  |  boolean  |  DynamoDB テーブルで、削除操作の API Gateway メソッドをデプロイするかどうか。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルト小道具を上書きする、オプションのユーザー指定の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 
|  APIGatewayクラウドウォッチロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 | 
|  APIGateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API のパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  ダイナモテーブル  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  パターンによって作成された DynamoDB テーブルのインスタンスを返します。 | 

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

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

### Amazon API Gateway
<a name="amazon-api-gateway"></a>
+  エッジ最適化 API エンドポイントのデプロイ 
+  API Gateway での CloudWatch によるロギングを有効にする 
+  API Gateway の最小権限アクセス IAM ロールを設定する 
+  すべての API メソッドのデフォルトの authorizationType を IAM に設定する 
+  X-Ray トレースを有効にする

### Amazon DynamoDB テーブル
<a name="amazon-dynamodb-table"></a>
+  DynamoDB テーブルの請求モードをオンデマンドに設定する（リクエストごとの支払い） 
+  AWS マネージド KMS キーを使用した DynamoDB テーブルのサーバー側の暗号化の有効化 
+  DynamoDB テーブルの 'id' という名前のパーティションキーを作成します。
+  CloudFormation スタックを削除するときにテーブルを保持する 
+  継続的なバックアップおよびポイントインタイムリカバリを有効にします 

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

![\[Diagram showing data flow from code to database, with security and cloud search components.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-apigateway-dynamodb.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-apigateway-dynamodb](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-dynamodb)  | 

# aws-apigateway-IoT
<a name="aws-apigateway-iot"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1iot  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-iot  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewayiot  | 

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

 この AWS ソリューション構築物は、AWS IoT パターンに接続された Amazon API Gateway REST API を実装します。

 この構造体は、API Gateway と AWS IoT の間にスケーラブルな HTTPS プロキシを作成します。これは、MQTT または MQTT/WebSocket プロトコルをサポートしていないレガシーデバイスが AWS IoT プラットフォームと対話できるようにする場合に便利です。

 この実装により、特定の MQTT トピックに書き込み専用メッセージが公開されるようになります。また、デバイスレジストリーで許可されているものに対する HTTPS デバイスのシャドウ更新もサポートされます。これは、メッセージをプロキシするための Lambda 関数を必要とせず、JSON メッセージとバイナリメッセージの両方をサポートする直接 API Gateway から AWS IoT 統合に依存しています。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { ApiGatewayToIot } from '@aws-solutions-constructs/aws-apigateway-iot';

new ApiGatewayToIot(this, 'ApiGatewayToIotPattern', {
    iotEndpoint: 'a1234567890123-ats'
});
```

## Initializer
<a name="initializer-32"></a>

```
new ApiGatewayToIot(scope: Construct, id: string, props: ApiGatewayToIotProps);
```

 *パラメータ* 
+  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[`ApiGatewayToIotProps`](#pattern-construct-props-32) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  IOTendPoint  |  string  |  API Gateway を統合する AWS IoT エンドポイントサブドメイン（a1234567890123-ats など）。 | 
|  APIGateWayCreateApiKey？  |  boolean  |  がに設定されている場合trueをクリックすると、API キーが作成され、UsagePlan に関連付けられます。RestApi にアクセスしている間、ユーザーは`x-api-key`ヘッダを指定する必要があります。デフォルト値はfalse。 | 
|  ApigateWayExecutionRole？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  AWS IoT にアクセスするために API Gateway によって使用される IAM ロール。指定しない場合、すべてのトピックと Thing へのワイルドカード ('\$1') アクセス権を持つデフォルトのロールが作成されます。 | 
|  ApigateWayProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  API Gateway REST API のデフォルトの小道具をオーバーライドするオプションのユーザー提供の小道具です。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルトプロップを上書きする、オプションのユーザー指定のプロップ。 | 

## パターンプロパティ
<a name="pattern-properties-32"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 
|  APIGatewayクラウドウォッチロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 | 
|  APIGateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API のパターンによって作成された IAM ロールのインスタンスを返します。 | 

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

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

### Amazon API Gateway
<a name="amazon-api-gateway-32"></a>
+  エッジ最適化 API エンドポイントのデプロイ 
+  API リソースを`POST`IoT トピックにメッセージを発行する方法 
+  API リソースを`POST`メッセージの発行方法`ThingShadow`および`NamedShadows` 
+  API Gateway での CloudWatch ロギングを有効にする 
+  すべてのトピックと Thing にアクセスできる API Gateway の IAM ロールを設定する 
+  すべての API メソッドのデフォルトの authorizationType を IAM に設定する 
+  X-Ray トレースを有効にする 
+  UsagePlan を作成し、`prod`stage 

 以下は、コンストラクトのデプロイ後に API Gateway によって公開されるさまざまなリソースとメソッドの説明です。フレームワークの使用の詳細については、[例](#examples-32)を使用してこれらのエンドポイントを簡単にテストする方法の詳細については、`curl`。


|  **方法**  |  **リソース**  |  **クエリーパラメータ**  |  **戻りコード**  |  **説明**  | 
| --- | --- | --- | --- | --- | 
|  POST  |  /message/<topics>  |  qos  |  200/403/500  |  このエンドポイントを呼び出すことで、公開したいトピックを渡す必要があります（例：`/message/device/foo`)。 | 
|  POST  |  /shadow/<thingName>  |  なし  |  200/403/500  |  このルートは、Thing のシャドードキュメントを更新することを可能にします。thingName名前のない (クラシック) シャドウタイプを使用 ボディは、構成する標準的な影の漆喰を遵守しなければならないstateノードおよび関連するdesiredおよびreportedノード フレームワークの使用の詳細については、[デバイスシャドウの更新](#updating-device-shadows-32)例については、セクションを参照ください。 | 
|  POST  |  /shadow/<thingName>/<shadowName>  |  なし  |  200/403/500  |  このルートは、Thing の名前付きシャドードキュメントを更新することを可能にします。thingNameとshadowName[名前の付いたシャドウ] タイプを使用します。ボディは、構成する標準的な影の漆喰を遵守しなければならないstateノードおよび関連するdesiredおよびreportedノード フレームワークの使用の詳細については、[名前の付いたシャドウの更新](#updating-named-shadows-32)例については、セクションを参照ください。 | 

## Architecture
<a name="w23aab9c23c21"></a>

![\[IoT architecture diagram showing device, API Gateway, IoT Core, and related components.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-apigateway-iot.png)


## Examples
<a name="examples-32"></a>

以下の例は、でのみ機能します。`API_KEY`認証タイプを使用する場合、IAM 認証では Sigv4 トークンも指定する必要があるため、`apiGatewayCreateApiKey`プロパティが`true`を呼び出す必要があります。そうしないと、以下の例は機能しません。

### メッセージの発行
<a name="publishing-a-message-32"></a>

次は、使用できます。`curl`を使用して、HTTPS API を使用して異なる MQTT トピックにメッセージを公開します。以下の例では、上のメッセージを投稿します`device/foo`トピック。

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/message/device/foo -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"Hello": "World"}'
```

注意: 置き換え`stage-id`,`region`, および`api-key`パラメーターをデプロイメント値に置き換えます。

URL でトピック名を連結できます。API では、公開できるサブトピックが最大 7 つまで受け付けられます。例えば、以下の例では、トピックにメッセージをパブリッシュします`device/foo/bar/abc/xyz`。

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/message/device/foo/bar/abc/xyz -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"Hello": "World"}'
```

### デバイスシャドウの更新
<a name="updating-device-shadows-32"></a>

特定の Thing に関連付けられているシャドウドキュメントを更新するには、Thing 名を使用してシャドウステートリクエストを発行します。Thing Shadow を更新する方法の例を参照ください。

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/shadow/device1 -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"state": {"desired": { "Hello": "World" }}}'
```

### 名前の付いたシャドウの更新
<a name="updating-named-shadows-32"></a>

特定の Thing の名前付き shadow に関連付けられたシャドウドキュメントを更新するには、Thing 名とシャドウ名を使用してシャドウ状態リクエストを発行します。名前付きシャドウを更新する方法については、次の例を参照してください。

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/shadow/device1/shadow1 -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"state": {"desired": { "Hello": "World" }}}'
```

### バイナリペイロードの送信
<a name="sending-binary-payloads-32"></a>

バイナリペイロードをプロキシ API に送信し、AWS IoT サービスに送信することができます。次の例では、コンテンツを送信する`README.md`ファイル (バイナリデータとして扱われる) を`device/foo`を使用して、`application/octet-stream`コンテンツタイプ。

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/message/device/foo/bar/baz/qux -H "x-api-key: <api-key>" -H "Content-Type: application/octet-stream" --data-binary @README.md
```

 注意: このコマンドをこのプロジェクトのディレクトリで実行します。その後、ファイルシステムから他のタイプのバイナリファイルの送信をテストできます。

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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-apigateway-IoT](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-iot)  | 

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

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1kinesisstreams  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-kinesisstreams  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaykinesisstreams  | 

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

 このパターンは、Amazon Kinesis データストリームに接続された Amazon API Gateway REST API を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { ApiGatewayToKinesisStreams, ApiGatewayToKinesisStreamsProps } from '@aws-solutions-constructs/aws-apigateway-kinesisstreams';

new ApiGatewayToKinesisStreams(this, 'test-apigw-kinesis', {});
```

## Initializer
<a name="initializer-29"></a>

```
new ApiGatewayToKinesisStreams(scope: Construct, id: string, props: ApiGatewayToKinesisStreamsProps);
```

 *パラメータ* 
+  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[`ApiGatewayToKinesisStreamsProps`](#pattern-construct-props-29) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ApigateWayProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  API Gateway REST API のデフォルトの小道具をオーバーライドするオプションのユーザー提供の小道具です。 | 
|  putRecordRequestTemplate? |  string  |  PutRecord アクションの API Gateway 要求テンプレート。指定されていない場合は、デフォルトのものが使用されます。 | 
|  putRecordRequestModel？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html)  |  PutRecord アクションの API Gateway 要求モデル。指定されていない場合は、デフォルトのものが作成されます。 | 
|  PutRecordsRequestTemplate? |  string  |  PutRecords アクションの API Gateway 要求テンプレート。指定されていない場合は、デフォルトのものが使用されます。 | 
|  putRecordRequestModel？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html)  |  PutRecords アクションの API Gateway 要求モデル。指定されていない場合は、デフォルトのものが作成されます。 | 
|  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はエラーを発生させます。 | 
|  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)  |  Kinesis ストリームのデフォルトのプロップを上書きするオプションのユーザー指定のプロップ。 | 
|  LogGroupPropsかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルトの小道具を上書きする、オプションのユーザー指定の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-29"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 
|  APIGateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API のパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGatewayクラウドウォッチロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 | 
|  KinesisStream  |  [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 ストリームのインスタンスを返します。 | 

## API の使用例
<a name="sample-api-usage"></a>


|  **方法**  |  **リクエストパス**  |  **リクエストボディ**  |  **キューアクション**  |  **説明**  | 
| --- | --- | --- | --- | --- | 
|  POST  |  /record  |  <pre>{ <br />  "data": "Hello World!", <br />  "partitionKey": "pk001"<br />}</pre>  |  kinesis:PutRecord  |  1 つのデータレコードをストリームに書き込みます。 | 
|  POST  |  /records  |  <pre>{ <br />    "records": [<br />      { "data": "abc", <br />        "partitionKey": "pk001" <br />      }, <br />      { "data": "xyz", <br />        "partitionKey": "pk001" <br />      }<br />     ] <br />}</pre>  |  kinesis:PutRecords  |  1 回の呼び出しで複数のデータレコードをストリームに書き込みます。 | 

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

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

### Amazon API Gateway
<a name="amazon-api-gateway-29"></a>
+  エッジ最適化 API エンドポイントをデプロイする。
+  API Gateway の CloudWatch ロギングを有効にします。
+  API Gateway の最小権限アクセス IAM ロールを設定します。
+  すべての API メソッドのデフォルトの AuthorizationType を IAM に設定します。
+  X-Ray トレースを有効にします。
+  Kinesis にデータを渡す前にリクエスト本文を検証します。

### Amazon Kinesis Data Stream
<a name="amazon-sqs-queue"></a>
+  Kinesis ストリーム用の最小権限アクセス IAM ロールを設定します。
+  AWS マネージド KMS キーを使用して Kinesis Stream のサーバー側の暗号化を有効にします。

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

![\[Diagram showing data flow between cloud search, code analysis, and network components.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-apigateway-kinesisstreams.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-apigateway-kinesistreams](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-kinesisstreams)  | 

# aws-apigateway-ラムダ
<a name="aws-apigateway-lambda"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaylambda  | 

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

 この AWS ソリューション構築物は、AWS Lambda 関数に接続された Amazon API Gateway REST API を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { ApiGatewayToLambda } from '@aws-solutions-constructs/aws-apigateway-lambda';

new ApiGatewayToLambda(this, 'ApiGatewayToLambdaPattern', {
    lambdaFunctionProps: {
      runtime: lambda.Runtime.NODEJS_14_X,
      // This assumes a handler function in lib/lambda/index.js
      code: lambda.Code.fromAsset(`${__dirname}/lambda`),
      handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-1"></a>

```
new ApiGatewayToLambda(scope: Construct, id: string, props: ApiGatewayToLambdaProps);
```

 *パラメータ* 
+  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[`ApiGatewayToLambdaProps`](#pattern-construct-props-1) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjが提供される。 | 
|  ApigateWayProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  オプションのユーザ提供の小道具で、API のデフォルトの小道具をオーバーライドします。 | 
|  LogGroupPropsかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルト小道具を上書きする、オプションのユーザー提供の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-1"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  APIGatewayクラウドウォッチロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 

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

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

### Amazon API Gateway
<a name="amazon-api-gateway-1"></a>
+  エッジ最適化 API エンドポイントのデプロイ 
+  API Gateway での CloudWatch によるロギングの有効化 
+  API Gateway の最小権限アクセス IAM ロールを設定する 
+  すべての API メソッドのデフォルトの認証タイプを IAM に設定する 
+  X-Ray トレースを有効にする
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### AWS Lambda 関数
<a name="aws-lambda-function"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定する 
+  NodeJS Lambda 関数のキープアライブを使用して接続を再利用できるようにする 
+  X-Ray トレースを有効にする

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

![\[Diagram showing interaction between Amazon API Gateway, AWS Lambda, and Amazon CloudWatch with roles.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-apigateway-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-apigateway-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-lambda)  | 

# aws-apigateway-sagemakerendpoint
<a name="aws-apigateway-sagemakerendpoint"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaysagemakerendpoint  | 

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

 この AWS ソリューション構築物は、Amazon SageMaker エンドポイントに接続された Amazon API Gateway REST API を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { ApiGatewayToSageMakerEndpoint, ApiGatewayToSageMakerEndpointProps } from '@aws-solutions-constructs/aws-apigateway-sagemakerendpoint';

// Below is an example VTL (Velocity Template Language) mapping template for mapping the Api GET request to the Sagemaker POST request
const requestTemplate =
`{
    "instances": [
#set( $user_id = $input.params("user_id") )
#set( $items = $input.params("items") )
#foreach( $item in $items.split(",") )
    {"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end
    $esc.newline
#end
    ]
}`;

// Replace 'my-endpoint' with your Sagemaker Inference Endpoint
new ApiGatewayToSageMakerEndpoint(this, 'test-apigw-sagemakerendpoint', {
    endpointName: 'my-endpoint',
    resourcePath: '{user_id}',
    requestMappingTemplate: requestTemplate
});
```

## Initializer
<a name="initializer-33"></a>

```
new ApiGatewayToSageMakerEndpoint(scope: Construct, id: string, props: ApiGatewayToSageMakerEndpointProps);
```

 *パラメータ* 
+  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[`ApiGatewayToSageMakerEndpointProps`](#pattern-construct-props-33) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ApigateWayProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  API Gateway REST API のデフォルトの小道具をオーバーライドするオプションのユーザー提供の小道具です。 | 
|  ApigateWayExecutionRole？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  SageMaker エンドポイントを呼び出すために API Gateway で使用される IAM ロール。指定しない場合、デフォルトのロールはendpointName。 | 
|  EndpointName  |  string  |  デプロイされた SageMaker 推論エンドポイントの名前。 | 
|  resourceName  |  string  |  GET メソッドを使用できるオプションのリソース名。 | 
|  resourcePath  |  string  |  GET メソッドのリソースパス。ここで定義された変数はrequestMappingTemplate。 | 
|  リクエストMappingTemplate  |  string  |  REST API で受信した GET リクエストを SageMaker エンドポイントで期待される POST リクエストに変換するためのマッピングテンプレート。 | 
|  ResponseMappingTempl  |  string  |  SageMaker エンドポイントから受信した応答を変換するためのオプションのマッピングテンプレート。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルト小道具を上書きする、オプションのユーザー提供の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-33"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 
|  APIGateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API のパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGatewayクラウドウォッチロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 | 

## API の使用例
<a name="sample-api-usage"></a>

**注意:** 各 SageMaker エンドポイントは一意であり、API からの応答はデプロイされたモデルによって異なります。下記の例は、からのサンプルを想定しています[このブログ投稿](https://aws.amazon.com/blogs/machine-learning/creating-a-machine-learning-powered-rest-api-with-amazon-api-gateway-mapping-templates-and-amazon-sagemaker/)。それがどのように実装されるかについての参考文献については、[integ.apigateway-sagemakerendpoint-上書き.ts](https://github.com/awslabs/aws-solutions-constructs/blob/f02997ea4fa6515fc4429771d21821d2c26a8584/source/patterns/%40aws-solutions-constructs/aws-apigateway-sagemakerendpoint/test/integ.apigateway-sagemakerendpoint-overwrite.ts)。


|  **方法**  |  **リクエストパス**  |  **クエリ文字列**  |  **SageMaker アクション**  |  **説明**  | 
| --- | --- | --- | --- | --- | 
|  GET  |  /321  |  items=101,131,162  |  sagemaker:InvokeEndpoint  |  特定のユーザーとアイテムの予測を取得します。 | 

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

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

### Amazon API Gateway
<a name="amazon-api-gateway-33"></a>
+  エッジ最適化 API エンドポイントのデプロイ 
+  API Gateway での CloudWatch によるロギングの有効化 
+  API Gateway の最小権限アクセス IAM ロールを設定する 
+  すべての API メソッドのデフォルトの authorizationType を IAM に設定する 
+  X-Ray トレースを有効にする 
+  SageMaker にデータを渡す前にリクエストパラメータを検証する 

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

![\[Diagram showing Amazon CloudWatch, API Gateway, SageMaker endpoint, and IAM roles connections.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-apigateway-sagemakerendpoint.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-apigateway-sagemakerendpoint](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-sagemakerendpoint)  | 

# aws-apigateway-sqs
<a name="aws-apigateway-sqs"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaysqs  | 

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

 この AWS ソリューション構築物は、Amazon SQS キューに接続された Amazon API Gateway REST API を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { ApiGatewayToSqs, ApiGatewayToSqsProps } from "@aws-solutions-constructs/aws-apigateway-sqs";

new ApiGatewayToSqs(this, 'ApiGatewayToSqsPattern', {});
```

## Initializer
<a name="initializer-2"></a>

```
new ApiGatewayToSqs(scope: Construct, id: string, props: ApiGatewayToSqsProps);
```

 *パラメータ* 
+  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[`ApiGatewayToSqsProps`](#pattern-construct-props-2) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ApigateWayProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  API Gateway のデフォルトの小道具を上書きするオプションのユーザー提供の小道具です。 | 
|  QueueProp? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  オプションのユーザ提供の小道具で、キューのデフォルトの小道具を上書きします。 | 
|  デプロイデッドレッターキュー？  |  boolean  |  デッドレターキューとして使用するセカンダリキューを展開するかどうか。デフォルトは true です。 | 
|  maxReceiveCount  |  number  |  デッドレターキューに移動する前に、メッセージがデキューに失敗した回数。 | 
|  作成操作を許可しますか? |  boolean  |  キューに Create 操作用の API Gateway メソッドをデプロイするかどうか (SQS: SendMessage)。 | 
|  リクエストテンプレートを作成しますか? |  string  |  Create メソッドのデフォルトの API Gateway リクエストテンプレートを上書きします (allowCreateOperationは、 に設定されます。true。 | 
|  操作を許可しますか? |  boolean  |  読み込み操作用の API Gateway メソッドをキューにデプロイするかどうか (SQS: ReceiveMessage)。 | 
|  readRequestテンプレートですか？  |  string  |  Read メソッドのデフォルトの API Gateway リクエストテンプレートをオーバーライドします (allowReadOperationは、 に設定されます。true。 | 
|  削除操作を許可しますか? |  boolean  |  削除操作のためのAPI Gateway メソッドをキューにデプロイするかどうか（SQS: DeleteMessage）。 | 
|  要求テンプレートを削除しますか? |  string  |  Delete メソッドのデフォルトの API Gateway リクエストテンプレートを上書きします (allowDeleteOperationは、 に設定されます。true。 | 
|  LogGroupPropsかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルトの小道具を上書きする、オプションのユーザー指定の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-2"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 
|  APIGatewayクラウドウォッチロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 | 
|  APIGateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API のパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  デッドレッターキュー？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成されたデッドレターキューのインスタンスを返します（デプロイされている場合）。 | 
|  SQUEUE  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成された SQS キューのインスタンスを返します。 | 

## API の使用例
<a name="sample-api-usage"></a>


|  **方法**  |  **リクエストパス**  |  **リクエストボディ**  |  **キューアクション**  |  **説明**  | 
| --- | --- | --- | --- | --- | 
|  GET  |  /  |   |  sqs::ReceiveMessage  |  キューからメッセージを取得します。 | 
|  POST  |  /  |  \$1 "data": "Hello World\$1" \$1  |  sqs::SendMessage  |  メッセージをキューに配信します。 | 
|  DELETE  |  /message?receiptHandle=[value]  |   |  sqs::DeleteMessage  |  指定されたメッセージをキューから削除します。 | 

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

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

### Amazon API Gateway
<a name="amazon-api-gateway-2"></a>
+  エッジ最適化 API エンドポイントのデプロイ 
+  API Gateway での CloudWatch によるロギングの有効化 
+  API Gateway の最小権限アクセス IAM ロールを設定する 
+  すべての API メソッドのデフォルトの認証タイプを IAM に設定する 
+  X-Ray トレースを有効にする

### Amazon SQS キュー
<a name="amazon-sqs-queue"></a>
+  ソース SQS キューの SQS デッドレターキューのデプロイ 
+  AWS マネージド KMS キーを使用したソース SQS キューのサーバー側の暗号化を有効にする 
+  転送時のデータの暗号化を強制する 

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

![\[Diagram showing Amazon API Gateway, CloudWatch, and Simple Queue Service interactions with roles.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-apigateway-sqs.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-apigateway-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-sqs)  | 

# aws-クラウドフロント-アピゲートウェイ
<a name="aws-cloudfront-apigateway"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cloudfront\$1apigateway  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cloudfront-apigateway  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cloudfrontapigateway  | 

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

 この AWS ソリューション構築物は、Amazon API Gateway REST API の前で Amazon CloudFront ディストリビューションを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import * as api from '@aws-cdk/aws-apigateway';
import * as lambda from "@aws-cdk/aws-lambda";
import { CloudFrontToApiGateway } from '@aws-solutions-constructs/aws-cloudfront-apigateway';
  
const lambdaProps: lambda.FunctionProps = {
    code: lambda.Code.fromAsset(`${__dirname}/lambda`),
    runtime: lambda.Runtime.NODEJS_12_X,
    handler: 'index.handler'
};

const lambdafunction = new lambda.Function(this, 'LambdaFunction', lambdaProps);

const apiGatewayProps: api.LambdaRestApiProps = {
        handler: lambdafunction,
        endpointConfiguration: {
            types: [api.EndpointType.REGIONAL]
        },
        defaultMethodOptions: {
            authorizationType: api.AuthorizationType.NONE
        }
};

const apiGateway = new api.LambdaRestApi(this, 'LambdaRestApi', apiGatewayProps);

new CloudFrontToApiGateway(this, 'test-cloudfront-apigateway', {
    existingApiGatewayObj: apiGateway
});
```

## Initializer
<a name="initializer-4"></a>

```
new CloudFrontToApiGateway(scope: Construct, id: string, props: CloudFrontToApiGatewayProps);
```

 *パラメータ* 
+  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[`CloudFrontToApiGatewayProps`](#pattern-construct-props-4) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingApigateWayObj  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  CloudFront の前面となるリージョン API Gateway  | 
|  CloudFrontDistributionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html)  |  CloudFront ディストリビューションのデフォルトの小道具を上書きするオプションのユーザー提供の小道具です。 | 
|  TTPセキュリティヘッダーを挿入しますか？  |  boolean  |  CloudFront からのすべての応答でベストプラクティス HTTP セキュリティヘッダーの自動インジェクションをオン/オフするためのオプションのユーザー提供の小道具  | 

## パターンプロパティ
<a name="pattern-properties-4"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 
|  CloudFrontLoggingBucket？  |  [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)  |  CloudFront ウェブディストリビューションのパターンによって作成されたロギングバケットのインスタンスを返します。 | 
|  クラウドフロントウェブディストリビューション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)  |  パターンによって作成された CloudFront ウェブディストリビューションのインスタンスを返します。 | 
|  EdgeLambdaFunctionVersion？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html)  |  パターンによって作成された Lambda エッジ関数バージョンのインスタンスを返します。 | 

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

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

### Amazon CloudFront
<a name="amazon-cloudfront-1"></a>
+  CloudFront ウェブディストリビューションのアクセスログの設定 
+  CloudFront WebDistribution からのすべてのレスポンスでベストプラクティス HTTP セキュリティヘッダーの自動インジェクションを有効にする 

### Amazon API Gateway
<a name="amazon-api-gateway-4"></a>
+  ユーザー提供の API Gateway オブジェクトはそのまま使用されます。
+  X-Ray トレースを有効にする

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

![\[Diagram showing data flow between network, code, storage, and cloud search components.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-cloudfront-apigateway.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-cloudfront-apigateway](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cloudfront-apigateway)  | 

# aws-クラウドフロント-アピゲートウェイ-ラムダ
<a name="aws-cloudfront-apigateway-lambda"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cloudfront\$1apigateway\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cloudfront-apigateway-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cloudfrontapigatewaylambda  | 

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

 この AWS ソリューション構築物は、Amazon API Gateway ラムダでバックアップされた REST API の前で Amazon CloudFront ディストリビューションを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { CloudFrontToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cloudfront-apigateway-lambda';

new CloudFrontToApiGatewayToLambda(this, 'test-cloudfront-apigateway-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-3"></a>

```
new CloudFrontToApiGatewayToLambda(scope: Construct, id: string, props: CloudFrontToApiGatewayToLambdaProps);
```

 *パラメータ* 
+  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[`CloudFrontToApiGatewayToLambdaProps`](#pattern-construct-props-3) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されますexistingLambdaObjはにあります。 | 
|  ApigateWayProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApiProps.html)  |  API Gateway のデフォルトの小道具をオーバーライドするオプションのユーザーが提供した小道具を  | 
|  CloudFrontDistributionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html)  |  CloudFront ディストリビューションのデフォルトの小道具を上書きするオプションのユーザー提供の小道具です。 | 
|  TTPセキュリティヘッダーを挿入しますか？  |  boolean  |  CloudFront からのすべての応答でベストプラクティス HTTP セキュリティヘッダーの自動インジェクションをオン/オフするためのオプションのユーザー提供の小道具  | 
|  LogGroupPropsかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルトの小道具を上書きするオプションのユーザー指定の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-3"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 
|  APIGatewayクラウドウォッチロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 | 
|  CloudFrontLoggingBucket？  |  [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)  |  CloudFront ウェブディストリビューションのパターンによって作成されたロギングバケットのインスタンスを返します。 | 
|  クラウドフロントウェブディストリビューション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)  |  パターンによって作成された CloudFront ウェブディストリビューションのインスタンスを返します。 | 
|  EdgeLambdaFunctionVersion？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html)  |  パターンによって作成された Lambda エッジ関数バージョンのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 

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

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

### Amazon CloudFront
<a name="amazon-cloudfront"></a>
+  CloudFront ウェブディストリビューションのアクセスログの設定 
+  CloudFront WebDistribution からのすべてのレスポンスでベストプラクティス HTTP セキュリティヘッダーの自動インジェクションを有効にする 

### Amazon API Gateway
<a name="amazon-api-gateway-3"></a>
+  リージョン API エンドポイントのデプロイ 
+  API Gateway での CloudWatch によるログの有効化 
+  API Gateway の最小権限アクセス IAM ロールを設定する 
+  すべての API メソッドのデフォルトの認証タイプを IAM に設定する 
+  X-Ray トレースを有効化

### AWS Lambda 関数
<a name="aws-lambda-function-1"></a>
+  Lambda 関数の制限付きアクセスアクセスの IAM ロールを設定する 
+  NodeJS Lambda 関数のキープアライブを使用して接続を再利用できるようにする 
+  X-Ray トレースを有効化
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[Diagram showing data flow between AWS のサービス including AppSync, Lambda, and CloudSearch.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-cloudfront-apigateway-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-cloudfront-apigateway-ラムダ](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cloudfront-apigateway-lambda)  | 

# aws-クラウドフロントメディアストア
<a name="aws-cloudfront-mediastore"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cloudfront\$1mediastore  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cloudfront-mediastore  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cloudfrontmediastore  | 

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

 この AWS ソリューション構築物は、AWS Elemental MediaStore コンテナに接続された Amazon CloudFront ディストリビューションを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { CloudFrontToMediaStore } from '@aws-solutions-constructs/aws-cloudfront-mediastore';

new CloudFrontToMediaStore(this, 'test-cloudfront-mediastore-default', {});
```

## Initializer
<a name="initializer-38"></a>

```
new CloudFrontToMediaStore(scope: Construct, id: string, props: CloudFrontToMediaStoreProps);
```

 *パラメータ* 
+  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[`CloudFrontToMediaStoreProps`](#pattern-construct-props-38) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingMediaStoreContainerOBJ？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainer.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainer.html)  |  オプションのユーザーが指定した MediaStore コンテナーを使用して、デフォルトの MediaStore コンテナーを上書きします。 | 
|  MediaStoreContainerProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainerProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainerProps.html)  |  MediaStore コンテナの既定の小道具を上書きするオプションのユーザー提供の小道具です。 | 
|  CloudFrontDistributionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html) \$1 any  |  オプションのユーザー提供の小道具で、CloudFront ディストリビューションのデフォルトの小道具を上書きします。 | 
|  TTPセキュリティヘッダーを挿入しますか？  |  boolean  |  CloudFront からのすべての応答でベストプラクティス HTTP セキュリティヘッダーの自動インジェクションをオン/オフにするオプションのユーザー提供の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-38"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  クラウドフロントウェブディストリビューション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)  |  パターンによって作成された CloudFront ウェブディストリビューションのインスタンスを返します。 | 
|  メディアストアコンテナ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainer.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainer.html)  |  パターンによって作成されたMediaStore コンテナのインスタンスを返します。 | 
|  クラウドフロントログバケット  |  [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)  |  CloudFront ウェブディストリビューションのパターンによって作成されたロギングバケットのインスタンスを返します。 | 
|  クラウドフロントオリジンリクエストポリシー  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.OriginRequestPolicy.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.OriginRequestPolicy.html)  |  CloudFront ウェブディストリビューションのパターンによって作成された CloudFront オリジンリクエストポリシーのインスタンスを返します。 | 
|  CloudFrontOriginAccessIdentityかな  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.OriginAccessIdentity.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.OriginAccessIdentity.html)  |  CloudFront ウェブディストリビューションのパターンによって作成された CloudFront オリジンアクセスアイデンティティのインスタンスを返します。 | 
|  EdgeLambdaFunctionVersion  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html)  |  パターンによって作成された Lambda エッジ関数バージョンのインスタンスを返します。 | 

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

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

### Amazon CloudFront
<a name="amazon-cloudfront-2"></a>
+  CloudFront ウェブディストリビューションのアクセスログの設定 
+  AWS Elemental MediaStore コンテナの CloudFront オリジンリクエストポリシーを有効にする 
+  設定`User-Agent`CloudFront オリジンアクセスアイデンティティを持つカスタムヘッダー 
+  CloudFront ウェブディストリビューションからのすべてのレスポンスでベストプラクティス HTTP セキュリティヘッダーの自動インジェクションを有効にする 

### AWS Elemental MediaStore
<a name="amazon-elemental-mediastore"></a>
+  リソースを保持するように削除ポリシーを設定する 
+  CloudFormation スタック名でコンテナ名を設定する 
+  デフォルトを設定[コンテナのクロスオリジンリソース共有 (CORS) ポリシー](https://docs.aws.amazon.com/mediastore/latest/ug/cors-policy.html) 
+  デフォルトを設定[オブジェクトのライフサイクルポリシー](https://docs.aws.amazon.com/mediastore/latest/ug/policies-object-lifecycle.html) 
+  デフォルトを設定[コンテナポリシー](https://docs.aws.amazon.com/mediastore/latest/ug/policies.html)のみを許可する`aws:UserAgent`CloudFront オリジンアクセスアイデンティティを持つ 
+  デフォルトを設定[メトリクスポリシー](https://docs.aws.amazon.com/mediastore/latest/ug/policies-metric.html) 
+  アクセスログの作成の有効化

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

![\[Diagram showing interaction between Amazon CloudFront, AWS Elemental MediaStore, and Amazon S3.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-cloudfront-mediastore.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-クラウドフロント-メディアストア](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cloudfront-mediastore)  | 

# aws-クラウドフロント-3
<a name="aws-cloudfront-s3"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cloudfront\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cloudfront-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cloudfronts3  | 

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

 この AWS ソリューション構築は Amazon S3 バケットの前に Amazon CloudFront ディストリビューションを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { CloudFrontToS3 } from '@aws-solutions-constructs/aws-cloudfront-s3';

new CloudFrontToS3(this, 'test-cloudfront-s3', {});
```

## Initializer
<a name="initializer-5"></a>

```
new CloudFrontToS3(scope: Construct, id: string, props: CloudFrontToS3Props);
```

 *パラメータ* 
+  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[`CloudFrontToS3Props`](#pattern-construct-props-5) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingBucketObj？  |  [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 Bucket オブジェクトの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 | 
|  BucketProps？  |  [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)  |  オプションのユーザー提供のプロパティ。バケットのデフォルトプロパティを上書きします。の場合は無視されます。existingBucketObjが提供される。 | 
|  CloudFrontDistributionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html)  |  CloudFront ディストリビューションのデフォルトの小道具を上書きするオプションのユーザー提供の小道具です。 | 
|  TTPSecurityHeadersを挿入しますか？  |  boolean  |  CloudFront からのすべての応答でベストプラクティス HTTP セキュリティヘッダーの自動インジェクションをオン/オフするためのオプションのユーザー提供の小道具  | 

## パターンプロパティ
<a name="pattern-properties-5"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  クラウドフロントウェブディストリビューション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)  |  パターンによって作成された CloudFront ウェブディストリビューションのインスタンスを返します。 | 
|  S3bucket? |  [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 バケットのインスタンスを返します。 | 
|  s3loggingBucket？  |  [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 バケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 
|  EdgeLambdaFunctionVersion？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html)  |  パターンによって作成された Lambda エッジ関数バージョンのインスタンスを返します。 | 
|  CloudFrontLoggingBucket？  |  [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)  |  CloudFront ウェブディストリビューションのパターンによって作成されたロギングバケットのインスタンスを返します。 | 

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

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

### Amazon CloudFront
<a name="amazon-cloudfront-2"></a>
+  CloudFront ウェブディストリビューションのアクセスログの設定 
+  CloudFront WebDistribution からのすべてのレスポンスでベストプラクティスの HTTP セキュリティヘッダーの自動インジェクションを有効にする 

### Amazon S3 バケット
<a name="amazon-s3-bucket"></a>
+  S3 バケットのアクセスログの設定 
+  AWS マネージド KMS キーを使用した S3 バケットのサーバー側の暗号化の有効化 
+  S3 バケットのバージョニングを有効にする 
+  S3 バケットのパブリックアクセスを許可しない 
+  CloudFormation スタックを削除するときに S3 バケットを保持する 
+  転送時のデータの暗号化を強制する 
+  ライフサイクルルールを適用して、90 日後に最新でないオブジェクトバージョンを Glacier ストレージに移動する 

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

![\[CloudFront distribution workflow with Origin Access Control, S3 bucket, and associated logs.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-cloudfront-s3.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-cloudfront-S3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cloudfront-s3)  | 

# aws-コグニート-アピガテウェイ-ラムダ
<a name="aws-cognito-apigateway-lambda"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cognito\$1apigateway\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) 活字体  |  @aws-solutions-constructs/aws-cognito-apigateway-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cognitoapigatewaylambda  | 

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

 この AWS ソリューション構築物は、Amazon API Gateway ラムダでバックアップされた REST API を保護する Amazon Cognito を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { CognitoToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cognito-apigateway-lambda';

new CognitoToApiGatewayToLambda(this, 'test-cognito-apigateway-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

 APIでリソースとメソッドを定義している場合（例：`proxy = false`) を呼び出す必要があります。`addAuthorizers()`API が完全に定義された後にメソッドを呼び出します。これにより、API のすべてのメソッドが保護されます。

 TypeScript tの例を次に示します。

```
import { CognitoToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cognito-apigateway-lambda';

const construct = new CognitoToApiGatewayToLambda(this, 'test-cognito-apigateway-lambda', {
    lambdaFunctionProps: {
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        runtime: lambda.Runtime.NODEJS_12_X,
        handler: 'index.handler'
    },
    apiGatewayProps: {
      proxy: false
    }
});

const resource = construct.apiGateway.root.addResource('foobar');
resource.addMethod('POST');

// Mandatory to call this method to Apply the Cognito Authorizers on all API methods
construct.addAuthorizers();
```

## Initializer
<a name="initializer-6"></a>

```
new CognitoToApiGatewayToLambda(scope: Construct, id: string, props: CognitoToApiGatewayToLambdaProps);
```

 *パラメータ* 
+  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[`CognitoToApiGatewayToLambdaProps`](#pattern-construct-props-6) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。場合は、無視されます。existingLambdaObjが提供される。 | 
|  ApigateWayProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  API Gateway のデフォルトの小道具をオーバーライドするオプションのユーザーが提供した小道具を  | 
|  CogniTouserPoolProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolProps.html)  |  Cognito ユーザープールのデフォルトのプロップを上書きするオプションのユーザー提供の小道具  | 
|  CognitouserPoolClientProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClientProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClientProps.html)  |  Cognito ユーザープールクライアントの既定のプロップを上書きするオプションのユーザー提供の小道具  | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルトの小道具を上書きする、オプションのユーザー提供の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-6"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  apigateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  パターンによって作成された API Gateway REST API のインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  UserPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html)  |  パターンによって作成された Cognito ユーザープールのインスタンスを返します。 | 
|  ユーザーPoolClient  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html)  |  パターンによって作成された Cognito ユーザープールクライアントのインスタンスを返します。 | 
|  APIGatewayクラウドウォッチロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  APIGateWayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 | 
|  APIGatewayAuthorizer  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.CfnAuthorizer.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.CfnAuthorizer.html)  |  パターンによって作成された API Gateway 認証のインスタンスを返します。 | 

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

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

### Amazon Cognito
<a name="amazon-cognito"></a>
+  UserPools のパスワードポリシーを設定する 
+  ユーザープールに高度なセキュリティモードを適用する 

### Amazon API Gateway
<a name="amazon-api-gateway-5"></a>
+  エッジ最適化 API エンドポイントのデプロイ 
+  API Gateway での CloudWatch によるロギングを有効にする 
+  API Gateway の最小権限アクセス IAM ロールを設定する 
+  すべての API メソッドのデフォルトの authorizationType を IAM に設定する 
+  X-Ray トレースを有効にする

### AWS Lambda 関数
<a name="aws-lambda-function-2"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定する 
+  NodeJS Lambda 関数のキープアライブを使用して接続を再利用できるようにする 
+  X-Ray トレースを有効にする
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[Diagram showing interactions between API Gateway, Lambda, and CloudWatch with security icons.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-cognito-apigateway-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-cognito-apigateway-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cognito-apigateway-lambda)  | 

# aws-Dynamodb-stream lambda
<a name="aws-dynamodb-stream-lambda"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1dynamodb\$1stream\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-dynamodb-stream-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.dynamodbstreamlambda  | 

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

 この AWS ソリューション構成では、Amazon DynamoDB テーブルをストリームで実装し、権限が最も低い権限で AWS Lambda 関数を呼び出します。

 最小限のデプロイ可能なパターン定義を次に示します。

```
import { DynamoDBStreamToLambdaProps, DynamoDBStreamToLambda} from '@aws-solutions-constructs/aws-dynamodb-stream-lambda';

new DynamoDBStreamToLambda(this, 'test-dynamodb-stream-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
});
```

## Initializer
<a name="initializer-8"></a>

```
new DynamoDBStreamToLambda(scope: Construct, id: string, props: DynamoDBStreamToLambdaProps);
```

 *パラメータ* 
+  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[`DynamoDBStreamToLambdaProps`](#pattern-construct-props-8) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。次の場合は無視されます。existingLambdaObjが提供される。 | 
|  DynamoTableProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  DynamoDB テーブルのデフォルトの小道具をオーバーライドするオプションのユーザー提供の小道具です  | 
|  ExistingTableObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  DynamoDB テーブルオブジェクトの既存のインスタンス。これとdynamoTablePropsはエラーを発生させます。 | 
|  DynamoEventSourceProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.DynamoEventSourceProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.DynamoEventSourceProps.html)  |  DynamoDB イベントソースのデフォルトのプロップを上書きするオプションのユーザー提供の小道具  | 

## パターンプロパティ
<a name="pattern-properties-8"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ダイナモテーブル  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  パターンによって作成された DynamoDB テーブルのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 

## Lambda 関数
<a name="lambda-function-8"></a>

このパターンには、DynamoDB ストリームから Elasticsearch サービスにデータを投稿できる Lambda 関数が必要です。サンプル関数が用意されています[ここ](https://github.com/awslabs/aws-solutions-constructs/blob/master/source/patterns/%40aws-solutions-constructs/aws-dynamodb-stream-lambda/test/lambda/index.js)。

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

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

### Amazon DynamoDB テーブル
<a name="amazon-dynamodb-table-2"></a>
+  DynamoDB テーブルの請求モードをオンデマンドに設定する（リクエストごとの支払い） 
+  AWS マネージド KMS キーを使用した DynamoDB テーブルのサーバー側の暗号化の有効化 
+  DynamoDB テーブルの 'id' という名前のパーティションキーを作成します。
+  CloudFormation スタックを削除するときにテーブルを保持する 
+  継続的なバックアップとポイントインタイムリカバリを実現 

### AWS Lambda 関数
<a name="aws-lambda-function-4"></a>
+  Lambda 関数用に制限された特権アクセス IAM ロールを設定する 
+  NodeJS Lambda 関数のキープアライブを使用して接続を再利用できるようにする 
+  X-Ray トレースを有効にする
+  障害処理機能の有効化:関数エラーの bisect の有効化、デフォルトの最大レコード有効期間 (24 時間) の設定、デフォルトの最大再試行回数 (500) の設定、障害発生時の宛先として SQS デッドレターキューのデプロイ
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-dynamodb-stream-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-dynamodb-stream-ラムダ](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-dynamodb-stream-lambda)  | 

# aws-ダイナモッド-ストリーム-ラムダ-弾性検索-キバナ
<a name="aws-dynamodb-stream-lambda-elasticsearch-kibana"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1dynamodb\$1stream\$1lambda\$1elasticsearch\$1kibana  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.dynamodbstreamlambdaelasticsearchkibana  | 

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

 この AWS ソリューション構築物は、ストリームを含む Amazon DynamoDB テーブル、AWS Lambda 関数、および最も権限の低いアクセス許可を持つ Amazon Elasticsearch Service 実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { DynamoDBStreamToLambdaToElasticSearchAndKibana, DynamoDBStreamToLambdaToElasticSearchAndKibanaProps } from '@aws-solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana';
import { Aws } from "@aws-cdk/core";

const props: DynamoDBStreamToLambdaToElasticSearchAndKibanaProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    domainName: 'test-domain',
    // TODO: Ensure the Cognito domain name is globally unique
    cognitoDomainName: 'globallyuniquedomain' + Aws.ACCOUNT_ID;
};

new DynamoDBStreamToLambdaToElasticSearchAndKibana(this, 'test-dynamodb-stream-lambda-elasticsearch-kibana', props);
```

## Initializer
<a name="initializer-7"></a>

```
new DynamoDBStreamToLambdaToElasticSearchAndKibana(scope: Construct, id: string, props: DynamoDBStreamToLambdaToElasticSearchAndKibanaProps);
```

 *パラメータ* 
+  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[`DynamoDBStreamToLambdaToElasticSearchAndKibanaProps`](#pattern-construct-props-7) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。Ignored if an existingLambdaObjが提供される。 | 
|  DynamoTablePropsかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  DynamoDB テーブルのデフォルトのプロップを上書きするオプションのユーザー提供の小道具  | 
|  ExistingTableObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  DynamoDB テーブルオブジェクトの既存のインスタンス。これとdynamoTablePropsはエラーを発生させます。 | 
|  DynamoEventSourceProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.DynamoEventSourceProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.DynamoEventSourceProps.html)  |  DynamoDB イベントソースのデフォルトのプロップを上書きするオプションのユーザー提供の小道具  | 
|  ESDomainProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomainProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomainProps.html)  |  Amazon Elasticsearch Service デフォルトの小道具を上書きするためのオプションのユーザー提供の小道具です  | 
|  domainName  |  string  |  Cognito および Amazon Elasticsearch Service ドメイン名  | 
|  クラウド・ワット・チャラームズ  |  boolean  |  推奨される CloudWatch アラームを作成するかどうか。 | 

## パターンプロパティ
<a name="pattern-properties-7"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  CloudWatchAlarms？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  パターンによって作成された 1 つ以上の CloudWatch アラームのリストを返します。 | 
|  ダイナモテーブル  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  パターンによって作成された DynamoDB テーブルのインスタンスを返します。 | 
|  弾性検索ドメイン  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomain.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomain.html)  |  パターンによって作成されたElasticsearchドメインのインスタンスを返します。 | 
|  IdentityPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnIdentityPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnIdentityPool.html)  |  パターンによって作成された Cognito ID プールのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  UserPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html)  |  パターンによって作成された Cognito ユーザープールのインスタンスを返します。 | 
|  UserPoolCli  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html)  |  パターンによって作成された Cognito ユーザープールクライアントのインスタンスを返します。 | 

## Lambda 関数
<a name="lambda-function-7"></a>

このパターンには、DynamoDB ストリームから Elasticsearch サービスにデータを投稿できる Lambda 関数が必要です。サンプル関数が提供されています[ここ](https://github.com/awslabs/aws-solutions-constructs/blob/master/source/patterns/%40aws-solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana/test/lambda/index.js)。

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

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

### Amazon DynamoDB テーブル
<a name="amazon-dynamodb-table-1"></a>
+  DynamoDB テーブルの請求モードをオンデマンドに設定する（リクエストごとの支払い） 
+  AWS マネージド KMS キーを使用した DynamoDB テーブルのサーバー側の暗号化の有効化 
+  DynamoDB テーブルの 'id' という名前のパーティションキーを作成します。
+  CloudFormation スタックを削除するときにテーブルを保持する 
+  継続的なバックアップとポイントインタイムリカバリを有効にします 

### AWS Lambda 関数
<a name="aws-lambda-function-3"></a>
+  Lambda 関数の制限付き特権アクセスの IAM ロールを設定する 
+  NodeJS Lambda 関数のキープアライブを使用して接続を再利用できるようにする 
+  X-Ray トレースを有効にする
+  障害処理機能の有効化:関数エラーの bisect の有効化、デフォルトの最大レコード有効期間 (24 時間) の設定、デフォルトの最大再試行回数 (500) の設定、障害発生時の宛先として SQS デッドレターキューのデプロイ
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon Cognito
<a name="amazon-cognito-1"></a>
+  UserPoolのパスワードポリシーを設定する 
+  ユーザープールの高度なセキュリティモードを適用する 

### Amazon Elasticsearch Service
<a name="amazon-elasticsearch-service"></a>
+  Elasticsearch ドメイン用のベストプラクティス CloudWatch アラームのデプロイ 
+  Cognito ユーザープールを使用した Kibana ダッシュボードのアクセスの保護 
+  AWS マネージド KMS キーを使用した Elasticsearch ドメインのサーバー側の暗号化の有効化 
+  Elasticsearchドメインのノード間の暗号化を有効にする 
+  Amazon ES ドメインのクラスターを設定する 

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-dynamodb-stream-lambda-elasticsearch-kibana.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-dynamodb-stream-lambda-elasticsearch-kibana](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana)  | 

# aws-events-ルール-キネシファイアホース-3
<a name="aws-events-rule-kinesisfirehose-s3"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1kinesisfirehose\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-kinesisfirehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulekinesisfirehoses3  | 

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

 この AWS ソリューション構築は、Amazon S3 バケットに接続された Amazon Kinesis データFirehose 配信ストリームにデータを送信する Amazon CloudWatch Events ルールを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import * as cdk from '@aws-cdk/core';
import { EventsRuleToKinesisFirehoseToS3, EventsRuleToKinesisFirehoseToS3Props } from '@aws-solutions-constructs/aws-events-rule-kinesisfirehose-s3';

const eventsRuleToKinesisFirehoseToS3Props: EventsRuleToKinesisFirehoseToS3Props = {
    eventRuleProps: {
    schedule: events.Schedule.rate(cdk.Duration.minutes(5))
    }
};

new EventsRuleToKinesisFirehoseToS3(this, 'test-events-rule-firehose-s3', eventsRuleToKinesisFirehoseToS3Props);
```

## Initializer
<a name="initializer-35"></a>

```
new EventsRuleToKinesisFirehoseToS3(scope: Construct, id: string, props: EventsRuleToKinesisFirehoseToS3Props);
```

 *パラメータ* 
+  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[`EventsRuleToKinesisFirehoseToS3Props`](#pattern-construct-props-35) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  EventRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  CloudWatch イベントルールのデフォルトプロパティを上書きするユーザー指定のプロパティ。 | 
|  KineSisFireHoseprops？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html)  |  Kinesis Firehose 配信ストリームのデフォルトの小道具を上書きするオプションのユーザーが提供した小道具です。 | 
|  ExistingBucketObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  S3 Bucket オブジェクトの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 | 
|  BucketProps？  |  [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)  |  オプションのユーザー提供の小道具で、S3 バケットのデフォルトの小道具を上書きします。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルト小道具を上書きする、オプションのユーザー指定の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-35"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  イベントルール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  パターンによって作成されたイベントルールのインスタンスを返します。 | 
|  キネシファイアホース  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  パターンによって作成された Kinesis Firehose 配信ストリームのインスタンスを返します。 | 
|  bucket  |  [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 バケットのインスタンスを返します。 | 
|  s3loggingBucket？  |  [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 バケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 
|  EventsRole? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  CloudWatch イベントルールのコンストラクトによって作成されたロールのインスタンスを返します。 | 
|  キネシシファイアホセロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Kinesis Firehose 配信ストリームのパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  キネシシファイアホースロググループ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Kinesis Firehose アクセスログの送信先のパターンによって作成されたロググループのインスタンスを返します。 | 

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

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

### Amazon CloudWatch Events Events
<a name="amazon-events-rule-35"></a>
+  イベントルールの最小権限アクセス IAM ロールを設定し、Kinesis Firehose 配信ストリームに発行します。

### Amazon Kinesis Firehose
<a name="amazon-kinesisfirehose-35"></a>
+  Kinesis Firehose の CloudWatch ロギングを有効にします。
+  Amazon Kinesis Firehose Firehose Firehose 

### Amazon S3 バケット
<a name="amazon-s3-bucket-35"></a>
+  バケットのアクセスログを設定します。
+  AWS マネージド KMS キーを使用して、バケットのサーバー側の暗号化を有効にします。
+  バケットのバージョニングを有効にします。
+  バケットのパブリックアクセスを許可しないでください。
+  CloudFormation スタックを削除するときはバケットを保持します。
+  90 日後に Glacier ストレージに最新でないオブジェクトバージョンを移動するライフサイクルルールを適用します。

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-events-rule-kinesisfirehose-s3.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-events-ルールキネシファイアホース-3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-kinesisfirehose-s3)  | 

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

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1kinesisstream  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-kinesisstreams  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulekinesisstream  | 

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

 この AWS ソリューション構築では、Amazon CloudWatch Events ルールを実装して Amazon Kinesis データストリームにデータを送信します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import * as cdk from '@aws-cdk/core';
import {EventsRuleToKinesisStreams, EventsRuleToKinesisStreamsProps} from "@aws-solutions-constructs/aws-events-rule-kinesisstreams";

const props: EventsRuleToKinesisStreamsProps = {
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5)),
    }
};

new EventsRuleToKinesisStreams(this, 'test-events-rule-kinesis-stream', props);
```

## Initializer
<a name="initializer-36"></a>

```
new EventsRuleToKinesisStreams(scope: Construct, id: string, props: EventsRuleToKinesisStreamsProps);
```

 *パラメータ* 
+  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[`EventsRuleToKinesisStreamsProps`](#pattern-construct-props-36) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  EventRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  CloudWatch イベントルールのデフォルトプロパティを上書きするユーザー指定のプロパティ。 | 
|  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はエラーを発生させます。 | 
|  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)  |  Kinesis ストリームのデフォルトのプロップを上書きするオプションのユーザー指定のプロップ。 | 
|  クラウド・ワット・チャラームズ  |  boolean  |  推奨される CloudWatch アラームを作成するかどうか。 | 

## パターンプロパティ
<a name="pattern-properties-36"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  イベントルール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  パターンによって作成されたイベントルールのインスタンスを返します。 | 
|  KinesisStream  |  [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 ストリームのインスタンスを返します。 | 
|  EventsRole? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  CloudWatch イベントルールのコンストラクトによって作成されたロールのインスタンスを返します。 | 

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

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

### Amazon CloudWatch Events ルール
<a name="amazon-events-rule-36"></a>
+  Kinesis データストリームにパブリッシュするイベントルールの最小権限アクセス IAM ロールを設定します。

### Amazon Kinesis Stream
<a name="amazon-kinesisstream-36"></a>
+  AWS マネージド KMS キーを使用して、Kinesis データストリームのサーバー側の暗号化を有効にします。

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-events-rule-kinesisstreams.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-events-ルールキネシスストリーム](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-kinesisstreams)  | 

# aws-events-ルール-ラムダ
<a name="aws-events-rule-lambda"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulelambda  | 

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

 この AWS ソリューション構築は、AWS Events ルールと AWS Lambda 関数を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
const { EventsRuleToLambdaProps, EventsRuleToLambda } from '@aws-solutions-constructs/aws-events-rule-lambda';

const props: EventsRuleToLambdaProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5))
    }
};

new EventsRuleToLambda(this, 'test-events-rule-lambda', props);
```

## Initializer
<a name="initializer-9"></a>

```
new EventsRuleToLambda(scope: Construct, id: string, props: EventsRuleToLambdaProps);
```

 *パラメータ* 
+  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[`EventsRuleToLambdaProps`](#pattern-construct-props-9) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  ラムダファンクション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjが提供される。 | 
|  EventRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  デフォルトを上書きするためにユーザーが指定した EventRuleProps  | 

## パターンプロパティ
<a name="pattern-properties-9"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  イベントルール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  パターンによって作成されたイベントルールのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 

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

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

### Amazon CloudWatch Events Events ルール
<a name="amazon-cloudwatch-events-rule"></a>
+  Lambda 関数をトリガーするための CloudWatch イベントへの最小権限の付与 

### AWS Lambda 関数
<a name="aws-lambda-function-5"></a>
+  Lambda 関数用に制限された特権アクセス IAM ロールを設定する 
+  NodeJS Lambda 関数のキープアライブを使用して接続を再利用できるようにする 
+  X-Ray トレースを有効化
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-events-rule-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-events-ルール-ラムダ](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-lambda)  | 

# aws-イベント-ルール-sns
<a name="aws-events-rule-sns"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1sns  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-sns  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulesns  | 

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

 このパターンは、Amazon SNS トピックに関連付けられている Amazon CloudWatch Events ルールを実装します。

 最小限のデプロイ可能なパターン定義を次に示します。

```
import { Duration } from '@aws-cdk/core';
import * as events from '@aws-cdk/aws-events';
import * as iam from '@aws-cdk/aws-iam';
import { EventsRuleToSnsProps, EventsRuleToSns } from "@aws-solutions-constructs/aws-events-rule-sns";

const props: EventsRuleToSnsProps = {
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5)),
    }
};

const constructStack = new EventsRuleToSns(this, 'test-construct', props);

// Grant yourself permissions to use the Customer Managed KMS Key
const policyStatement = new iam.PolicyStatement({
    actions: ["kms:Encrypt", "kms:Decrypt"],
    effect: iam.Effect.ALLOW,
    principals: [ new iam.AccountRootPrincipal() ],
    resources: [ "*" ]
});

constructStack.encryptionKey?.addToResourcePolicy(policyStatement);
```

## Initializer
<a name="initializer-30"></a>

```
new EventsRuleToSNS(scope: Construct, id: string, props: EventsRuleToSNSProps);
```

 *パラメータ* 
+  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[`EventsRuleToSnsProps`](#pattern-construct-props-30) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  EventRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  CloudWatch イベントルールのデフォルトプロパティを上書きするユーザー指定のプロパティ。 | 
|  ExistingTopicobj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  SNS トピックオブジェクトの既存のインスタンス。これとtopicPropsはエラーを発生させます。 | 
|  TopicProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  SNS トピックのデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。場合は、無視されますexistingTopicObjが提供される。 | 
|  顧客管理キーによる暗号化の有効化  |  boolean  |  カスタマー管理型の暗号化キーを使用するかどうか。このCDKアプリによって管理されるか、インポートされます。暗号化キーをインポートする場合は、暗号化キーをencryptionKeyプロパティです。 | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  デフォルトの暗号化キーの代わりに使用する、オプションの既存の暗号化キー。 | 
|  暗号化キープロップ？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  オプションのユーザー指定のプロパティで、暗号化キーのデフォルトプロパティを上書きします。 | 

## パターンプロパティ
<a name="pattern-properties-30"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  イベントルール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  パターンによって作成されたイベントルールのインスタンスを返します。 | 
|  snsTopic  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  パターンによって作成された SNS トピックのインスタンスを返します。 | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  パターンによって作成された暗号化キーのインスタンスを返します。 | 

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

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

### Amazon CloudWatch Events
<a name="amazon-events-rule-30"></a>
+  SNS トピックにパブリッシュする CloudWatch イベントに、最小限の権限を付与します。

### Amazon SNS トピック
<a name="amazon-sns-30"></a>
+  SNS トピックの最小権限アクセス権限を設定します。
+  カスタマー管理型の AWS KMS キーを使用して、SNS トピックのサーバー側の暗号化を可能にします。
+  転送時のデータの暗号化を強制する 

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-events-rule-sns.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-events-ルール-sns](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-sns)  | 

# aws-イベント-ルール-sqs
<a name="aws-events-rule-sqs"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulesqs  | 

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

 このパターンは、Amazon SQS キューに接続された Amazon CloudWatch Events ルールを実装します。

 最小限のデプロイ可能なパターン定義を次に示します。

```
import { Duration } from '@aws-cdk/core';
import * as events from '@aws-cdk/aws-events';
import * as iam from '@aws-cdk/aws-iam';
import { EventsRuleToSqsProps, EventsRuleToSqs } from "@aws-solutions-constructs/aws-events-rule-sqs";

const props: EventsRuleToSqsProps = {
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5))
    }
};

const constructStack = new EventsRuleToSqs(this, 'test-construct', props);

// Grant yourself permissions to use the Customer Managed KMS Key
const policyStatement = new iam.PolicyStatement({
    actions: ["kms:Encrypt", "kms:Decrypt"],
    effect: iam.Effect.ALLOW,
    principals: [ new iam.AccountRootPrincipal() ],
    resources: [ "*" ]
});

constructStack.encryptionKey?.addToResourcePolicy(policyStatement);
```

## Initializer
<a name="initializer-31"></a>

```
new EventsRuleToSqs(scope: Construct, id: string, props: EventsRuleToSqsProps);
```

 *パラメータ* 
+  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[`EventsRuleToSqsProps`](#pattern-construct-props-31) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  EventRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  CloudWatch イベントルールのデフォルトプロパティを上書きするユーザー指定のプロパティ。 | 
|  ExistingQueueObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  デフォルトキューの代わりに使用されるオプションの既存の SQS キュー。これとqueuePropsはエラーを発生させます。 | 
|  QueueProp  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  SQS キューのデフォルトプロパティーを上書きするオプションのユーザー指定のプロパティーです。次の場合は無視されます。existingQueueObjが提供される。 | 
|  キューのパージを有効化しますか? |  boolean  |  SQS キューの削除を可能にする Lambda 関数に追加のアクセス許可を付与するかどうか。デフォルトは false です。 | 
|  DeployDeadleterQueue  |  boolean  |  デッドレターキューとして使用するセカンダリキューを作成するかどうか。デフォルトは true です。 | 
|  DeadletterQueueProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  デッドレターキューのデフォルト小道具を上書きするオプションのユーザ提供の小道具です。場合にのみ使用されます。deployDeadLetterQueueプロパティが true に設定された場合。 | 
|  maxReceiveCount? |  number  |  デッドレターキューに移動する前に、メッセージがデキューに失敗した回数。デフォルトは 15 です。 | 
|  顧客管理キーによる暗号化の有効化  |  boolean  |  カスタマー管理型の暗号化キーを使用するかどうか。このCDKアプリによって管理されるか、インポートされます。暗号化キーをインポートする場合、暗号化キーをencryptionKeyプロパティです。 | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  デフォルトの暗号化キーの代わりに使用する、オプションの既存の暗号化キー。 | 
|  EncryptionKeyProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  オプションのユーザー指定のプロパティで、暗号化キーのデフォルトプロパティを上書きします。 | 

## パターンプロパティ
<a name="pattern-properties-31"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  イベントルール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  パターンによって作成されたイベントルールのインスタンスを返します。 | 
|  SQUEUE  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成された SQS キューのインスタンスを返します。 | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  パターンによって作成された暗号化キーのインスタンスを返します。 | 
|  デッドレッターキューですか？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成されたデッドレターキューのインスタンスを返します（デプロイされている場合）。 | 

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

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

### Amazon CloudWatch Events ルール
<a name="amazon-events-rule-31"></a>
+  SQS キューに発行する CloudWatch イベントに最小限の権限を付与します。

### Amazon SQS キュー
<a name="amazon-sqs-31"></a>
+  ソースキューのデッドレターキューをデプロイする。
+  カスタマー管理型の AWS KMS キーを使用して、ソースキューのサーバー側の暗号化を可能にします。
+  転送時のデータの暗号化を強制する。

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-events-rule-sqs.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-イベント-ルール-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-sqs)  | 

# aws-イベント-ルール-ステップ関数
<a name="aws-events-rule-step-function"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1step\$1function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-step-function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulestepfunction  | 

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

 この AWS ソリューション構築は、AWS イベントルールと AWS Step 関数を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { EventsRuleToStepFunction, EventsRuleToStepFunctionProps } from '@aws-solutions-constructs/aws-events-rule-step-function';

const startState = new stepfunctions.Pass(this, 'StartState');

const props: EventsRuleToStepFunctionProps = {
    stateMachineProps: {
      definition: startState
    },
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5))
    }
};

new EventsRuleToStepFunction(this, 'test-events-rule-step-function-stack', props);
```

## Initializer
<a name="initializer-10"></a>

```
new EventsRuleToStepFunction(scope: Construct, id: string, props: EventsRuleToStepFunctionProps);
```

 *パラメータ* 
+  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[`EventsRuleToStepFunctionProps`](#pattern-construct-props-10) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ステートメントマシンプロップ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)  |  sfn.stateMachineのデフォルト小道具を上書きするためのオプションのユーザ提供の小道具です  | 
|  EventRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  デフォルトを上書きするためにユーザーが指定した EventRuleProps  | 
|  クラウド・ワット・チャラームズ  |  boolean  |  推奨される CloudWatch アラームを作成するかどうか。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルトの小道具を上書きする、オプションのユーザー指定の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-10"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  CloudWatchAlarms? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  パターンによって作成された 1 つ以上のCloudWatch Alarムのリストを返します。 | 
|  イベントルール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  パターンによって作成されたイベントルールのインスタンスを返します。 | 
|  StateMachine  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)  |  パターンによって作成されたステートマシンのインスタンスを返します。 | 
|  ステートメントマシンロググループ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  ステートマシンのパターンによって作成されたロググループのインスタンスを返します。 | 

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

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

### Amazon CloudWatch Events ルール
<a name="amazon-cloudwatch-events-rule-1"></a>
+  Lambda 関数をトリガーするための CloudWatch イベントへの最小権限の付与 

### AWS ステップ関数
<a name="aws-step-function"></a>
+  API Gateway での CloudWatch によるロギングの有効化 
+  ステップ機能用のベストプラクティスの CloudWatch アラームのデプロイ 

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-events-rule-step-function.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-イベント-ルール-ステップ関数](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-step-function)  | 

# aws-iot-キネシシファイアホース-3
<a name="aws-iot-kinesisfirehose-s3"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1iot\$1kinesisfirehose\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-iot-kinesisfirehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.iotkinesisfirehoses3  | 

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

 この AWS ソリューション構築は、Amazon S3 バケットに接続された Amazon Kinesis データFirehose 配信ストリームにデータを送信する AWS IoT MQTT トピックルールを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { IotToKinesisFirehoseToS3Props, IotToKinesisFirehoseToS3 } from '@aws-solutions-constructs/aws-iot-kinesisfirehose-s3';

const props: IotToKinesisFirehoseToS3Props = {
    iotTopicRuleProps: {
        topicRulePayload: {
            ruleDisabled: false,
            description: "Persistent storage of connected vehicle telematics data",
            sql: "SELECT * FROM 'connectedcar/telemetry/#'",
            actions: []
        }
    }
};

new IotToKinesisFirehoseToS3(this, 'test-iot-firehose-s3', props);
```

## Initializer
<a name="initializer-11"></a>

```
new IotToKinesisFirehoseToS3(scope: Construct, id: string, props: IotToKinesisFirehoseToS3Props);
```

 *パラメータ* 
+  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[`IotToKinesisFirehoseToS3Props`](#pattern-construct-props-11) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  IOTTopicRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html)  |  デフォルトを上書きするためにユーザが提供した CFntopicRuleProps  | 
|  KineSisFireHoseprops？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html)  |  Kinesis Firehose 配信ストリームのデフォルトのプロップを上書きするオプションのユーザー提供の小道具  | 
|  ExistingBucketObj？  |  [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 Bucket オブジェクトの既存のインスタンス。これとbucketPropsはエラーを発生させます。 | 
|  BucketProps？  |  [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)  |  S3 バケットのデフォルトの小道具を上書きするために、ユーザーが提供した小道具です。これが提供されている場合は、bucketPropsはエラーです。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルト小道具を上書きする、オプションのユーザー指定の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-11"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  IoTactionsRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  IoT ルールのパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  IOTTopicRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html)  |  パターンによって作成された IoT トピックルールのインスタンスを返します。 | 
|  キネシファイアホース  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  パターンによって作成された Kinesis Firehose 配信ストリームのインスタンスを返します。 | 
|  キネシシファイアホースロググループ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Kinesis Firehose アクセスログの送信先のパターンによって作成されたロググループのインスタンスを返します。 | 
|  キネシシファイアホセロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Kinesis Firehose 配信ストリームのパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  S3bucket? |  [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 バケットのインスタンスを返します。 | 
|  s3loggingBucket？  |  [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 バケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 

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

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

### Amazon IoT ルール
<a name="amazon-iot-rule"></a>
+  Amazon IoT の最小権限アクセス IAM ロールを設定する 

### Amazon Kinesis Firehose
<a name="amazon-kinesis-firehose"></a>
+  Kinesis Firehose の CloudWatch ログ記録を有効にする 
+  Amazon Kinesis Firehose の最小権限アクセス IAM ロールを設定する 

### Amazon S3 バケットのパターン
<a name="amazon-s3-bucket-1"></a>
+  S3 バケットのアクセスログの設定 
+  AWS マネージド KMS キーを使用した S3 バケットのサーバー側の暗号化の有効化 
+  S3 バケットのバージョニングを有効にする 
+  S3 バケットのパブリックアクセスを許可しない 
+  CloudFormation スタックを削除するときに S3 バケットを保持する 
+  ライフサイクルルールを適用して、90 日後に最新でないオブジェクトバージョンを Glacier ストレージに移動する 

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

![\[Workflow diagram showing spray bottle, cleaning, bucket, and cloud search icons with arrows.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-iot-kinesisfirehose-s3.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructs/aws-iot-キネシシファイアホース-3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-iot-kinesisfirehose-s3)  | 

# aws-イオット-ラムダ
<a name="aws-iot-lambda"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1iot\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-iot-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.iotlambda  | 

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

 この AWS ソリューション構築パターンは、AWS IoT MQTT トピックルールと AWS Lambda 関数パターンを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { IotToLambdaProps, IotToLambda } from '@aws-solutions-constructs/aws-iot-lambda';

const props: IotToLambdaProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    iotTopicRuleProps: {
        topicRulePayload: {
            ruleDisabled: false,
            description: "Processing of DTC messages from the AWS Connected Vehicle Solution.",
            sql: "SELECT * FROM 'connectedcar/dtc/#'",
            actions: []
        }
    }
};

new IotToLambda(this, 'test-iot-lambda-integration', props);
```

## Initializer
<a name="initializer-13"></a>

```
new IotToLambda(scope: Construct, id: string, props: IotToLambdaProps);
```

 *パラメータ* 
+  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[`IotToLambdaProps`](#pattern-construct-props-13) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjが提供される。 | 
|  IOttopicRuleProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html)  |  デフォルトを上書きするためにユーザが提供した CFntopicRuleProps  | 

## パターンプロパティ
<a name="pattern-properties-13"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  IOTTopicRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html)  |  パターンによって作成された IoT トピックルールのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 

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

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

### Amazon IoT ルール
<a name="amazon-iot-rule-2"></a>
+  Amazon IoT の最小権限アクセス IAM ロールを設定します。

### AWS Lambda 関数
<a name="aws-lambda-function-7"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にします。
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[Diagram showing data flow from a source to Lambda function and then to cloud search.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-iot-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-iot-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-iot-lambda)  | 

# aws-iot-ラムダ-ダイナモブ
<a name="aws-iot-lambda-dynamodb"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1iot\$1lambda\$1dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-iot-lambda-dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.iotlambdadynamodb  | 

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

 この AWS ソリューション構築パターンは、AWS IoT トピックルール、AWS Lambda 関数、および Amazon DynamoDB テーブルを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { IotToLambdaToDynamoDBProps,  IotToLambdaToDynamoDB } from '@aws-solutions-constructs/aws-iot-lambda-dynamodb';

const props: IotToLambdaToDynamoDBProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    iotTopicRuleProps: {
        topicRulePayload: {
            ruleDisabled: false,
            description: "Processing of DTC messages from the AWS Connected Vehicle Solution.",
            sql: "SELECT * FROM 'connectedcar/dtc/#'",
            actions: []
        }
    }
};

new IotToLambdaToDynamoDB(this, 'test-iot-lambda-dynamodb-stack', props);
```

## Initializer
<a name="initializer-12"></a>

```
new IotToLambdaToDynamoDB(scope: Construct, id: string, props: IotToLambdaToDynamoDBProps);
```

 *パラメータ* 
+  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[`IotToLambdaToDynamoDBProps`](#pattern-construct-props-12) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  ラムダファンクション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjが提供される。 | 
|  IOTTopicRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html)  |  デフォルトの小道具を上書きするためにユーザーが提供した小道具の提供  | 
|  DynamoTableProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  DynamoDB テーブルのデフォルトの小道具をオーバーライドするオプションのユーザー提供の小道具です  | 
|  テーブルパーミッション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Lambda 関数に付与されるオプションのテーブルパーミッション。以下のいずれかのオプションを指定できます。All,Read,ReadWrite, またはWrite。 | 

## パターンプロパティ
<a name="pattern-properties-12"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ダイナモテーブル  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  パターンによって作成された DynamoDB テーブルのインスタンスを返します。 | 
|  IOTTopicRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html)  |  パターンによって作成された IoT トピックルールのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 

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

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

### Amazon IoT ルール
<a name="amazon-iot-rule-1"></a>
+  Amazon IoT の最小権限アクセス IAM ロールを設定します。

### AWS Lambda 関数
<a name="aws-lambda-function-6"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にします。
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon DynamoDB テーブル
<a name="amazon-dynamodb-table-3"></a>
+  DynamoDB テーブルの請求モードをオンデマンドに設定します（リクエストごとの支払い）。
+  AWS マネージド KMS キーを使用して DynamoDB テーブルのサーバー側の暗号化を有効にします。
+  DynamoDB テーブルの 'id' という名前のパーティションキーを作成します。
+  CloudFormation スタックを削除するときに、テーブルを保持します。
+  継続的なバックアップとポイントインタイムリカバリを可能にします。

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

![\[Data flow diagram showing API Gateway, AWS Lambda, and Amazon CloudSearch components.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-iot-lambda-dynamodb.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-iot-lambda-ダイナモブ](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-iot-lambda-dynamodb)  | 

# aws-キネシシファイアホース-3
<a name="aws-kinesisfirehose-s3"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws-kinesis-firehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisfirehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisfirehoses3  | 

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

 この AWS ソリューション構築は、Amazon S3 バケットに接続された Amazon Kinesis Data Firehose 配信ストリームを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { KinesisFirehoseToS3 } from '@aws-solutions-constructs/aws-kinesisfirehose-s3';

new KinesisFirehoseToS3(this, 'test-firehose-s3', {});
```

## Initializer
<a name="initializer-15"></a>

```
new KinesisFirehoseToS3(scope: Construct, id: string, props: KinesisFirehoseToS3Props);
```

 *パラメータ* 
+  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[`KinesisFirehoseToS3Props`](#pattern-construct-props-15) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  BucketProps？  |  [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)  |  S3 バケットのデフォルトの小道具を上書きするオプションのユーザーが提供した小道具です。 | 
|  ExistingBucketObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  オプションの S3 バケットの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 | 
|  ExistingLoggingBucketObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  パターンによって作成された S3 バケットのログ S3 バケットの既存のインスタンス（オプション）。 | 
|  KineSisFireHoseprops？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html) \$1 any  |  Kinesis Firehose 配信ストリームのデフォルトの小道具を上書きするオプションのユーザーが提供した小道具です。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatchLogs LogGroup のデフォルトの小道具を上書きするオプションのユーザー提供の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-15"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  キネシファイアホース  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  コンストラクトによって作成された KinesIsFirehose.cfnDeliveryStream のインスタンスを返します。 | 
|  キネシシファイアホースロググループ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Kinesis Data Firehose hose 配信ストリームのコンストラクトによって作成された Logs.logGroup のインスタンスを返します。 | 
|  キネシシファイアホセロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Kinesis Data Firehose hose 配信ストリームのコンストラクトによって作成された IAM.role のインスタンスを返します。 | 
|  S3bucket？  |  [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.bucket のインスタンスを返します。 | 
|  s3loggingBucket？  |  [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.bucket のインスタンスを、プライマリバケットのロギングバケットとして返します。 | 

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

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

### Amazon Kinesis Firehose
<a name="amazon-kinesis-firehose-2"></a>
+  Kinesis Firehose の CloudWatch ログ記録を有効にする 
+  Amazon Kinesis Firehose の最小権限アクセス IAM ロールを設定する 

### Amazon S3 バケット
<a name="amazon-s3-bucket-3"></a>
+  S3 バケットのアクセスログの設定 
+  AWS マネージド KMS キーを使用した S3 バケットのサーバー側の暗号化の有効化 
+  S3 バケットのバージョニングを有効にする 
+  S3 バケットのパブリックアクセスを許可しない 
+  CloudFormation スタックを削除するときに S3 バケットを保持する 
+  転送時のデータの暗号化を強制する 
+ ライフサイクルルールを適用して、90 日後に最新でないオブジェクトバージョンを Glacier ストレージに移動する 

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

![\[Diagram showing data flow between icons for spray nozzle, bucket, cloud search, and bucket.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-kinesisfirehose-s3.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructs/aws-kinesfirehose-S3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisfirehose-s3)  | 

# aws-キネシスファイアホース-S3-アンドキネシス解析
<a name="aws-kinesisfirehose-s3-and-kinesisanalytics"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1kinesisfirehose\$1s3\$1and\$1kinesisanalytics  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalytics  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisfirehoses3kinesisanalytics  | 

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

 この AWS ソリューション構築は、Amazon S3 バケットに接続された Amazon Kinesis Firehose 配信ストリームと Amazon Kinesis Analytics アプリケーションを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { KinesisFirehoseToAnalyticsAndS3 } from '@aws-solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalytics';

new KinesisFirehoseToAnalyticsAndS3(this, 'FirehoseToS3AndAnalyticsPattern', {
    kinesisAnalyticsProps: {
        inputs: [{
            inputSchema: {
                recordColumns: [{
                    name: 'ticker_symbol',
                    sqlType: 'VARCHAR(4)',
                    mapping: '$.ticker_symbol'
                }, {
                    name: 'sector',
                    sqlType: 'VARCHAR(16)',
                    mapping: '$.sector'
                }, {
                    name: 'change',
                    sqlType: 'REAL',
                    mapping: '$.change'
                }, {
                    name: 'price',
                    sqlType: 'REAL',
                    mapping: '$.price'
                }],
                recordFormat: {
                    recordFormatType: 'JSON'
                },
                recordEncoding: 'UTF-8'
            },
            namePrefix: 'SOURCE_SQL_STREAM'
        }]
    }
});
```

## Initializer
<a name="initializer-14"></a>

```
new KinesisFirehoseToAnalyticsAndS3(scope: Construct, id: string, props: KinesisFirehoseToAnalyticsAndS3Props);
```

 *パラメータ* 
+  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[`KinesisFirehoseToAnalyticsAndS3Props`](#pattern-construct-props-14) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  KineSisFireHoseprops？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html)  |  Kinesis Firehose 配信ストリームのデフォルトのプロップを上書きするオプションのユーザー指定のプロップ。 | 
|  KinesisAnalyticsProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisanalytics.CfnApplicationProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisanalytics.CfnApplicationProps.html)  |  Kinesis Analytics アプリケーションのデフォルトのプロップを上書きするオプションのユーザー指定のプロップ。 | 
|  ExistingBucketObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  S3 Bucket オブジェクトの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 \$1  | 
|  BucketProps？  |  [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)  |  オプションのユーザー提供のプロパティ。バケットのデフォルトプロパティを上書きします。の場合は無視されます。existingBucketObjが提供される。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループの CloudWatch Logs ロググループのデフォルト小道具を上書きする、ユーザー指定のオプションの小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-14"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  キネシス・アナリティクス  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisanalytics.CfnApplication.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisanalytics.CfnApplication.html)  |  パターンによって作成された Kinesis Analytics アプリケーションのインスタンスを返します。 | 
|  キネシファイアホース  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  パターンによって作成された Kinesis Firehose 配信ストリームのインスタンスを返します。 | 
|  キネシシファイアホースロググループ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Kinesis Firehose アクセスログの送信先のパターンによって作成されたロググループのインスタンスを返します。 | 
|  キネシシファイアホセロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Kinesis Firehose 配信ストリームのパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  S3bucket? |  [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 バケットのインスタンスを返します。 | 
|  s3loggingBucket？  |  [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 バケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 

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

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

### Amazon Kinesis Firehose
<a name="amazon-kinesis-firehose-1"></a>
+  Kinesis Firehose の CloudWatch ログ記録を有効にする 
+  Amazon Kinesis Firehose の最小権限アクセス IAM ロールを設定する 

### Amazon S3 バケット
<a name="amazon-s3-bucket-2"></a>
+  S3 バケットのアクセスログの設定 
+  AWS マネージド KMS キーを使用した S3 バケットのサーバー側の暗号化の有効化 
+  S3 バケットのバージョニングを有効にする 
+  S3 バケットのパブリックアクセスを許可しない 
+  CloudFormation スタックを削除するときに S3 バケットを保持する 
+  転送時のデータの暗号化を強制する 
+ ライフサイクルルールを適用して、90 日後に最新でないオブジェクトバージョンを Glacier ストレージに移動する 

### Amazon Kinesis Data Analytics
<a name="amazon-kinesis-data-analytics"></a>
+  Amazon Kinesis Analytics の最小権限アクセス IAM ロールを設定する 

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-kinesisfirehose-s3-and-kinesisanalytics.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-kinesisfirehose-s3-and-kinesisanalytics](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalytics)  | 

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

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1kinesis\$1streams\$1gluejob  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisstreams-gluejob  | 
|  ![\[alt text not found\]](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>

![\[AWS Glue job diagram showing data flow from Kinesis to various storage destinations.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-kinesisstreams-gluejob.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-kinesistreams-gluejob](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob)  | 

# aws-キネシスストリーム-キネシスファイアホース-3
<a name="aws-kinesisstreams-kinesisfirehose-s3"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1kinesisstreams\$1kinesisfirehose\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) 活字体  |  @aws-solutions-constructs/aws-kinesis-streams-kinesis-firehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisstreamskinesisfirehoses3  | 

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

 この AWS ソリューション構成は、Amazon S3 バケットに接続された Amazon Kinesis データFirehose（KDF）配信ストリームに接続された Amazon Kinesis データストリーム（KDS）を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { KinesisStreamsToKinesisFirehoseToS3 } from '@aws-solutions-constructs/aws-kinesisstreams-kinesisfirehose-s3';

new KinesisStreamsToKinesisFirehoseToS3(this, 'test-stream-firehose-s3', {});
```

## Initializer
<a name="initializer-34"></a>

```
new KinesisStreamsToKinesisFirehoseToS3(scope: Construct, id: string, props: KinesisStreams...ToS3Props);
```

 *パラメータ* 
+  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[`KinesisStreams...ToS3Props`](#pattern-construct-props-34) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  BucketProps？  |  [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)  |  S3 バケットのデフォルトの小道具を上書きするオプションのユーザーが提供した小道具です。 | 
|  CreateCloudWatchalarms？  |  boolean  |  推奨される CloudWatch アラームを作成するかどうか（オプション）。 | 
|  ExistingBucketObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  オプションの S3 Bucket オブジェクトの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 | 
|  ExistingLoggingBucketObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  パターンによって作成された S3 バケットのログ S3 Bucket オブジェクトのオプションの既存のインスタンス。 | 
|  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はエラーを発生させます。 | 
|  KineSisFireHoseprops？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html) \$1 any  |  Kinesis Firehose 配信ストリームのデフォルトの小道具を上書きするオプションのユーザーが提供した小道具です。 | 
|  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)  |  Kinesis ストリームのデフォルトのプロップを上書きするオプションのユーザーが提供したプロップ。 | 
|  LogGroupPropsかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatchLogs ロググループのデフォルトの小道具を上書きするオプションのユーザー提供の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-34"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  CloudWatchAlarms  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  コンストラクトによって作成された CloudWatch.alarm インスタンスのリストを返します。 | 
|  キネシファイアホース  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  コンストラクトによって作成された KinesIsFirehose.cfnDeliveryStream のインスタンスを返します。 | 
|  キネシシファイアホースロググループ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Kinesis Data Firehose hose 配信ストリームのコンストラクトによって作成された Logs.logGroup のインスタンスを返します。 | 
|  キネシシファイアホセロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Kinesis Data Firehose hose 配信ストリームのコンストラクトによって作成された IAM.role のインスタンスを返します。 | 
|  キネシスストリームロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Kinesis ストリームのコンストラクトによって作成された IAM.Role のインスタンスを返します。 | 
|  s3bucket? |  [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.bucket のインスタンスを返します。 | 
|  s3loggingBucket？  |  [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.bucket のインスタンスを、プライマリバケットのロギングバケットとして返します。 | 

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

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

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

### Amazon Kinesis Firehose
<a name="amazon-kinesis-firehose-34"></a>
+  Kinesis Firehose の CloudWatch ログ記録を有効にする 
+  Amazon Kinesis Firehose の最小権限アクセス IAM ロールを設定する 

### Amazon S3 バケットの数
<a name="amazon-s3-bucket-34"></a>
+  S3 バケットのアクセスログ記録の設定 
+  AWS マネージド KMS キーを使用した S3 バケットのサーバー側の暗号化の有効化 
+  転送時のデータの暗号化を強制する 
+  バケットのバージョニングを有効にする 
+  S3 バケットのパブリックアクセスを許可しない 
+  CloudFormation スタックを削除するときに S3 バケットを保持する 
+  90 日後にライフサイクルルールを適用して、最新でないオブジェクトバージョンを Glacier ストレージに移動する 

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

![\[Workflow diagram showing data flow between components for face liveness detection.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-kinesisstreams-kinesisfirehose-s3.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructs/aws-キネシスストリーム-キネシスファイアホース-3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-kinesisfirehose-s3)  | 

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

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws-kinesis-streams-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisstreams-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisstreamslambda  | 

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

 この AWS ソリューション構築では、インタラクションとセキュリティのための適切なリソース/プロパティを持つ Kinesis ストリームと Lambda 関数がデプロイされます。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { KinesisStreamsToLambda } from '@aws-solutions-constructs/aws-kinesisstreams-lambda';

new KinesisStreamsToLambda(this, 'KinesisToLambdaPattern', {
    kinesisEventSourceProps: {
        startingPosition: lambda.StartingPosition.TRIM_HORIZON,
        batchSize: 1
    },
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-16"></a>

```
new KinesisStreamsToLambda(scope: Construct, id: string, props: KinesisStreamsToLambdaProps);
```

 *パラメータ* 
+  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[`KinesisStreamsToLambdaProps`](#pattern-construct-props-16) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されますexistingLambdaObjが提供される。 | 
|  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)  |  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はエラーを発生させます。 | 
|  KinesIsEventSourceProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.KinesisEventSourceProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.KinesisEventSourceProps.html)  |  オプションのユーザー提供の小道具で、Lambda イベントソースマッピングのデフォルトの小道具を上書きします。 | 
|  クラウド・ワット・チャラームズ  |  boolean  |  推奨される CloudWatch アラームを作成するかどうか。 | 

## パターンプロパティ
<a name="pattern-properties-16"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  KinesisStream  |  [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 ストリームのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  キネシス・ストリーム・ロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Kinesis ストリームのパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  CloudWatchAlarms？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  パターンによって作成される 1 つ以上の CloudWatch アラームのリストを返します。 | 

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

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

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

### AWS Lambda 関数
<a name="aws-lambda-function-8"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にします。
+  障害処理機能の有効化:関数エラーの bisect の有効化、デフォルトの最大レコード有効期間 (24 時間) の設定、デフォルトの最大再試行回数 (500) の設定、障害発生時の宛先として SQS デッドレターキューをデプロイします。
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[Diagram showing data flow between AWS のサービス: CloudWatch, Lambda, and IAM Role.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-kinesisstreams-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-kinesistreams-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-lambda)  | 

# aws-lambda-dynamodb
<a name="aws-lambda-dynamodb"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdadynamodb  | 

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

 この AWS ソリューション構成では、AWS Lambda 関数と Amazon DynamoDB テーブルが最小限の権限で実装されています。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { LambdaToDynamoDBProps,  LambdaToDynamoDB } from '@aws-solutions-constructs/aws-lambda-dynamodb';

const props: LambdaToDynamoDBProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
};

new LambdaToDynamoDB(this, 'test-lambda-dynamodb-stack', props);
```

## Initializer
<a name="initializer-17"></a>

```
new LambdaToDynamoDB(scope: Construct, id: string, props: LambdaToDynamoDBProps);
```

 *パラメータ* 
+  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[`LambdaToDynamoDBProps`](#pattern-construct-props-17) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjが提供される。 | 
|  DynamoTableProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  DynamoDB テーブルのデフォルトのプロップを上書きするオプションのユーザー提供の小道具  | 
|  ExistingTableObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  DynamoDB テーブルオブジェクトの既存のインスタンス。これとdynamoTablePropsはエラーを発生させます。 | 
|  テーブルパーミッション? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Lambda 関数に付与されるオプションのテーブルパーミッション。以下のいずれかのオプションを指定できます。All,Read,ReadWrite, またはWrite。 | 
|  表環境変数名ですか？  |  string  |  Lambda 関数に設定された DynamoDB テーブル環境変数のオプション名。 | 
|  既存のVPCかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  このパターンをデプロイするオプションの既存の VPC。VPC にデプロイされると、Lambda 関数は VPC 内の ENI を使用してネットワークリソースにアクセスし、ゲートウェイエンドポイントは Amazon DynamoDB 用の VPC 内に作成されます。既存の VPC が提供されている場合、deployVpcプロパティをtrue。これはec2.IVpcを使用して、クライアントがスタックの外部に存在する VPC を提供できるようにします。[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)方法。 | 
|  vPCProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  新しい VPC のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。enableDnsHostnames,enableDnsSupport,natGateways, およびsubnetConfigurationはパターンによって設定されるため、ここで指定されたプロパティの値はすべて上書きされます。もしdeployVpcではありませんtrueの場合、このプロパティは無視されます。 | 
|  DeployVPC？  |  boolean  |  に基づいて新しい VPC を作成するかどうかvpcPropsこのパターンを展開します。これをtrueに設定すると、パターンを実行するために最小限のほとんどのプライベート VPC がデプロイされます。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/aws-lambda-dynamodb.html) このプロパティがtrue、次にexistingVpcは指定できません。デフォルトは false です。 | 

## パターンプロパティ
<a name="pattern-properties-17"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ダイナモテーブル  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  パターンによって作成された DynamoDB テーブルのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  vpcay  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  パターンによって使用される VPC 上のインターフェイスを返します（存在する場合）。これは、パターンによって作成された VPC、またはパターンコンストラクタに提供された VPC です。 | 

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

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

### AWS Lambda 関数
<a name="aws-lambda-function-9"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray によるトレースを有効にします。
+  環境変数の設定:
  +  `DDB_TABLE_NAME` (デフォルト)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon DynamoDB テーブル
<a name="amazon-dynamodb-table-4"></a>
+  DynamoDB テーブルの請求モードをオンデマンドに設定します（リクエストごとの支払い）。
+  AWS マネージド KMS キーを使用して DynamoDB テーブルのサーバー側の暗号化を有効にします。
+  DynamoDB テーブルの 'id' という名前のパーティションキーを作成します。
+  CloudFormation スタックを削除するときに、テーブルを保持します。
+  継続的なバックアップとポイントインタイムリカバリを可能にします。

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

![\[Diagram showing data flow from OpenSearch and Lambda to DynamoDB and CloudSearch.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-dynamodb.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-lambda-dynamodb](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-dynamodb)  | 

# aws-lambda-Elasticsearch-
<a name="aws-lambda-elasticsearch-kibana"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1elasticsearch\$1kibana  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-elasticsearch-kibana  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdaelasticsearchkibana  | 

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

 この AWS ソリューション構築は、AWS Lambda 関数と Amazon Elasticsearch Service ドメインを実装し、権限が最も低い権限を持ちます。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { LambdaToElasticSearchAndKibana } from '@aws-solutions-constructs/aws-lambda-elasticsearch-kibana';
import { Aws } from "@aws-cdk/core";

const lambdaProps: lambda.FunctionProps = {
    runtime: lambda.Runtime.NODEJS_14_X,
    // This assumes a handler function in lib/lambda/index.js
    code: lambda.Code.fromAsset(`${__dirname}/lambda`),
    handler: 'index.handler'
};

new LambdaToElasticSearchAndKibana(this, 'test-lambda-elasticsearch-kibana', {
    lambdaFunctionProps: lambdaProps,
    domainName: 'test-domain',
    // TODO: Ensure the Cognito domain name is globally unique
    cognitoDomainName: 'globallyuniquedomain' + Aws.ACCOUNT_ID;
});
```

## Initializer
<a name="initializer-18"></a>

```
new LambdaToElasticSearchAndKibana(scope: Construct, id: string, props: LambdaToElasticSearchAndKibanaProps);
```

 *パラメータ* 
+  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[`LambdaToElasticSearchAndKibanaProps`](#pattern-construct-props-18) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合、無視されますexistingLambdaObjが提供される。 | 
|  ESDomainProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomainProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomainProps.html)  |  Amazon Elasticsearch Service デフォルトの小道具を上書きするためのオプションのユーザー提供の小道具です  | 
|  domainName  |  string  |  Cognito および Amazon Elasticsearch Service ドメイン名  | 
|  CognitoDomainName？  |  string  |  オプションの Cognito ドメインの名前。指定されている場合は、Cognito ドメインで使用され、domainNameがElasticsearchドメインに使用されます。 | 
|  クラウド・ワット・チャラームズ  |  boolean  |  推奨される CloudWatch アラームを作成するかどうか。 | 
|  DomainEndPointEnvironmentVariableName? |  string  |  Lambda 関数に設定された ElasticSearch ドメインエンドポイント環境変数のオプション名。 | 

## パターンプロパティ
<a name="pattern-properties-18"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  CloudWatchAlarms? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  パターンによって作成された 1 つ以上の CloudWatch アラームのリストを返します。 | 
|  弾性検索ドメイン  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomain.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomain.html)  |  パターンによって作成されたElasticsearchドメインのインスタンスを返します。 | 
|  ElasticSearchドメインロール  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Elasticsearch ドメインのパターンによって作成された IAM ロールのインスタンスを返します。 | 
|  IdentityPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnIdentityPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnIdentityPool.html)  |  パターンによって作成された Cognito ID プールのインスタンスを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  UserPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html)  |  パターンによって作成された Cognito ユーザープールのインスタンスを返します。 | 
|  UserLClient  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html)  |  パターンによって作成された Cognito ユーザープールクライアントのインスタンスを返します。 | 

## Lambda 関数
<a name="lambda-function-18"></a>

このパターンには、DynamoDB ストリームから Elasticsearch サービスにデータを投稿できる Lambda 関数が必要です。サンプル関数が提供される[ここ](https://github.com/awslabs/aws-solutions-constructs/blob/master/source/patterns/%40aws-solutions-constructs/aws-lambda-elasticsearch-kibana/test/lambda/index.js)。

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

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

### AWS Lambda 関数
<a name="aws-lambda-function-10"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray によるトレースを有効にします。
+  環境変数の設定:
  +  `DOMAIN_ENDPOINT` (デフォルト)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon Cognito
<a name="amazon-cognito-2"></a>
+  ユーザープールのパスワードポリシーを設定します。
+  ユーザープールの高度なセキュリティモードを適用します。

### Amazon Elasticsearch Service
<a name="amazon-elasticsearch-service-1"></a>
+  Elasticsearch ドメイン用のベストプラクティスの CloudWatch アラームをデプロイします。
+  Cognito ユーザープールを使用して、Kibana ダッシュボードのアクセスを保護します。
+  AWS マネージド KMS キーを使用して、Elasticsearch ドメインのサーバー側の暗号化を有効にします。
+  Elasticsearchドメインのノード間の暗号化を有効にします。
+  Amazon ES ドメインのクラスターを設定します。

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

![\[Diagram showing data flow between AWS Lambda, Amazon Athena, and identity verification.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-elasticsearch-kibana.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-lambda-elasticsearch-kibana](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-elasticsearch-kibana)  | 

# aws-ラムダ-s3
<a name="aws-lambda-s3"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdas3  | 

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

 この AWS ソリューション構築では、Amazon S3 バケットに接続された AWS Lambda 関数を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { LambdaToS3 } from '@aws-solutions-constructs/aws-lambda-s3';

new LambdaToS3(this, 'LambdaToS3Pattern', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-19"></a>

```
new LambdaToS3(scope: Construct, id: string, props: LambdaToS3Props);
```

 *パラメータ* 
+  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[`LambdaToS3Props`](#pattern-construct-props-19) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjはにあります。 | 
|  ExistingBucketObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  S3 Bucket オブジェクトの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 | 
|  BucketProps？  |  [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)  |  オプションのユーザー提供のプロパティ。バケットのデフォルトプロパティを上書きします。の場合は無視されます。existingBucketObjはにあります。 | 
|  BucketPermissions? |  string[]  |  Lambda 関数に付与するオプションのバケットアクセス許可。次の 1 つ以上。Delete,Put,Read,ReadWrite,Write。 | 
|  既存のVPCかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  このパターンをデプロイするオプションの既存の VPC。VPC にデプロイされると、Lambda 関数は VPC 内の ENI を使用してネットワークリソースにアクセスし、インターフェイスエンドポイントは Amazon SQS 用の VPC 内に作成されます。既存の VPC が提供されている場合、deployVpcプロパティは、true。これはec2.IVpcを使用して、クライアントがスタックの外部に存在する VPC を提供できるようにします。[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)メソッド。 | 
|  DeployVPC？  |  boolean  |  に基づいて新しい VPC を作成するかどうかvpcPropsこのパターンを展開します。これをに設定します。trueは、パターンを実行するために、最小限のほとんどのプライベート VPC をデプロイします。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/aws-lambda-s3.html) このプロパティがtrue、次にexistingVpcは指定できません。デフォルトは false です。 | 
|  vPCProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  新しい VPC のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。enableDnsHostnames,enableDnsSupport,natGatewaysおよびsubnetConfigurationはパターンによって設定されるため、ここで指定されたプロパティの値はすべて上書きされます。もしdeployVpcではありませんtrueの場合、このプロパティは無視されます。 | 
|  BucketEnvironmentVariableName？  |  string  |  Lambda 関数に設定された S3 バケット環境変数のオプション名。 | 

## パターンプロパティ
<a name="pattern-properties-19"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  S3bucket？  |  [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 バケットのインスタンスを返します。 | 
|  s3loggingBucket？  |  [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 バケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 
|  VPC？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  パターンによって使用される VPC のインスタンスを返します（存在する場合）。これは、パターンによって作成された VPC、またはパターンコンストラクタに提供された VPC です。 | 

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

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

### AWS Lambda 関数
<a name="aws-lambda-function-11"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にする
+  環境変数の設定:
  +  `S3_BUCKET_NAME` (デフォルト)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon S3 バケット
<a name="amazon-s3-bucket-4"></a>
+  S3 バケットのアクセスログを設定します。
+  AWS マネージド KMS キーを使用して S3 バケットのサーバー側の暗号化を有効にします。
+  S3 バケットのバージョニングを有効にします。
+  S3 バケットのパブリックアクセスを許可しません。
+  CloudFormation スタックを削除するときは、S3 バケットを保持します。
+  転送時のデータの暗号化を強制する。
+  90 日後に Glacier ストレージに最新でないオブジェクトバージョンを移動するライフサイクルルールを適用します。

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

![\[AWS Lambda function interacting with Amazon S3 bucket, mediated by an IAM role.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-s3.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-lambda-S3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-s3)  | 

# aws-ラムダ-ssmstringパラメータ
<a name="aws-lambda-ssmstringparameter"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1ssm\$1string\$1parameter  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypesScript  |  @aws-solutions-constructs/aws-lambda-ssmstringparameter  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdassmstringparameter  | 

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

 この AWS ソリューション構成では、AWS Lambda 関数と AWS Systems Manager Parameter Store 文字列パラメーターが最小権限で実装されます。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
const { LambdaToSsmstringparameterProps,  LambdaToSsmstringparameter } from '@aws-solutions-constructs/aws-lambda-ssmstringparameter';

const props: LambdaToSsmstringparameterProps = {
    lambdaFunctionProps: {
      runtime: lambda.Runtime.NODEJS_14_X,
      // This assumes a handler function in lib/lambda/index.js
      code: lambda.Code.fromAsset(`${__dirname}/lambda`),
      handler: 'index.handler'
    }, 
    stringParameterProps: { stringValue: "test-string-value" }
};

new LambdaToSsmstringparameter(this, 'test-lambda-ssmstringparameter-stack', props);
```

## Initializer
<a name="initializer-43"></a>

```
new LambdaToSsmstringparameter(scope: Construct, id: string, props: LambdaToSsmstringparameterProps);
```

 *パラメータ* 
+  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[`LambdaToSsmstringparameterProps`](#pattern-construct-props-43) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjが提供される。 | 
|  ExistingStringParameterObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html)  |  SSM String パラメータオブジェクトの既存のインスタンス。これとstringParameterPropsはエラーを発生させます。 | 
|  StringParameterProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameterProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameterProps.html)  |  SSM String パラメータのデフォルトプロップを上書きするオプションのユーザ提供の小道具です。もしexistingStringParameterObjが設定されていない場合、stringParameterPropsは必須です。はサポートされる唯一の方法です。[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameterProps.html#type](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameterProps.html#type)、[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.ParameterType.html#string](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.ParameterType.html#string)別の値が指定されている場合は、オーバーライドされます。 | 
|  StringParameterEnvironmentVariableName? |  string  |  Lambda 関数に設定された SSM String パラメーター環境変数のオプション名。 | 
|  既存のVPCかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  このパターンをデプロイするオプションの既存の VPC。VPC にデプロイされると、Lambda 関数は VPC 内の ENI を使用してネットワークリソースにアクセスし、インターフェイスエンドポイントが VPC for AWS Systems Manager パラメータに作成されます。既存の VPC が提供されている場合、deployVpcプロパティが、true。これは、ec2.IVpcを使用して、クライアントがスタックの外部に存在する VPC を提供できるようにします。[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)方法。 | 
|  vPCProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  新しい VPC のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。enableDnsHostnames,enableDnsSupport,natGatewaysおよびsubnetConfigurationはパターンによって設定されるため、ここで指定されたプロパティの値はすべて上書きされます。もしdeployVpcではありませんtrueの場合、このプロパティは無視されます。 | 
|  DeployVPC？  |  boolean  |  に基づいて新しい VPC を作成するかどうかvpcPropsこのパターンを展開します。これをに設定するtrueは、パターンを実行するために、最小限のほとんどのプライベート VPC をデプロイします。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/aws-lambda-ssmstringparameter.html) このプロパティがに設定されている場合true、次にexistingVpcは指定できません。デフォルトは false です。 | 
|  StringParameterPermissions  |  string  |  Lambda 関数に付与するオプションの SSM String パラメーターのアクセス許可。次のいずれかを指定できます。Read,ReadWrite。 | 

## パターンプロパティ
<a name="pattern-properties-43"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  のインスタンスを返します。lambda.Function構成によって作成されます。 | 
|  文字列Parameter  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html)  |  のインスタンスを返します。ssm.StringParameter構成によって作成されます。 | 
|  vpc? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  パターンによって使用される VPC 上のインターフェイスを返します（存在する場合）。これは、パターンによって作成された VPC、またはパターンコンストラクタに提供された VPC です。 | 

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

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

### AWS Lambda 関数
<a name="aws-lambda-function-9"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にします。
+  環境変数の設定:
  +  `SSM_STRING_PARAMETER_NAME` (デフォルト)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon AWS Systems Manager パラメータストア文字列
<a name="amazon-ssm-43"></a>
+  関連付けられた AWS Lambda 関数の読み取り専用アクセスを有効にします。
+  指定された値を使用して新しい SSM String パラメータを作成します。
+  CloudFormation スタックを削除するときは、SSM ストリングパラメーターを保持します。

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

![\[AWS Lambda logo connected to CloudFormation and AWSCloudWatch icons via arrows.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-ssmstringparameter.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-lambda-ssmstringパラメータ](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-ssmstringparameter)  | 

# aws-ラムダ-サゲマケレンドポイント
<a name="aws-lambda-sagemakerendpoint"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasagemakerendpoint  | 

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

 この AWS ソリューション構築物は、Amazon Sagemaker エンドポイントに接続された AWS Lambda 関数を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { Duration } from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import {
  LambdaToSagemakerEndpoint,
  LambdaToSagemakerEndpointProps,
} from '@aws-solutions-constructs/aws-lambda-sagemakerendpoint';

const constructProps: LambdaToSagemakerEndpointProps = {
  modelProps: {
    primaryContainer: {
      image: '{{AccountId}}.dkr.ecr.{{region}}.amazonaws.com/linear-learner:latest',
      modelDataUrl: 's3://{{bucket-name}}/{{prefix}}/model.tar.gz',
    },
  },
  lambdaFunctionProps: {
    runtime: lambda.Runtime.PYTHON_3_8,
    // This assumes a handler function in lib/lambda/index.py
    code: lambda.Code.fromAsset(`${__dirname}/lambda`),
    handler: 'index.handler',
    timeout: Duration.minutes(5),
    memorySize: 128,
  },
};

new LambdaToSagemakerEndpoint(this, 'LambdaToSagemakerEndpointPattern', constructProps);
```

## Initializer
<a name="initializer-41"></a>

```
new LambdaToSagemakerEndpoint(scope: Construct, id: string, props: LambdaToSagemakerEndpointProps);
```

 *パラメータ* 
+  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[`LambdaToSagemakerEndpointProps`](#pattern-construct-props-41) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。 | 
|  ExistingSagemakerendPointObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html)  |  使用する、オプションの既存のSagemaker Enpoint。これとendpointPropsはエラーを発生させます。 | 
|  ModelProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModelProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModelProps.html) \$1 any  |  Sagemaker モデルの既定のプロパティを上書きするユーザー指定のプロパティ。少なくともmodelProps.primaryContainerはモデルを作成するために提供する必要があります。デフォルトでは、パターンは最小限の権限でロールを作成しますが、クライアントはmodelProps.executionRoleArn。 | 
|  EndPointConfigProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfigProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfigProps.html)  |  Sagemaker エンドポイント設定のデフォルトプロパティを上書きする、ユーザー指定のオプションのプロパティです。 | 
|  EndPointProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointProps.html)  |  Sagemaker エンドポイントのデフォルトプロパティを上書きする、ユーザー指定のオプションのプロパティです。 | 
|  既存のVPCかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  オプションの既存の VPC で、このコンストラクトをデプロイします。VPC にデプロイされると、Lambda 関数と Sagemaker エンドポイントは VPC 内の ENI を使用してネットワークリソースにアクセスします。インターフェイスエンドポイントは、Amazon Sagemaker ランタイム用の VPC と Amazon S3 VPC エンドポイントに作成されます。既存の VPC が提供されている場合、deployVpcプロパティは、true。 | 
|  vPCProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  新しい VPC のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。enableDnsHostnames,enableDnsSupport,natGatewaysおよびsubnetConfigurationはコンストラクトによって設定されるため、ここで指定されたプロパティの値はすべて上書きされます。もしdeployVpcではありませんtrueに設定されている場合、このプロパティは無視されます。 | 
|  DeployVPC？  |  boolean  |  VPC に基づいて、新しい VPC を作成するかどうかvpcPropsこのパターンを展開します。これをに設定します。trueは、パターンを実行するために、最小限のほとんどのプライベート VPC をデプロイします。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/aws-lambda-sagemakerendpoint.html) このプロパティがtrue、次にexistingVpcは指定できません。デフォルトは false です。 | 
|  SagemakerenVironmentVariableName？  |  string  |  Lambda 関数に設定された SageMaker エンドポイント環境変数のオプション名。 | 

## パターンプロパティ
<a name="pattern-properties-41"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  サゲマケレンドポイント  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html)  |  パターンによって作成された Sagemaker エンドポイントのインスタンスを返します。 | 
|  SagemakerendPointConfig？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfig.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfig.html)  |  パターンによって作成された SageMaker EndpointConfig のインスタンスを返します。existingSagemakerEndpointObjは提供されていません。 | 
|  SageMakerModelかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModel.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModel.html)  |  パターンによって作成されたSagemakerモデルのインスタンスを返します。existingSagemakerEndpointObjは提供されていません。 | 
|  vpcかな  |  ec2.IVpc  |  パターンによって作成された VPC のインスタンスを返します。deployVpc、trueの場合、またはexistingVpcは、である。 | 

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

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

### AWS Lambda 関数
<a name="w23aab9d147c25b5"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  関数が推論の Sagemaker エンドポイントを呼び出すことを許可します。
+  Sagemaker エンドポイントがデプロイされている VPC 内のリソースにアクセスするように関数を設定します。
+  X-Ray トレースを有効にします。
+  環境変数の設定: 
  + `SAGEMAKER_ENDPOINT_NAME` (デフォルト)
  + `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon SageMaker エンドポイント
<a name="w23aab9d147c25b7"></a>
+  Sagemaker リソースを作成するための制限付き権限を設定します。
+  Sagemaker モデル、EndPointConfig、およびエンドポイントを展開します。
+  Sagemaker エンドポイントを VPC にデプロイするように設定します。
+  S3 VPC エンドポイントと Sagemaker ランタイム VPC インターフェイスをデプロイします。

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

![\[Diagram showing AWS Lambda connected to CloudWatch, SageMaker Endpoint, and IAM Roles.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-sagemakerendpoint.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructs/aws-lambda-sagemakerendpoint](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sagemakerendpoint)  | 

# aws-ラムダ-セクレツマネージャ
<a name="aws-lambda-secretsmanager"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1secretsmanager  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-secretsmanager  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasecretsmanager  | 

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

 この AWS ソリューション構築は、AWS Lambda 関数と AWS Secrets Manager のシークレットを、最も権限の低いアクセス権限で実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
const { LambdaToSecretsmanagerProps,  LambdaToSecretsmanager } from '@aws-solutions-constructs/aws-lambda-secretsmanager';

const props: LambdaToSecretsmanagerProps = {
    lambdaFunctionProps: {
      runtime: lambda.Runtime.NODEJS_14_X,
      // This assumes a handler function in lib/lambda/index.js
      code: lambda.Code.fromAsset(`${__dirname}/lambda`),
      handler: 'index.handler'
    },
};

new LambdaToSecretsmanager(this, 'test-lambda-secretsmanager-stack', props);
```

## Initializer
<a name="initializer-42"></a>

```
new LambdaToSecretsmanager(scope: Construct, id: string, props: LambdaToSecretsmanagerProps);
```

 *パラメータ* 
+  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[`LambdaToSecretsmanagerProps`](#pattern-construct-props-42) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトの小道具をオーバーライドするためにユーザーが提供した小道具です。 | 
|  SecretProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.SecretProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.SecretProps.html)  |  オプションのユーザーが提供する小道具で、Secrets Manager のデフォルトの小道具を上書きします。 | 
|  ExistingSecretObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html)  |  シークレットマネージャーのシークレットオブジェクトの既存のインスタンス、これが設定されている場合secretPropsは無視されます。 | 
|  GrantWriteAccessかな  |  boolean  |  Lambda 関数のシークレットへのオプションの書き込みアクセス (デフォルトでは読み取り専用)。 | 
|  SecretEnvironmentVariableName？  |  string  |  Lambda 関数に設定されたSecrets Manager のシークレット環境変数の省略可能な名前。 | 
|  既存のVPCかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  このパターンをデプロイするオプションの既存の VPC。VPC にデプロイされると、Lambda 関数は VPC 内の ENI を使用してネットワークリソースにアクセスし、インターフェイスエンドポイントは AWS Secrets Manager 用 VPC 内に作成されます。既存の VPC が提供されている場合、deployVpcプロパティは、true。これはec2.IVpcを使用して、クライアントがスタックの外部に存在する VPC を提供できるようにします。[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)メソッド。 | 
|  vPCProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  新しい VPC のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。enableDnsHostnames,enableDnsSupport,natGateways, およびsubnetConfigurationはパターンによって設定されるため、ここで指定されたプロパティの値はすべて上書きされます。もしdeployVpcではありませんtrueの場合、このプロパティは無視されます。 | 
|  DeployVPC？  |  boolean  |  に基づいて新しい VPC を作成するかどうかvpcPropsこのパターンを展開します。これをに設定するtrueは、パターンを実行するために、最小限のほとんどのプライベート VPC をデプロイします。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/aws-lambda-secretsmanager.html) このプロパティがtrue、次にexistingVpcは指定できません。デフォルトは false です。 | 

## パターンプロパティ
<a name="pattern-properties-42"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  のインスタンスを返すlambda.Function構成によって作成されます。 | 
|  シークレット  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html)  |  のインスタンスを返すsecretsmanager.Secret構成によって作成されます。 | 
|  vpcかな  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  パターンによって使用される VPC 上のインターフェイスを返します（存在する場合）。これは、パターンによって作成された VPC、またはパターンコンストラクタに提供された VPC です。 | 

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

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

### AWS Lambda 関数
<a name="aws-lambda-function-42"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にします。
+  環境変数の設定:
  +  (デフォルト) CDK が返すシークレットの ARN を含む SECRET\$1ARN[SecretArn](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html#secretarn)プロパティ
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon Secrets Manager のシークレット
<a name="aws-secretsmanger-secret"></a>
+  関連付けられた AWS Lambda 関数の読み取り専用アクセスを有効にする 
+  アカウントとリージョンのデフォルトの KMS キーを使用してサーバー側の暗号化を有効にする 
+  新しいシークレットを作成します。
  + (デフォルト) ランダムな名前
  + (デフォルト) ランダム値
+  CloudFormation スタックを削除するときにシークレットを保持する 

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

![\[Diagram showing AWS Lambda icon connecting to security and cloud search icons.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-secretsmanager.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-lambda-secretsmanager](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-secretsmanager)  | 

# aws-lambda-sns
<a name="aws-lambda-sns"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1sns  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sns  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasns  | 

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

 この AWS ソリューション構築物は、Amazon SNS トピックに接続された AWS Lambda 関数を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { LambdaToSns, LambdaToSnsProps } from "@aws-solutions-constructs/aws-lambda-sns";

new LambdaToSns(this, 'test-lambda-sns', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-20"></a>

```
new LambdaToSns(scope: Construct, id: string, props: LambdaToSnsProps);
```

 *パラメータ* 
+  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[`LambdaToSnsProps`](#pattern-construct-props-20) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjが提供される。 | 
|  ExistingTopicobj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  SNS トピックオブジェクトの既存のインスタンス。これとtopicPropsはエラーを発生させます。 | 
|  TopicProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  SNS トピックのデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。 | 
|  既存のVPCかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  このパターンをデプロイするオプションの既存の VPC。VPC にデプロイされると、Lambda 関数は VPC 内の ENI を使用してネットワークリソースにアクセスし、インターフェイスエンドポイントは Amazon SQS 用の VPC 内に作成されます。既存の VPC が提供されている場合、deployVpcプロパティは、できません。true。これは、を使用します。ec2.IVpcを使用して、クライアントがスタックの外部に存在する VPC を提供できるようにします。[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)メソッド。 | 
|  DeployVPC？  |  boolean  |  に基づいて新しい VPC を作成するかどうかvpcPropsこのパターンを展開します。これをに設定するtrueは、パターンを実行するために、最小限のほとんどのプライベート VPC をデプロイします。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/aws-lambda-sns.html) このプロパティがtrue、次にexistingVpcは指定できません。デフォルトは false です。 | 
|  vPCProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  新しい VPC のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。enableDnsHostnames,enableDnsSupport,natGatewaysおよびsubnetConfigurationはパターンによって設定されるため、ここで指定されたプロパティの値はすべて上書きされます。もしdeployVpcではありませんtrueの場合、このプロパティは無視されます。 | 
|  topicArnEnvironmentVariableName  |  string  |  Lambda 関数に設定された SNS トピック ARN 環境変数のオプション名。 | 
|  トピック名環境変数名ですか? |  string  |  Lambda 関数に設定された SNS トピック名環境変数のオプション名。 | 

## パターンプロパティ
<a name="pattern-properties-20"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  snsTopic  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  パターンによって作成された SNS トピックのインスタンスを返します。 | 
|  vpcかな  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  パターンによって使用される VPC のインスタンスを返します（存在する場合）。これは、パターンによって作成された VPC、またはパターンコンストラクタに提供された VPC です。 | 

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

 オーバーライドなしでコンストラクトをすぐに使用すると、次のデフォルトが設定されます。

### AWS Lambda 関数
<a name="aws-lambda-function-12"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray によるトレースを有効にします。
+  環境変数の設定:
  +  `SNS_TOPIC_NAME` (デフォルト)
  +  `SNS_TOPIC_ARN` (デフォルト)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon SNS トピック
<a name="amazon-sns-topic"></a>
+  SNS トピックの最小権限アクセス権限を設定します。
+  AWS マネージド KMS キーを使用してサーバー側の暗号化を有効にします。
+  転送時のデータの暗号化を強制する。

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

![\[AWS Lambda connected to Amazon Simple Notification Service with IAM role below Lambda.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-sns.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-構築/aws-lambda-sns](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sns)  | 

# aws-ラムダ-sqs
<a name="aws-lambda-sqs"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasqs  | 

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

 この AWS ソリューション構成は、Amazon SQS キューに接続された AWS Lambda 関数を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
 import { LambdaToSqs, LambdaToSqsProps } from "@aws-solutions-constructs/aws-lambda-sqs";

 new LambdaToSqs(this, 'LambdaToSqsPattern', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
 });
```

## Initializer
<a name="initializer-25"></a>

```
 new LambdaToSqs(scope: Construct, id: string, props: LambdaToSqsProps);
```

 *パラメータ* 
+  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[`LambdaToSqsProps`](#pattern-construct-props-25) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  デフォルト関数の代わりに使用されるオプションの既存の Lambda 関数。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。 | 
|  ExistingQueueObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  デフォルトキューの代わりに使用されるオプションの既存の SQS キュー。これとqueuePropsはエラーを発生させます。 | 
|  QueueProp? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  SQS キューのデフォルトプロパティーを上書きするオプションのユーザー指定のプロパティーです。 | 
|  キューのパージを有効化しますか? |  boolean  |  SQS キューの削除を可能にする Lambda 関数に追加のアクセス許可を付与するかどうか。デフォルトは false です。 | 
|  DeployDeadleterQueue  |  boolean  |  デッドレターキューとして使用する 2 次キューを作成するかどうか。デフォルトは true です。 | 
|  DeadletterQueueProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  デッドレターキューのデフォルト小道具を上書きするオプションのユーザ提供の小道具です。場合にのみ使用されます。deployDeadLetterQueueプロパティが true に設定されます。 | 
|  maxReceiveCount? |  number  |  デッドレターキューに移動する前に、メッセージがデキューされた回数。デフォルトは 15 です。 | 
|  既存のVPCかな？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  このパターンをデプロイするオプションの既存の VPC。VPC にデプロイされると、Lambda 関数は VPC 内の ENI を使用してネットワークリソースにアクセスし、インターフェイスエンドポイントは Amazon SQS 用の VPC 内に作成されます。既存の VPC が提供されている場合、deployVpcプロパティは、true。あんec2.IVpcを使用して、クライアントがスタックの外部に存在する VPC を[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)メソッド。 | 
|  DeployVPC？  |  boolean  |  に基づいて新しい VPC を作成するかどうかvpcPropsこのパターンを展開します。これをに設定するtrueは、パターンを実行するために、最小限のほとんどのプライベート VPC をデプロイします。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/aws-lambda-sqs.html) このプロパティがtrue、次にexistingVpcは指定できません。デフォルトは false です。 | 
|  vPCProps? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  新しい VPC のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。enableDnsHostnames,enableDnsSupport,natGateways, およびsubnetConfigurationはパターンによって設定されるため、ここで指定されたプロパティの値はすべてオーバーライドされます。もしdeployVpcではありませんtrueに設定されている場合、このプロパティは無視されます。 | 
|  キュー環境変数名ですか? |  string  |  Lambda 関数に設定された SQS キュー URL 環境変数のオプション名。 | 

## パターンプロパティ
<a name="pattern-properties-25"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  DeadLetterQueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成されたデッドレターキューのインスタンスを返します（デプロイされている場合）。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  SQUEUE  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成された SQS キューのインスタンスを返します。 | 
|  vpc? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  パターンによって作成または使用される VPC のインスタンスを返します（存在する場合）。これは、パターンによって作成された VPC、またはパターンコンストラクタに提供された VPC です。 | 

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

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

### AWS Lambda 関数
<a name="aws-lambda-function-25"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  関数がキューへのメッセージの送信のみを許可する（パージは`enableQueuePurge`プロパティ)。
+  X-Ray トレースを有効にする
+  環境変数の設定:
  +  `SQS_QUEUE_URL`
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon SQS キュー
<a name="amazon-sqs-queue-25"></a>
+  ソース SQS キューの SQS デッドレターキューをデプロイします。
+  AWS マネージド KMS キーを使用して、ソース SQS キューのサーバー側の暗号化を可能にします。
+  転送時のデータの暗号化を強制する。

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

![\[Icons representing cloud search, Lambda function, SQS queue, and DLQ in a workflow diagram.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-sqs.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-lambda-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sqs)  | 

# aws-ラムダ-sqs-ラムダ
<a name="aws-lambda-sqs-lambda"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1sqs\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sqs-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasqslambda  | 

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

 この AWS ソリューション構築パターンは、(1) キューにメッセージを送信するように設定された AWS Lambda 関数、(2) Amazon SQS キュー、(3) キューからメッセージを使用するように設定された AWS Lambda 関数を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { LambdaToSqsToLambda, LambdaToSqsToLambdaProps } from "@aws-solutions-constructs/aws-lambda-sqs-lambda";

new LambdaToSqsToLambda(this, 'LambdaToSqsToLambdaPattern', {
    producerLambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/producer-function/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda/producer-function`),
        handler: 'index.handler'
    },
    consumerLambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/consumer-function/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda/consumer-function`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-27"></a>

```
new LambdaToSqsToLambda(scope: Construct, id: string, props: LambdaToSqsToLambdaProps);
```

 *パラメータ* 
+  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[`LambdaToSqsToLambdaProps`](#pattern-construct-props-27) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingProducterLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  キューにメッセージを送信するためのデフォルト関数の代わりに使用する、オプションの既存の Lambda 関数。これとの両方を提供するproducerLambdaFunctionPropsはエラーを発生させます。 | 
|  ProducterLambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  プロデューサーの Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。 | 
|  ExistingQueueObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  デフォルトキューの代わりに使用されるオプションの既存の SQS キュー。これとの両方を提供するqueuePropsはエラーを発生させます。 | 
|  キュープロップ? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  SQS キューのデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。これとの両方を提供するexistingQueueObjはエラーを発生させます。 | 
|  デプロイデッドレッターキュー？  |  boolean  |  デッドレターキューとして使用するセカンダリキューを作成するかどうか。デフォルトは true です。 | 
|  DeadletterQueueProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  デッドレターキューのデフォルト小道具を上書きするオプションのユーザ提供の小道具です。場合にのみ使用されます。deployDeadLetterQueueプロパティはtrue。 | 
|  maxReceiveCount? |  number  |  デッドレターキューに移動する前に、メッセージがデキューに失敗した回数。デフォルトは 15 です。 | 
|  ExistingConsumerLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  キューからメッセージを受信/消費するためのデフォルト関数の代わりに使用されるオプションの既存の Lambda 関数。これとの両方を提供するconsumerLambdaFunctionPropsはエラーを発生させます。 | 
|  ConsumerLambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  コンシューマー Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。 | 
|  キュー環境変数名ですか? |  string  |  プロデューサ Lambda 関数に設定された SQS キュー URL 環境変数のオプション名。 | 

## パターンプロパティ
<a name="pattern-properties-27"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  コンシューマーラムダファンクション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成されたコンシューマ Lambda 関数のインスタンスを返します。 | 
|  DeadLetterQueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成されたデッドレターキューのインスタンスを返します（デプロイされている場合）。 | 
|  生産者ラムダファンクション  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成されたプロデューサ Lambda 関数のインスタンスを返します。 | 
|  SQUEUE  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成された SQS キューのインスタンスを返します。 | 

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

 このコンストラクトのすぐれた実装（オーバーライドされたプロパティなし）は、次のデフォルトに従います。

### AWS Lambda 関数
<a name="aws-lambda-function-27"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にする
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon SQS キュー
<a name="amazon-sqs-queue-27"></a>
+  プライマリキューにデッドレターキューをデプロイします。
+  AWS Managed KMS キーを使用して、プライマリキューに対してサーバー側の暗号化を有効にします。
+  転送時のデータの暗号化を強制する 

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

![\[Diagram showing cloud search, Lambda functions, queue, and DLQ components in AWS architecture.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-sqs-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-lambda-sqs-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sqs-lambda)  | 

# aws-ラムダ-ステップ関数
<a name="aws-lambda-step-function"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1step\$1function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-step-function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdastepfunction  | 

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

 この AWS ソリューション構築物は、AWS ステップ関数に接続された AWS Lambda 関数を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { LambdaToStepFunction } from '@aws-solutions-constructs/aws-lambda-step-function';
import * as stepfunctions from '@aws-cdk/aws-stepfunctions';

const startState = new stepfunctions.Pass(this, 'StartState');

new LambdaToStepFunction(this, 'LambdaToStepFunctionPattern', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    stateMachineProps: {
      definition: startState
    }
});
```

## Initializer
<a name="initializer-26"></a>

```
new LambdaToStepFunction(scope: Construct, id: string, props: LambdaToStepFunctionProps);
```

 *パラメータ* 
+  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[`LambdaToStepFunctionProps`](#pattern-construct-props-26) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。次の場合は無視されますexistingLambdaObjが提供される。 | 
|  ステートメントマシンプロップ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)  |  sfn.stateMachineにユーザーが提供した小道具です。 | 
|  クラウド・ワット・チャラームズ  |  boolean  |  推奨される CloudWatch アラームを作成するかどうか。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループの CloudWatch Logs ロググループのデフォルトの小道具を上書きするオプションのユーザー指定の小道具です。 | 
|  ステートメントマシン環境変数名  |  string  |  プロデューサーの Lambda 関数に設定されたStep Functions 状態マシン環境変数のオプション名。 | 

## パターンプロパティ
<a name="pattern-properties-26"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  CloudWatchAlarms? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  パターンによって作成される 1 つ以上の CloudWatch アラームのリストを返します。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  StateMachine  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)  |  パターンによって作成されたステートマシンのインスタンスを返します。 | 
|  ステートメントマシンロググループ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  ステートマシンのパターンによって作成されたロググループのインスタンスを返します。 | 

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

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

### AWS Lambda 関数
<a name="aws-lambda-function-26"></a>
+  Lambda 関数の制限付きアクセス権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray によるトレースを有効にします。
+  環境変数の設定:
  +  `STATE_MACHINE_ARN` (デフォルト)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### AWS Step Functions ステート
<a name="amazon-sf-state-machine-26"></a>
+  AWS Step Functions ステートマシン用のベストプラクティスの CloudWatch アラームをデプロイします。

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-step-function.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-ラムダ-ステップ関数](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-step-function)  | 

# aws-s3-ラムダ
<a name="aws-s3-lambda"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1s3\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-s3-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.s3lambda  | 

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

 この AWS ソリューション構築物は、AWS Lambda 関数に接続された Amazon S3 バケットを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { S3ToLambdaProps, S3ToLambda } from '@aws-solutions-constructs/aws-s3-lambda';

new S3ToLambda(this, 'test-s3-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
});
```

## Initializer
<a name="initializer-21"></a>

```
new S3ToLambda(scope: Construct, id: string, props: S3ToLambdaProps);
```

 *パラメータ* 
+  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[`S3ToLambdaProps`](#pattern-construct-props-21) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjはにあります。 | 
|  ExistingBucketObj？  |  [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 Bucket オブジェクトの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 | 
|  BucketProps？  |  [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)  |  オプションのユーザー提供のプロパティ。バケットのデフォルトプロパティを上書きします。の場合は無視されます。existingBucketObjはにあります。 | 
|  S3EventSourceProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.S3EventSourceProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.S3EventSourceProps.html)  |  S3EventSourceProps のデフォルトのプロップを上書きするオプションのユーザ提供の小道具  | 

## パターンプロパティ
<a name="pattern-properties-21"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  S3bucket? |  [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 バケットのインスタンスを返します。 | 
|  s3loggingBucket？  |  [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 バケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 

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

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

### Amazon S3 バケット名
<a name="amazon-s3-bucket-5"></a>
+  S3 バケットのアクセスログを設定します。
+  AWS マネージド KMS キーを使用して S3 バケットのサーバー側の暗号化を有効にします。
+  S3 バケットのバージョニングを有効にします。
+  S3 バケットのパブリックアクセスを許可しません。
+  CloudFormation スタックを削除するときは、S3 バケットを保持します。
+  転送時のデータの暗号化を強制する。
+  90 日後に Glacier ストレージに最新でないオブジェクトバージョンを移動するライフサイクルルールを適用します。

### AWS Lambda 関数
<a name="aws-lambda-function-13"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にします。
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[Diagram showing data flow from S3 bucket to Lambda function to CloudSearch domain.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-s3-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-solutions-constructions/aws-s3-ラムダ](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-s3-lambda)  | 

# aws-s3-sqs
<a name="aws-s3-sqs"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1s3\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-s3-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.s3sqs  | 

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

 この AWS ソリューション構築は、Amazon SQS キューに通知を送信するように設定された Amazon S3 バケットを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { S3ToSqs } from "@aws-solutions-constructs/aws-s3-sqs";

new S3ToSqs(stack, 'S3ToSQSPattern', {});
```

## Initializer
<a name="initializer-39"></a>

```
new S3ToSqs(scope: Construct, id: string, props: S3ToSqsProps);
```

 *パラメータ* 
+  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[`S3ToSqsProps`](#pattern-construct-props-39) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingBucketObj？  |  [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 Bucket オブジェクトの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 | 
|  BucketProps？  |  [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)  |  オプションのユーザー提供の小道具で、S3 バケットのデフォルトの小道具を上書きします。 | 
|  s3EventTypes？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.EventType.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.EventType.html)  |  通知をトリガーする S3 イベントタイプ。デフォルトは s3.EventType.OBJECT\$1CREATED です。 | 
|  S3EventFilters？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.NotificationKeyFilter.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.NotificationKeyFilter.html)  |  このイベントをトリガーするオブジェクトを決定するための S3 オブジェクトキーフィルタ規則。指定しない場合、フィルタ規則は適用されません。 | 
|  ExistingQueueObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  デフォルトキューの代わりに使用されるオプションの既存の SQS キュー。これとqueuePropsはエラーを発生させます。SQS キューが暗号化されている場合、暗号化に使用する KMS キーは、カスタマー管理の CMK である必要があります。 | 
|  QueueProp? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  SQS キューのデフォルトプロパティーを上書きするオプションのユーザー指定のプロパティーです。場合は、無視されます。existingQueueObjが提供される。 | 
|  DeadletterQueueProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  デッドレターキューのデフォルト小道具を上書きするオプションのユーザ提供の小道具です。場合にのみ使用されます。deployDeadLetterQueueプロパティが true に設定されている場合にのみ実行されます。 | 
|  DeployDeadleterQueue  |  boolean  |  デッドレターキューとして使用するセカンダリキューを作成するかどうか。デフォルトは true です。 | 
|  maxReceiveCount? |  number  |  デッドレターキューに移動する前に、メッセージがデキューに失敗した回数。デフォルトは 15 です。 | 
|  顧客管理キーによる暗号化の有効化  |  boolean  |  この CDK アプリで管理されるKMS キーを使用するか、インポートされるかを指定します。暗号化キーをインポートする場合は、暗号化キーをencryptionKeyプロパティです。 | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  デフォルトの暗号化キーの代わりに使用する、オプションの既存の暗号化キー。 | 
|  EncryptionKeyProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  オプションのユーザー指定のプロパティで、暗号化キーのデフォルトプロパティを上書きします。 | 

## パターンプロパティ
<a name="pattern-properties-39"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  SQUEUE  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成された SQS キューのインスタンスを返します。 | 
|  DeadLetterQueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成されたデッドレターキューのインスタンスを返します（デプロイされている場合）。 | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  パターンによって作成された暗号化キーのインスタンスを返します。 | 
|  S3bucket？  |  [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 バケットのインスタンスを返します。 | 
|  s3loggingBucket？  |  [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 バケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 

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

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

### Amazon S3 バケット
<a name="amazon-s3-bucket-39"></a>
+  S3 バケットのアクセスログの設定 
+  AWS マネージド KMS キーを使用した S3 バケットのサーバー側の暗号化の有効化 
+  S3 バケットのバージョニングを有効にする 
+  S3 バケットのパブリックアクセスを許可しない 
+  CloudFormation スタックを削除するときに S3 バケットを保持する 
+  転送時のデータの暗号化を強制する 
+  ライフサイクルルールを適用して、90 日後に最新でないオブジェクトバージョンを Glacier ストレージに移動する

### Amazon SQS キュー
<a name="aws-sqs-queue-39"></a>
+  SQS キューの最小権限アクセス権限の設定 
+  ソース SQS キューの SQS デッドレターキューのデプロイ 
+  カスタマー管理された KMS キーを使用した SQS キューのサーバー側の暗号化を有効にする 
+  転送時のデータの暗号化を強制する 

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

![\[Diagram showing Amazon Simple Notification Service connecting to Amazon Simple Queue Service and AWS Lambda.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-s3-sqs.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-s3-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-s3-sqs)  | 

# aws-s3ステップ関数
<a name="aws-s3-step-function"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1s3\$1step\$1function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-s3-step-function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.s3stepfunction  | 

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

 この AWS ソリューション構築物は、AWS ステップ関数に接続された Amazon S3 バケットを実装します。

**注記**  
この構造体は、Amazon EventBridge（Amazon CloudWatch Events）を使用して AWS Step Functions をトリガーします。EventBridge はより柔軟ですが、S3 イベント通知を使用してStep Functions をトリガーするレイテンシーが少なく、費用対効果が高くなります。コストやレイテンシーに問題がある場合は、`aws-s3-lambda`および`aws-lambda-stepfunctions`この構成要素の代わりに。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { S3ToStepFunction, S3ToStepFunctionProps } from '@aws-solutions-constructs/aws-s3-step-function';
import * as stepfunctions from '@aws-cdk/aws-stepfunctions';

const startState = new stepfunctions.Pass(this, 'StartState');

new S3ToStepFunction(this, 'test-s3-step-function-stack', {
    stateMachineProps: {
      definition: startState
    }
});
```

## Initializer
<a name="initializer-22"></a>

```
new S3ToStepFunction(scope: Construct, id: string, props: S3ToStepFunctionProps);
```

 *パラメータ* 
+  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[`S3ToStepFunctionProps`](#pattern-construct-props-22) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingBucketObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  S3 Bucket オブジェクトの既存のインスタンス。これが提供されている場合は、bucketPropsはエラーです。 | 
|  BucketProps？  |  [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)  |  オプションのユーザー提供のプロパティ。バケットのデフォルトプロパティを上書きします。の場合は無視されますexistingBucketObjが提供される。 | 
|  ステートメントマシンプロップ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)  |  sfn.stateMachine のデフォルトプロップを上書きするオプションのユーザ提供の小道具です。 | 
|  EventRuleProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  オプションのユーザーがデフォルトを上書きするために EventRuleProps を提供しました。 | 
|  デプロイクラウドトレイル？  |  boolean  |  AWS CloudTrail でトレイルをデプロイして、Amazon S3 で API イベントを記録するかどうか。デフォルトは true です。 | 
|  クラウド・ワット・チャラームズ  |  boolean  |  推奨される CloudWatch アラームを作成するかどうか。 | 
|  LogGroupProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  CloudWatch Logs ロググループのデフォルトの小道具を上書きする、オプションのユーザー提供の小道具です。 | 

## パターンプロパティ
<a name="pattern-properties-22"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  cloudtrail? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudtrail.Trail.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudtrail.Trail.html)  |  パターンによって作成されたCloudtrailトレイルのインスタンスを返します。 | 
|  CloudTrailBucket？  |  [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)  |  Cloudtrail トレイルデータを格納するためにパターンによって作成されたバケットのインスタンスを返します。 | 
|  CloudTrailLoggingBucket？  |  [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)  |  Cloudtrail トレイルで使用されるプライマリバケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 
|  CloudWatchAlarms？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  パターンによって作成される 1 つまたは複数の CloudWatch アラームのリストを返します。 | 
|  S3bucket？  |  [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 バケットのインスタンスを返します。 | 
|  s3loggingBucket？  |  [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 バケットのパターンによって作成されたロギングバケットのインスタンスを返します。 | 
|  StateMachine  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)  |  パターンによって作成されたステートマシンのインスタンスを返します。 | 
|  ステートメントマシンロググループ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  ステートマシンのパターンによって作成されたロググループのインスタンスを返します。 | 

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

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

### Amazon S3 バケット
<a name="amazon-s3-bucket-6"></a>
+  S3 バケットのアクセスログを設定します。
+  AWS マネージド KMS キーを使用して S3 バケットのサーバー側の暗号化を有効にします。
+  S3 バケットのバージョニングを有効にします。
+  S3 バケットのパブリックアクセスを許可しません。
+  CloudFormation スタックを削除するときは、S3 バケットを保持します。
+  転送時のデータの暗号化を強制します。
+  90 日後に Glacier ストレージに最新でないオブジェクトバージョンを移動するライフサイクルルールを適用します。

### AWS CloudTrail
<a name="aws-cloudtrail"></a>
+  AWS CloudTrail で証跡を設定し、構築によって作成されたバケットに関連する Amazon S3 の API イベントを記録します。

### Amazon CloudWatch Events Events ルール
<a name="amazon-cloudwatch-events-rule-2"></a>
+  CloudWatch イベントに Lambda 関数をトリガーするための最小限の権限を付与します。

### AWS ステップ関数
<a name="aws-step-function-1"></a>
+  API Gateway の CloudWatch ロギングを有効にします。
+  ベストプラクティスの CloudWatch アラームをステップ関数にデプロイします。

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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-s3-step-function.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-s3-ステップ関数](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-s3-step-function)  | 

# aws-sns-ラムダ
<a name="aws-sns-lambda"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1sns\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-sns-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.snslambda  | 

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

 この AWS ソリューション構築物は、AWS Lambda 関数に接続された Amazon SNS を実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { SnsToLambda, SnsToLambdaProps } from "@aws-solutions-constructs/aws-sns-lambda";

new SnsToLambda(this, 'test-sns-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-23"></a>

```
new SnsToLambda(scope: Construct, id: string, props: SnsToLambdaProps);
```

 *パラメータ* 
+  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[`SnsToLambdaProps`](#pattern-construct-props-23) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjはにあります。 | 
|  ExistingTopicobj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  SNS トピックオブジェクトの既存のインスタンス。これとtopicPropsはエラーを発生させます。 | 
|  TopicProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  SNS トピックのデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。 | 

## パターンプロパティ
<a name="pattern-properties-23"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  snsTopic  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  パターンによって作成された SNS トピックのインスタンスを返します。 | 

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

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

### Amazon SNS トピック
<a name="amazon-sns-topic-1"></a>
+  SNS トピックの最小権限アクセス権限を設定します。
+  AWS マネージド KMS キーを使用してサーバー側の暗号化を有効にします。
+  転送時のデータの暗号化を強制する。

### AWS Lambda 関数
<a name="aws-lambda-function-14"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にします。
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[Diagram showing data flow between icons representing different cloud services or components.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-sns-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-sns-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-sns-lambda)  | 

# aws-sns-sqs
<a name="aws-sns-sqs"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1sns\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-sns-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.snssqs  | 

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

 この AWS ソリューション構築は、Amazon SQS キューに接続された Amazon SNS トピックを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { SnsToSqs, SnsToSqsProps } from "@aws-solutions-constructs/aws-sns-sqs";
import * as iam from '@aws-cdk/aws-iam';

const snsToSqsStack = new SnsToSqs(this, 'SnsToSqsPattern', {});

// Grant yourself permissions to use the Customer Managed KMS Key
const policyStatement = new iam.PolicyStatement({
    actions: ["kms:Encrypt", "kms:Decrypt"],
    effect: iam.Effect.ALLOW,
    principals: [ new iam.AccountRootPrincipal() ],
    resources: [ "*" ]
});

snsToSqsStack.encryptionKey?.addToResourcePolicy(policyStatement);
```

## Initializer
<a name="initializer-28"></a>

```
new SnsToSqs(scope: Construct, id: string, props: SnsToSqsProps);
```

 *パラメータ* 
+  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[`SnsToSqsProps`](#pattern-construct-props-28) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingTopicobj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  SNS トピックオブジェクトの既存のインスタンス。これとtopicPropsはエラーを発生させます。 | 
|  TopicProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  SNS トピックのデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingTopicObjが提供される。 | 
|  ExistingQueueObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  デフォルトキューの代わりに使用されるオプションの既存の SQS キュー。これとqueuePropsはエラーを発生させます。 | 
|  キュープロップ  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  SQS キューのデフォルトプロパティーを上書きするオプションのユーザー指定のプロパティーです。の場合は無視されます。existingQueueObjが提供される。 | 
|  DeployDeadleterQueue  |  boolean  |  デッドレターキューとして使用するセカンダリキューを作成するかどうか。デフォルトは true です。 | 
|  DeadletterQueueProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  デッドレターキューのデフォルト小道具を上書きするオプションのユーザ提供の小道具です。場合にのみ使用されます。deployDeadLetterQueueプロパティが true に設定されています。 | 
|  maxReceiveCount? |  number  |  デッドレターキューに移動する前に、メッセージがデキューに失敗した回数。デフォルトは 15 です。 | 
|  顧客管理キーによる暗号化の有効化  |  boolean  |  カスタマー管理型の暗号化キーを使用するかどうか。このCDKアプリによって管理されるか、インポートされます。暗号化キーをインポートする場合、暗号化キーをencryptionKeyプロパティです。 | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  デフォルトの暗号化キーの代わりに使用する、オプションの既存の暗号化キー。 | 
|  EncryptionKeyProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  オプションのユーザー指定のプロパティで、暗号化キーのデフォルトプロパティを上書きします。 | 

## パターンプロパティ
<a name="pattern-properties-28"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  snsTopic  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  パターンによって作成された SNS トピックのインスタンスを返します。 | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  パターンによって作成された暗号化キーのインスタンスを返します。 | 
|  SQUEUE  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成された SQS キューのインスタンスを返します。 | 
|  DeadLetterQueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成されたデッドレターキューのインスタンスを返します（デプロイされている場合）。 | 

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

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

### Amazon SNS トピック
<a name="amazon-sns-topic-28"></a>
+  SNS トピックの最小権限アクセス権限を設定します。
+  AWS マネージド KMS キーを使用してサーバー側の暗号化を有効にします。
+  転送時のデータの暗号化を強制する。

### Amazon SQS キュー
<a name="aws-lambda-function-28"></a>
+  SQS キューの最小権限アクセス権限を設定します。
+  ソース SQS キューのデッドレターキューをデプロイする。
+  カスタマー管理の KMS キーを使用して、SQS キューのサーバー側の暗号化を可能にします。
+  転送時のデータの暗号化を強制する。

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

![\[AWS のサービス diagram showing SNS, SQS, and Lambda interactions with queues and notifications.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-sns-sqs.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-sns-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-sns-sqs)  | 

# aws-sqs-ラムダ
<a name="aws-sqs-lambda"></a>

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


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

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


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1sqs\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-sqs-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.sqslambda  | 

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

 この AWS ソリューション構築物は、AWS Lambda 関数に接続された Amazon SQS キューを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
const { SqsToLambda } = require('@aws-solutions-constructs/aws-sqs-lambda');

new SqsToLambda(stack, 'SqsToLambdaPattern', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-24"></a>

```
new SqsToLambda(scope: Construct, id: string, props: SqsToLambdaProps);
```

 *パラメータ* 
+  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[`SqsToLambdaProps`](#pattern-construct-props-24) 

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


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingLambdaObjはにあります。 | 
|  ExistingQueueObj？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  デフォルトキューの代わりに使用されるオプションの既存の SQS キュー。これとqueuePropsはエラーを発生させます。 | 
|  QueueProp? |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  SQS キューのデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingQueueObjはにあります。 | 
|  DeployDeadleterQueue  |  boolean  |  デッドレターキューとして使用するセカンダリキューを作成するかどうか。デフォルトは true です。 | 
|  DeadletterQueueProps？  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  デッドレターキューのデフォルト小道具を上書きするオプションのユーザ提供の小道具です。場合にのみ使用されます。deployDeadLetterQueueプロパティが true に設定された場合。 | 
|  maxReceiveCount? |  number  |  デッドレターキューに移動する前に、メッセージがデキューに失敗した回数。デフォルトは 15 です。 | 

## パターンプロパティ
<a name="pattern-properties-24"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  DeadLetterQueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成されたデッドレターキューのインスタンスを返します（デプロイされている場合）。 | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  SQUEUE  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成された SQS キューのインスタンスを返します。 | 

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

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

### Amazon SQS キュー
<a name="amazon-sqs-queue-1"></a>
+  ソース SQS キューの SQS デッドレターキューをデプロイします。
+  AWS マネージド KMS キーを使用して、ソース SQS キューのサーバー側の暗号化を可能にします。
+  転送時のデータの暗号化を強制する 

### AWS Lambda 関数
<a name="aws-lambda-function-15"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  X-Ray トレースを有効にする
+  環境変数の設定:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

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

![\[Diagram showing Amazon Simple Queue Service connecting to AWS Lambda, which interacts with CloudWatch and a Role.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-sqs-lambda.png)


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


|  **このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws-ソリューション-構築/aws-sqs-ラムダ](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-sqs-lambda)  | 

# core
<a name="core"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


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

 コアライブラリには、AWS ソリューション構成の基本的な構成要素が含まれています。AWS ソリューションコンストラクトの残りの部分で使用されるコアクラスを定義します。

## AWS CDK コンストラクトのデフォルトプロパティ
<a name="default-properties-for-aws-cdk-constructs"></a>

 コアライブラリは、AWS ソリューションコンストラクトで使用される AWS CDK コンストラクトのデフォルトのプロパティを設定します。

 たとえば、AWS Solutions Constructs コンストラクトで作成された S3 Bucket コンストラクトのデフォルトプロパティのスニペットは次のとおりです。デフォルトでは、サーバー側の暗号化、バケットのバージョニングが有効になり、すべてのパブリックアクセスがブロックされ、S3 アクセスログがセットアップされます。

```
{
  encryption: s3.BucketEncryption.S3_MANAGED,
  versioned: true,
  blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
  removalPolicy: RemovalPolicy.RETAIN,
  serverAccessLogsBucket: loggingBucket
}
```

## 既定のプロパティを上書きする
<a name="override-the-default-properties"></a>

 コアライブラリによって設定されたデフォルトのプロパティは、ユーザーが指定したプロパティによって上書きできます。たとえば、特定の要件を満たすために、ユーザーは Amazon S3 のパブリックアクセスをブロックするプロパティを上書きできます。

```
  const stack = new cdk.Stack();

  const props: CloudFrontToS3Props = {
    bucketProps: {
      blockPublicAccess: {
        blockPublicAcls: false,
        blockPublicPolicy: true,
        ignorePublicAcls: false,
        restrictPublicBuckets: true
      }
    }
  };

  new CloudFrontToS3(stack, 'test-cloudfront-s3', props);

  expect(stack).toHaveResource("AWS::S3::Bucket", {
    PublicAccessBlockConfiguration: {
      BlockPublicAcls: false,
      BlockPublicPolicy: true,
      IgnorePublicAcls: false,
      RestrictPublicBuckets: true
    },
  });
```

## プロパティのオーバーライドに関する警告
<a name="property-override-warnings"></a>

 コアライブラリのデフォルトプロパティがユーザー提供のプロパティによってオーバーライドされると、Constructsは変更を強調表示する1つ以上の警告メッセージをコンソールに放出します。これらのメッセージは、ユーザーに状況認識を提供し、セキュリティ上のリスクを招く可能性のある意図しない上書きを防止することを目的としています。これらのメッセージは、デプロイメント/ビルド関連のコマンドが実行されるたびに表示されます。`cdk deploy`,`cdk synth`,`npm test`、など 

 メッセージの例:`AWS_CONSTRUCTS_WARNING: An override has been provided for the property: BillingMode. Default value: 'PAY_PER_REQUEST'. You provided: 'PROVISIONED'.` 

### 上書き警告の切り替え
<a name="toggling-override-warnings"></a>

 上書き警告メッセージはデフォルトで有効になっていますが、`overrideWarningsEnabled`シェル変数。
+  明示的な実行*をオフにする*警告をオーバーライドする、実行`export overrideWarningsEnabled=false`。
+  明示的な実行*を有効化*警告をオーバーライドする、実行`export overrideWarningsEnabled=true`。
+  デフォルトに戻すには`unset overrideWarningsEnabled`。