Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

aws-sdk-wrap

Package Overview
Dependencies
Maintainers
1
Versions
252
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aws-sdk-wrap

Wrapper around aws-sdk

  • 3.1.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
417
decreased by-49.27%
Maintainers
1
Weekly downloads
 
Created
Source

AWS SDK Wrap

Build Status Test Coverage Dependabot Status Dependencies NPM Downloads Semantic-Release Gardener

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').

Methods

call(action: String, params: Object = {}, options: Object = {})

The action is of the format path.to.service:functionName.

Gets the service from the underlying aws-sdk and initialize it with the available config iff the service is not initialized yet. Then calls the function with the passed params (which needs to contain the appropriate parameters for the function).

The available call options are detailed below.

get(serviceName: String)

Get the service from the underlying aws-sdk without initializing it. Possible to access nested paths.

updateGlobalConfig(config: Object)

Updates the global aws config of the underlying aws-sdk via AWS.config.update. In most cases this should not be necessary to use.

sendMessageBatch(msgs: Array, queueUrl: String, options: Object = {})

Splits msgs into groups and calls sqs.SendMessageBatch for every group. Batch sizes can be modified by the batchSize option. Failed calls will be retried up to the maxRetries option. The available sendMessageBatch options are detailed below.

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.

This only affects initialized services. To update the global AWS config use updateGlobalConfig.

Call Options

expectedErrorCodes

Type: list
Default: []

Provide string list of expected AWS error codes. Promise succeeds on expected error with error code as string.

SendMessageBatch Options

batchSize

Type: integer
Default: 10

Specify the size of each batch that will be sent. Should never exceed 10.

maxRetries

Type: integer
Default: 10

Number of times to retry any failed requests.

backoffFunction

Type: Function
Default: (count) => 30 * (count ** 2)

The length of time the function will wait after each failed request before retrying.

Keywords

FAQs

Package last updated on 19 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc