View a markdown version of this page

Elasticsearch - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Elasticsearch

Elasticsearch (elasticsearch) 操作将来自 MQTT 消息的数据写入亚马逊 OpenSearch 服务域。然后,您可以使用 OpenSearch 仪表板等工具来查询和可视化 OpenSearch 服务中的数据。

警告

Elasticsearch 操作只能由现有规则操作使用。要创建新的规则操作或更新现有规则操作,请使用 OpenSearch 规则而不是操作。有关更多信息,请参阅 OpenSearch。

要求

此规则操作具有以下要求:

  • Amazon IoT 可以代入执行es:ESHttpPut操作的 IAM 角色。有关更多信息,请参阅 授予 Amazon IoT 控制其所需的访问权限。

    在 Amazon IoT 控制台中,您可以选择或创建 Amazon IoT 允许执行此规则操作的角色。

  • 如果您使用客户管理 Amazon KMS key (KMS 密钥)对中的静态数据进行加密 OpenSearch,则该服务必须有权代表呼叫者使用 KMS 密钥。有关更多信息,请参阅《亚马逊服务开发者指南》中的亚马逊 OpenSearch 服务静态数据加密。 OpenSearch

参数

使用此操作创建 Amazon IoT 规则时,必须指定以下信息:

endpoint

您的服务域端点。

支持替代模板: Amazon CLI 仅支持 API

index

您要在其中存储数据的索引。

支持替换模板:是

type

您存储的文档类型。

支持替换模板:是

id

每个文档的唯一标识符。

支持替换模板:是

roleARN

允许访问 OpenSearch 服务域的 IAM 角色。有关更多信息,请参阅 要求。

支持替换模板:否

示例

以下 JSON 示例定义了 Amazon IoT 规则中的 Elasticsearch 操作以及如何为该elasticsearch操作指定字段。有关更多信息,请参阅 ElasticsearchAction。

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

以下 JSON 示例使用 Amazon IoT 规则中的替换模板定义了 Elasticsearch 操作。

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

另请参阅