Elasticsearch
Elasticsearch(elasticsearch) 작업을 사용하여 MQTT 메시지의 데이터를 Amazon OpenSearch Service 도메인에 전송합니다. 그런 다음 OpenSearch 대시보드와 같은 도구를 사용하여 OpenSearch Service에서 데이터를 쿼리하고 시각화할 수 있습니다.
주의
Elasticsearch 작업은 기존 규칙 작업에서만 사용할 수 있습니다. 새 규칙 작업을 생성하거나 기존 규칙 작업을 업데이트하려면 대신 OpenSearch 규칙 작업을 사용합니다. 자세한 내용은 OpenSearch 섹션을 참조하세요.
요구 사항
이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
-
AWS IoT가
es:ESHttpPut작업을 수행하기 위해 수임할 수 있는 IAM 역할입니다. 자세한 내용은 액세스가 필요한 AWS IoT 규칙 권한 부여 단원을 참조하세요.AWS IoT 콘솔에서 역할을 선택하거나 생성하여 AWS IoT가 규칙 작업을 수행할 수 있도록 합니다.
-
고객 관리형 AWS KMS key(KMS 키)를 사용하여 OpenSearch에서 저장 데이터를 암호화하는 경우 호출자를 대신하여 KMS 키를 사용할 수 있는 권한이 서비스에 있어야 합니다. 자세한 내용은 Amazon OpenSearch Service 개발자 안내서의 Amazon OpenSearch Service의 저장 시 데이터 암호화를 참조하세요.
파라미터
이 작업을 포함한 AWS IoT 규칙을 생성할 때 다음 정보를 지정해야 합니다.
예시
다음 JSON 예제는 AWS 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 예제는 AWS 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" } } ] } }