

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

OpenSearch (`openSearch`) アクションは、Amazon OpenSearch Service ドメインに MQTT メッセージからデータを書き込みます。その後、OpenSearch Dashboards などのツールを使用して、OpenSearch Service のデータをクエリおよび視覚化できます。

## 要件
<a name="opensearch-rule-action-requirements"></a>

このルールアクションには、以下の要件があります。
+ オペレーションを実行するために が引き受け AWS IoT ることができる IAM ロール`es:ESHttpPut`。詳細については、「[必要なアクセスを AWS IoT ルールに付与する](iot-create-role.md)」を参照してください。

   AWS IoT コンソールで、このルールアクションを実行することを に許可 AWS IoT するロールを選択または作成できます。
+ OpenSearch Service でカスタマーマネージドを使用して保管中のデータを AWS KMS key 暗号化する場合、サービスには発信者に代わって KMS キーを使用するアクセス許可が必要です。詳細については、[Amazon OpenSearch Service デベロッパーガイド](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html)の「*Amazon OpenSearch Service の保管中のデータの暗号化*」を参照してください。

## パラメータ
<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`  
保存するドキュメントのタイプ。  
1.0 以降の OpenSearch バージョンでは、`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 Service ドメインへのアクセスを許可する 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 デベロッパーガイド](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/)の「*Amazon OpenSearch Service とは?*」