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

Elasticsearch

Elasticsearch (elasticsearch) 操作可将 MQTT 消息中的数据写入 Amazon Elasticsearch Service 域。然后,您可以使用像 Kibana 这样的工具来查询和可视化 Elasticsearch 中的数据。

Requirements

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

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

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

  • 如果您使用客户托管的 Amazon Key Management Service (Amazon KMS) 客户主密钥 (CMK) 在 Elasticsearch 中对数据进行静态加密,则服务必须具有代表调用方使用 CMK 的权限。有关更多信息,请参阅 Amazon Elasticsearch Service 开发人员指南中的 为 Amazon Elasticsearch Service 静态加密数据

Parameters

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

endpoint

Amazon Elasticsearch Service 域的端点。

支持替换模板:仅限 API 和 Amazon CLI

index

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

支持替换模板:是

type

您存储的文档类型。

支持替换模板:是

id

每个文档的唯一标识符。

支持替换模板:是

roleARN

允许访问 Elasticsearch 域的 IAM 角色。有关更多信息,请参阅 Requirements

支持替换模板:否

Examples

下面的 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" } } ] } }

另请参阅