提出並簽署 OpenSearch 服務請求 - Amazon OpenSearch Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

提出並簽署 OpenSearch 服務請求

即使您設定完全開啟的資源型存取政策,API仍必須簽署 OpenSearch 服務組態的所有請求。如果您的政策指定IAM角色或使用者,也必須使用 AWS Signature 第 OpenSearch APIs4 版簽署對 的請求。簽署方法因 而異API:

  • 若要呼叫 OpenSearch 服務組態 API,建議您使用其中一個 AWS SDKs。可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,則 SDK會自動處理請求簽署:

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

    如需 Java 程式碼範例,請參閱使用AWS與亞馬遜互動的 SDKOpenSearch服務

  • 若要呼叫 OpenSearch APIs,您必須簽署自己的請求。 OpenSearch APIs 使用以下格式:

    domain-id.region.es.amazonaws.com

    例如,以下請求將搜尋 thormovies 索引:

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

對於使用 Signature 第 4 版簽署的HTTPPOST請求,服務會忽略傳入URLs的參數。