Package Exports
- http-aws-es
- http-aws-es/src/node.js
- http-aws-es/src/xhr.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (http-aws-es) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Connection handler for Amazon ES 
Makes elasticsearch-js compatible with Amazon ES. It uses the aws-sdk to make signed requests to an Amazon ES endpoint.
Installation
# Install the connector, elasticsearch client and aws-sdk
npm install --save http-aws-es aws-sdk elasticsearch
Usage
// create an elasticsearch client for your Amazon ES
let es = require('elasticsearch').Client({
hosts: [ 'https://amazon-es-host.us-east-1.es.amazonaws.com' ],
connectionClass: require('http-aws-es')
});
Region + Credentials
The connector uses aws-sdk's default behaviour to obtain region + credentials from your environment. If you would like to set these manually, you can set them on aws-sdk:
let AWS = require('aws-sdk');
AWS.config.update({
credentials: new AWS.Credentials(accessKeyId, secretAccessKey),
region: 'us-east-1'
});
Options
let options = {
hosts: [], // array of amazon es hosts (required)
connectionClass: require('http-aws-es'), // use this connector (required)
awsConfig: new AWS.Config({ region }), // set an aws config e.g. for multiple clients to different regions
httpOptions: {} // set httpOptions on aws-sdk's request. default to aws-sdk's config.httpOptions
};
let es = require('elasticsearch').Client(options);
Test
npm test
# test against a real endpoint
AWS_PROFILE=your-profile npm run integration-test -- --endpoint https://amazon-es-host.us-east-1.es.amazonaws.com --region us-east-1