本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
OpenSearch
OpenSearch (openSearch
) 操作可将 MQTT 消息中的数据写入 Amazon Serv OpenSearch ice 域。然后,您可以使用像 Dashboards OpenSearch 这样的工具来查询和可视化 Serv OpenSearch ice 中的数据。
要求
此规则操作具有以下要求:
-
Amazon IoT 可以承担以执行
es:ESHttpPut
操作的 IAM 角色。有关更多信息,请参阅向 Amazon IoT 规则授予所需的访问权限:在 Amazon IoT 控制台中,您可以选择或创建一个角色以允许 Amazon IoT 执行此规则操作。
-
如果您使用客户托管式Amazon KMS key(KMS 密钥)对 Service 中的 OpenSearch 数据进行静态加密,服务必须具有代表调用方使用 KMS 的权限。有关更多信息,请参阅 Amazon S ervice 开发人员指南中的为 Amazon S OpenSearch erv OpenSearch ice 静态加密数据。
参数
使用此操作创建 Amazon IoT 规则时,您必须指定以下信息:
限制
OpenSearch (openSearch
) 操作不能用于向 VPC Elasticsearch 集群传送数据。
示例
下面的 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" } } ] } }
另请参阅
什么是亚马逊 OpenSearch 服务? 在《亚马逊 OpenSearch 服务开发者指南》中