Sanırım onu buldum! :)
Bu proje tam olarak istediğimi yapıyor: , "AWS isteğini imzalayan Apache İstemcisi için Interceptor talep et. Orijinal olarak Jest istemcisini kullanarak AWS 'Elasticsearch Service'i desteklemek için oluşturuldu.".
Düzenleme: I forked the project gereksinimlerime uygun (Java 7, geçici STS kimlik bilgileri) ve güzel çalışır.
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();
Evet, benim için de çalışıyor :) – panipsilos
Merhaba Eric sana sağladığı github bağlantıyı takip ediyorum. Yasak hatalarla karşı karşıyayız. Başka bir soru normal jest istemcisinde elastik arama son noktasını geçiyoruz. Ama burada sadece hizmet adını ve bölgesini geçiyoruz. Sorunumuzu çözmek için örnek kod veya rehberlik sağlayabilir misiniz? –
Merhaba @MohanShanmugam. Yasak hata, büyük olasılıkla erişim politikasının yanlış yapılandırılması veya hatalı kimlik bilgilerinden kaynaklanmaktadır. Cevapta bir kullanım örneği ekledim. Bu yardımcı olur umarım. –