本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
OpenSearch
OpenSearch (openSearch
) 動作會將MQTT訊息中的資料寫入 Amazon OpenSearch Service 網域。然後,您可以使用 OpenSearch Dashboards 等工具來查詢和視覺化 OpenSearch Service 中的資料。
要求
此規則動作具有下列需求:
-
AWS IoT 可以擔任以執行
es:ESHttpPut
操作IAM的角色。如需詳細資訊,請參閱授予 AWS IoT 規則所需的存取權。在 AWS IoT 主控台中,您可以選擇或建立允許 AWS IoT 執行此規則動作的角色。
-
如果您使用受管客戶 AWS KMS key 來加密 OpenSearch 服務中的靜態資料,服務必須具有代表發起人使用KMS金鑰的許可。如需詳細資訊,請參閱《Amazon OpenSearch Service 開發人員指南》中的 Amazon Service 靜態資料加密。 OpenSearch
參數
使用此動作建立 AWS IoT 規則時,您必須指定下列資訊:
限制
OpenSearch (openSearch
) 動作無法用來將資料交付至 VPC Elasticsearch 叢集。
範例
下列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": "_doc", "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" } } ] } }
注意
取代type
的欄位適用於 1.0 OpenSearch 版。對於任何 1.0 之後的版本, 的值type
必須為 _doc
。
另請參閱
Amazon OpenSearch Service 開發人員指南中的什麼是 Amazon Service? OpenSearch