Wrapper around elasticsearch-js client that plays nicely with AWS and serverless. Features include:
- Uses http-aws-es to sign your requests so that they're valid in AWS
- Plays nicely with serverless-offline's
IS_OFFLINE
environment variable - Uses sane default environment variables for AWS config
npm install --save serverless-elasticsearch-client
Use this as you would use the standard elasticsearch-js client.
const createEsClient = require('serverless-elasticsearch-client')
const client = createEsClient({ envPrefix: 'AWS_ES' })
The following options are shared between the two methods below.
envPrefix
{string} if this is set, DDB will look for config in environment variables prefixed byenvPrefix
.region
{string} if not set, DDB will look in${envPrefix}_REGION
. IfenvPrefix
is not set, it looks atAWS_REGION
. If still not found, when inserverless-offline
mode, it will fall back tolocalhost
endpoint
{string} if inserverless-offline
mode, this defaults tohttp://localhost:8000
sslEnabled
{boolean} defaults totrue
, if inserverless-offline
mode, it is set to false
options
{Object - shared options above or AWS.DynamoDB standard options}
Creates an AWS.DynamoDB
with provided options.
var dynamo = require('serverless-elasticsearch-client')
const docClient = dynamo.getClient({
envPrefix: 'AWS_DDB',
maxRetries: 3
})
options
{Object - shared options above or AWS.DynamoDB.DocumentClient standard options}
Creates an AWS.DynamoDB.DocumentClient
with provided options.
var dynamo = require('serverless-elasticsearch-client')
const docClient = dynamo.getDocumentClient({
convertEmptyValues: true
})
PRs accepted. Note that code uses standard styling.
MIT ยฉ Dan Caddigan