AWS SDK Wrap
Wrapper around aws-sdk.
Why
When dealing with the aws-sdk a lot, some calls become very repetitive and achieving code coverage becomes tiresome. This wrapper abstracts some of the repetitive logic.
Some examples of repetitive logic are:
- having to call
.promise()
- handling of expected errors
- logging of unexpected errors
Install
Install with npm:
$ npm install --save aws-sdk-wrap
Ensure required peer dependencies are available.
Usage
const aws = require('aws-sdk-wrap')();
aws
.call('s3', 'putObject', { })
.then()
.catch();
where the first parameter is the service, the second parameter is the method and the third parameter are the "params" passed into the call.
Services are lazily initialized on first access.
One can access an aws-sdk
service directly by calling e.g. aws.get('s3')
.
Init Options
logger
Type: Logger
Default: null
Provide logger. E.g. logplease or lambda-rollbar.
When an unexpected error is risen, information is logged using .error(...)
.
config
Type: Object
Default: {}
AWS Config object used to initialize the service.
Call Options
expectedErrorCodes
Type: list
Default: []
Provide string list of expected AWS error codes. Promise succeeds on expected error with error code as string.