

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# OpenSearch
<a name="opensearch-rule-action"></a>

OpenSearch(`openSearch`) 작업을 사용하여 MQTT 메시지의 데이터를 Amazon OpenSearch Service 도메인에 전송합니다. 그런 다음 OpenSearch 대시보드와 같은 도구를 사용하여 OpenSearch Service에서 데이터를 쿼리하고 시각화할 수 있습니다.

## 요구 사항
<a name="opensearch-rule-action-requirements"></a>

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
+ `es:ESHttpPut` 작업을 수행하기 위해가 맡을 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 [AWS IoT 규칙에 필요한 액세스 권한 부여](iot-create-role.md) 단원을 참조하십시오.

   AWS IoT 콘솔에서 역할을 선택하거나 생성하여가이 규칙 작업을 수행하도록 허용할 수 AWS IoT 있습니다.
+ 고객 관리형 AWS KMS key 를 사용하여 OpenSearch Service에서 저장 데이터를 암호화하는 경우 호출자를 대신하여 KMS 키를 사용할 수 있는 권한이 서비스에 있어야 합니다. 자세한 내용은 *Amazon OpenSearch Service 개발자 안내서*의 [Amazon OpenSearch Service의 저장 시 데이터 암호화](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html)를 참조하세요.

## 파라미터
<a name="opensearch-rule-action-parameters"></a>

이 작업으로 AWS IoT 규칙을 생성할 때 다음 정보를 지정해야 합니다.

`endpoint`  
Amazon OpenSearch Service 도메인의 엔드포인트입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: API 및 AWS CLI 만 해당

`index`  
데이터를 저장할 OpenSearch 인덱스입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예

`type`  
저장 중인 문서의 유형입니다.  
OpenSearch 버전이 1.0 이상인 경우 `type` 파라미터 값은 `_doc`여야 합니다. 자세한 내용은 [OpenSearch 설명서](https://opensearch.org/docs/1.0/opensearch/rest-api/document-apis/index-document/#response-body-fields)를 참조하세요.
[대체 템플릿](iot-substitution-templates.md) 지원: 예

`id`  
각 문서의 고유 식별자입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예

`roleARN`  
OpenSearch 도메인에 대한 액세스를 허용하는 IAM 역할입니다. 자세한 내용은 [요구 사항](#opensearch-rule-action-requirements) 단원을 참조하십시오.  
[대체 템플릿](iot-substitution-templates.md) 지원: 아니오

## 제한 사항
<a name="opensearch-rule-action-limitations"></a>

OpenSearch(`openSearch`) 작업은 VPC Elasticsearch 클러스터로 데이터를 전달하는 데 사용할 수 없습니다.

## 예제
<a name="opensearch-rule-action-examples"></a>

다음 JSON 예제에서는 AWS IoT 규칙에서 OpenSearch 작업을 정의하고 `OpenSearch` 작업에 대한 필드를 지정하는 방법을 정의합니다. 자세한 내용은 [OpenSearchAction](https://docs.aws.amazon.com/iot/latest/apireference/API_OpenSearchAction.html)을 참조하세요.

```
{
    "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` 필드는 OpenSearch 버전 1.0에서 작동합니다. 1.0 이후 버전에서는 `type`의 값이 `_doc`여야 합니다.

## 다음 사항도 참조하세요.
<a name="opensearch-rule-action-see-also"></a>

*Amazon OpenSearch Service 개발자 가이드*의 [Amazon OpenSearch Service란 무엇입니까?](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/)