私はそれを見つけたと思う! :)
aws-signing-request-interceptorと記載されています。「AWSのリクエストに署名するApache Clientのリクエストインターセプタ.Jastクライアントを使用したAWS 'Elasticsearch Service」をサポートするために作成されました。。
編集:私のニーズ(Java 7、一時的なSTS資格情報)に合うようにI forked the project、それはうまく動作します。ここで
は(ここではSTS一時的な資格情報なし)の使用例です:
String region = "us-east-1";
String service = "es";
String url = "???"; // put the AWS ElasticSearch endpoint here
DefaultAWSCredentialsProviderChain awsCredentialsProvider = new DefaultAWSCredentialsProviderChain();
final AWSSigner awsSigner = new AWSSigner(awsCredentialsProvider, region, service,() -> new LocalDateTime(DateTimeZone.UTC));
JestClientFactory factory = new JestClientFactory() {
@Override
protected HttpClientBuilder configureHttpClient(HttpClientBuilder builder) {
builder.addInterceptorLast(new AWSSigningRequestInterceptor(awsSigner));
return builder;
}
};
factory.setHttpClientConfig(new HttpClientConfig.Builder(url)
.multiThreaded(true)
.build());
JestClient client = factory.getObject();
はい、それは私にとっても動作します:) – panipsilos
こんにちはエリック、私はあなたが提供するgithubのリンクを次のようしています。私たちは禁じられた誤りに直面しています。別の質問は、通常の嫌がらせのクライアントで我々は弾性検索のエンドポイントを渡すことです。しかし、ここではサービス名と地域のみを渡しています。私たちの問題を解決するためのサンプルコードまたはガイダンスを提供できますか? –
こんにちは@MohanShanmugam。禁止されたエラーは、おそらくアクセスポリシーの設定ミスや不正な資格情報によるものです。私は答えの使用例を追加しました。お役に立てれば。 –