是否有AWS ElasticSearch Client SDK for Java,它使用AWS凭证对请求进行签名?我看到this,但我想它是用于管理AWS Elasticsearch Service。
答案 0 :(得分:0)
您可以通过以下方式为Elasticsearch创建AWS客户端:
AwsClientBuilder.withCredentials(AWSCredentialsProvider) for example: AWSElasticsearchClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();
我是如何做到的,首先通过提供awsAccessKey,awsSecretKey和sessionToken信息创建AWSBasicSessionCredential实例,然后在上面的代码中传递此实例以构建客户端实例。但是,我这样做是为了对客户端进行测试编程。不建议以这种方式创建客户端。例如,一种安全方式是使用联合标识生成临时安全令牌,然后使用它来通过AWS' AssumeRoleRequest,以AssumeRoleResult的形式接收其响应,然后从上面收到的assumeRoleResult响应中检索凭证信息。在生成AWSCredential时使用此凭据信息。
Source生成AWS Elasticsearch客户端。