OpenSearch - AWS IoT Core

OpenSearch

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

Requirements

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

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

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

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

Parameters

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

endpoint

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

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

index

データを保存したいOpenSearch インデックス。

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

type

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

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

id

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

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

roleARN

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

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

Examples

次の 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 とは