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

OpenSearch

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

Requirements

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

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

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

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

Parameters

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

endpoint

您的 Amazon OpenSearch Service 域的终端节点。

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

index

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

支持替换模板:是

type

您存储的文档类型。

支持替换模板:是

id

每个文档的唯一标识符。

支持替换模板:是

roleARN

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

支持替换模板:否

Examples

下面的 JSON 示例定义了 Amazon 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 示例定义了 Amazon 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?