

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

# 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)  | 