Skip to content

Use the elasticsearch-js client with Amazon ES adds dependency injection for AWS sdk

License

Notifications You must be signed in to change notification settings

cphoover/http-aws-es-di

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Connection handler for Amazon ES with dependency injection

Makes elasticsearch-js compatible with Amazon ES. It uses the aws-sdk to make signed requests to an Amazon ES endpoint. Define the Amazon ES config and the connection handler in the client configuration:

var es = require('elasticsearch').Client({
  hosts: 'https://amazon-es-host.us-east-1.es.amazonaws.com',
  connectionClass: require('http-aws-es-di')(AWS),
  amazonES: {
    region: 'us-east-1',
    accessKey: 'AKID',
    secretKey: 'secret'
  }
});

Alternatively you can pass in your own AWS Credentials object. This is particularly useful if running on AWS Lambda, since the appropriate credentials are already in the environment.

var myCredentials = new AWS.EnvironmentCredentials('AWS'); // Lambda provided credentials
var es = require('elasticsearch').Client({
  hosts: 'https://amazon-es-host.us-east-1.es.amazonaws.com',
  connectionClass: require('http-aws-es-di')(AWS),
  amazonES: {
    region: "us-east-1",
    credentials: myCredentials
  }
});

About

Use the elasticsearch-js client with Amazon ES adds dependency injection for AWS sdk

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 96.7%
  • Shell 3.3%