AWS Elasticsearch:elasticsearch-rest-high-level-client发出的请求签名

3
我们正在使用elasticsearch-rest-high-level-client与AWS Elasticsearch进行通信。
但是,据我们所知,我们需要使用AWS凭证对请求进行签名。我知道AWS4Signer类,但不知道如何将其与elasticsearch-rest-high-level-client一起使用。

1
这应该能帮助您入门:https://dev59.com/jVsX5IYBdhLWcg3wf_c8 - Val
2个回答

0

现在有一个新的维护分支,它是 aws-request-signing-apache-interceptor 的存档版本。它已经升级到 AWS SDK 2,并且修复了一些 bug,例如支持重试。它包含了一个可工作的示例,展示如何与 Amazon OpenSearch(Elasticsearch)进行通信。最新版本 2.1.1 刚刚发布到 Maven 中央仓库。


0

来自 AWS 的 文档

public static RestHighLevelClient esClient(String serviceName, String region) {
    AWS4Signer signer = new AWS4Signer();
    signer.setServiceName(serviceName);
    signer.setRegionName(region);
    HttpRequestInterceptor interceptor = new AWSRequestSigningApacheInterceptor(serviceName, signer, credentialsProvider);
    return new RestHighLevelClient(RestClient.builder(HttpHost.create(aesEndpoint)).setHttpClientConfigCallback(hacb -> hacb.addInterceptorLast(interceptor)));
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接