

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 提出和签署 OpenSearch 服务请求
<a name="managedomains-signing-service-requests"></a>

即使您配置了完全开放的基于资源的访问策略，对 OpenSearch 服务配置 API *的所有*请求也必须经过签名。如果您的策略指定了 IAM 角色或用户，则向的请求 OpenSearch APIs 也必须使用签 AWS 名版本 4 进行签名。签名方法因 API 而异：
+ 要调用 OpenSearch 服务配置 API，我们建议您使用其中一个[AWS SDKs](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html)。与创建和签署自己的请求相比，这 SDKs极大地简化了流程，可以为您节省大量时间。配置 API 终端节点采用以下格式：

  ```
  es.region.amazonaws.com/2021-01-01/
  ```

  例如，以下请求将对 `movies` 域进行配置更改，但您必须自行签名（不推荐）：

  ```
  POST https://es.us-east-1.amazonaws.com/2021-01-01/opensearch/domain/movies/config
  {
    "ClusterConfig": {
      "InstanceType": "c5.xlarge.search"
    }
  }
  ```

  如果您使用其中一个 SDKs，例如 [Boto 3，](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearch.html#OpenSearchService.Client.update_domain_config)SDK 会自动处理请求签名：

  ```
  import boto3
  
  client = boto3.client(es)
  response = client.update_domain_config(
    DomainName='movies',
    ClusterConfig={
      'InstanceType': 'c5.xlarge.search'
    }
  )
  ```

  有关 Java 代码示例，请参阅[使用 AWS SDKs 与亚马逊 OpenSearch 服务互动](configuration-samples.md)。
+ 要拨打电话 OpenSearch APIs，您必须签署自己的请求。它们 OpenSearch APIs 使用以下格式：

  ```
  domain-id.region.es.amazonaws.com
  ```

  例如，以下请求将在 `movies` 索引中搜索 *thor*：

  ```
  GET https://my-domain.us-east-1.es.amazonaws.com/movies/_search?q=thor
  ```

**注意**  
该服务会忽略 URLs 为使用签名版本 4 签名的 HTTP POST 请求传入的参数。