Elasticsearch
La acción Elasticsearch (elasticsearch) escribe los datos de los mensajes MQTT en un dominio de Amazon OpenSearch Service. A continuación, puede utilizar herramientas como OpenSearch Dashboards para consultar y visualizar datos en OpenSearch Service.
aviso
La acción Elasticsearch solo puede ser utilizado por acciones de reglas existentes. Para crear una nueva acción de regla o actualizar una acción de regla existente, use la acción de la regla OpenSearch en su lugar. Para obtener más información, consulte OpenSearch.
Requisitos
Esta regla tiene los siguientes requisitos:
-
Un rol de IAM que AWS IoT puede asumir para realizar la operación
es:ESHttpPut. Para obtener más información, consulte Otorgar a una regla AWS IoT el acceso que requiere.En la consola de AWS IoT, puede elegir o crear un rol que permita a AWS IoT realizar esta acción de regla.
-
Si utiliza una clave gestionada por el cliente (clave KMS) AWS KMS key para cifrar datos en reposo en OpenSearch, el servicio debe tener permiso para utilizar la clave KMS en nombre de la persona que llama. Para obtener más información, consulte Cifrado de datos en reposo para Amazon OpenSearch Service en la Guía para desarrolladores de Amazon OpenSearch Service..
Parámetros
Cuando cree una regla AWS IoT con esta acción, debe especificar la información siguiente:
endpoint-
El punto de conexión de su dominio de servicio.
Admite plantillas de sustitución: API y AWS CLI únicamente
index-
Índice de donde se van a almacenar los datos.
Admite plantillas de sustitución: Sí
type-
Tipo de documento que está almacenando.
Admite plantillas de sustitución: Sí
id-
Identificador único de cada documento.
Admite plantillas de sustitución: Sí
roleARN-
El rol de IAM que permite el acceso al dominio de OpenSearch Service. Para obtener más información, consulte Requisitos.
Admite plantillas de sustitución: No
Ejemplos
El siguiente ejemplo de JSON define una acción de Elasticsearch en una regla AWS IoT y cómo se pueden especificar los campos de la acción elasticsearch. Para obtener más información, consulte 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" } } ] } }
El siguiente ejemplo JSON define una acción Elasticsearch con plantillas de sustitución en una regla AWS IoT.
{ "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" } } ] } }