The aws java sdk has a purpose built ElasticSearchClient class.
The way to do this and be consistent would be to add a new nifi-aws
processor for the ES client,
as there is for s3 and dynamoDB etc. is my outstanding PR for
HttpInvoke for AWS Gateway Web APIs.
A similar approach being having version of the ElasticSearchHttp but in the
aws nar.

On April 9, 2018 at 19:11:45, Jon Logan ( wrote:

Hi All,

We are looking to use the built-in Nifi Elasticsearch Http processors with
signed AWS ES requests. I tried to extend them to do so, but ran into
issues with things being in-extensible (private-static-final in some
cases), and was wondering if this would be something that would be
considered to be merged into the baseline?

There's two main ways I saw doing it -- either modifying the existing ES
code to allow for it, or making new AWS-specific extended adapters to do
it. In the former, it might require dependencies between the ES code and
the AWS code for optional CredentialProviders, etc., and am not sure how
isolated you all try to keep things.

In either case, AWS essentially adds an HTTP-header signature to
authenticate the request against your ES instance. The easiest path to do
this seems to be writing a bridge between the ES OkHttpClient requests and
the AWS requests to generate the signature correctly.

Just wanted to get some feedback to be sure this wouldn't be a waste of


Reply via email to