OpenSearch - AWS IoT Core

OpenSearch

OpenSearch (openSearch) アクションは、Amazon OpenSearch Service ドメインに MQTT メッセージからデータを書き込みます。その後、OpenSearch Dashboards などのツールを使用して、OpenSearch Service のデータをクエリおよび視覚化できます。

要件

このルールアクションには、以下の要件があります。

  • es:ESHttpPutオペレーションを実行するためにAWS IoTが引き受けることができる IAM ロール。詳細については、「AWS IoT ルールに必要なアクセスを付与する」を参照してください。

    AWS IoT コンソールで、AWS IoTがこのルールアクションを実行できるようにするロールを選択または作成できます。

  • OpenSearch Service 内の保管中のデータを暗号化するためにカスタマーマネージド AWS KMS key (KMS キー) を使用する場合は、サービスが発信者に代わって KMS キーを使用する許可を持っている必要があります。詳細については、Amazon OpenSearch Service デベロッパーガイドの「Amazon OpenSearch Service の保管中のデータの暗号化」を参照してください。

パラメータ

このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。

endpoint

Amazon OpenSearch Service ドメインのエンドポイント。

置換テンプレートのサポート: API と AWS CLI のみ

index

データを保存する OpenSearch インデックス。

置換テンプレートをサポート: はい

type

保存するドキュメントのタイプ。

置換テンプレートをサポート: はい

id

各ドキュメントの一意の識別子。

置換テンプレートをサポート: はい

roleARN

OpenSearch Service ドメインへのアクセスを許可する IAM ロール。詳細については、「要件」を参照してください。

置換テンプレートをサポート: いいえ

制約事項

OpenSearch (openSearch) アクションを使用して VPC Elasticsearch クラスターにデータを配信することはできません。

以下の JSON 例は、AWS IoT ルール内の OpenSearch アクションと、OpenSearch アクションのフィールドを指定する方法を定義します。詳細については、[OpenSearchAction]を参照してください。

{ "topicRulePayload": { "sql": "SELECT *, timestamp() as timestamp FROM 'iot/test'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "openSearch": { "endpoint": "https://my-endpoint", "index": "my-index", "type": "my-type", "id": "${newuuid()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_os" } } ] } }

以下の JSON 例は、AWS IoT ルール内で置換テンプレートを使用して OpenSearch アクションを定義します。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "openSearch": { "endpoint": "https://my-endpoint", "index": "${topic()}", "type": "${type}", "id": "${newuuid()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_os" } } ] } }

以下も参照してください。

Amazon OpenSearch Service デベロッパーガイドの「Amazon OpenSearch Service とは?