本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
提出和签署 OpenSearch Service 请求
即使您配置完全开放的基于资源的访问策略,对 OpenSearch Service 配置 API 的所有请求都必须经过签名。如果策略指定 IAM 角色或用户,则对 OpenSearch API 的请求也必须使用 AWS Signature 版本 4 进行签名。签名方法因 API 而异:
-
要调用 OpenSearch Service 配置 API,我们建议您使用一个 AWS SDK
。与创建和签署您自己的请求相比,开发工具包可大大简化流程,从而为您节省大量时间。配置 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" } }如果您使用了其中一个开发工具包(如 Boto 3
),该开发工具包将自动处理请求签名: import boto3 client = boto3.client(es) response = client.update_domain_config( DomainName='
movies
', ClusterConfig={ 'InstanceType': 'c5.xlarge.search' } )有关 Java 代码示例,请参阅使用 AWS SDK 与 Amazon OpenSearch Service 进行交互。
-
要调用 OpenSearch API,您必须签署您自己的请求。OpenSearch API 采用以下格式:
domain-id
.region
.es.amazonaws.com例如,以下请求将在
movies
索引中搜索 thor:GET https://
my-domain
.us-east-1
.es.amazonaws.com/movies/_search?q=thor
注意
对于用签名版本 4 签署的 HTTP POST 请求,服务会忽略在 URL 中传入的参数。