Newer version available at aws-elasticsearch-js for more recent versions of Elasticsearch and elasticsearch-js.
Makes elasticsearch-js compatible with Amazon ES. It uses the aws-sdk to make signed requests to an Amazon ES endpoint.
# Install the connector, elasticsearch client and aws-sdk
npm install --save http-aws-es aws-sdk elasticsearch// create an elasticsearch client for your Amazon ESletes=require('elasticsearch').Client({hosts: ['https://amazon-es-host.us-east-1.es.amazonaws.com'],connectionClass: require('http-aws-es')});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:
letAWS=require('aws-sdk');AWS.config.update({credentials: newAWS.Credentials(accessKeyId,secretAccessKey),region: 'us-east-1'});letoptions={hosts: [],// array of amazon es hosts (required)connectionClass: require('http-aws-es'),// use this connector (required)awsConfig: newAWS.Config({ region }),// set an aws config e.g. for multiple clients to different regionshttpOptions: {}// set httpOptions on aws-sdk's request. default to aws-sdk's config.httpOptions};letes=require('elasticsearch').Client(options);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