JSPM

serverless-plugin-dynamo-autoscaling

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 173
  • Score
    100M100P100Q94585F
  • License MIT

Serverless Plugin to deploy DynamoDB Autoscaling

Package Exports

  • serverless-plugin-dynamo-autoscaling

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (serverless-plugin-dynamo-autoscaling) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

⚡️ Serverless Plugin for DynamoDB Auto Scaling

Build Status Coverage Status npm GitHub license dependencies Status

Serverless Plugin to enable autoscaling for dynamodb tables and its GSI.

Installation

# Via yarn
$ yarn add serverless-plugin-dynamo-autoscaling

# Via npm
$ npm install serverless-plugin-dynamo-autoscaling

Add the plugin to your serverless.yml:

plugins:
  - serverless-plugin-dynamo-autoscaling

Configuration

custom:
  autoscaling:
    - table: CustomTable  # DynamoDB Resource
      index:              # List or single index name - Optional
        - custom-index-name
      roleArn:            # Arn of the role to be associated - Optional
      read:
        minimum: 5        # Minimum read capacity
        maximum: 1000     # Maximum read capacity
        targetUsage: 75   # Targeted usage percentage
      write:
        minimum: 40       # Minimum write capacity
        maximum: 200      # Maximum write capacity
        targetUsage: 50   # Targeted usage percentage

Defaults

maximum: 200
minimum: 5
targetUsage: 75

If no roleArn is specified, plugin will automatically create one and use it.

Index Only

If you only want to enable Auto Scaling for the index, use indexOnly: true to skip Auto Scaling for the general DynamoDB table.

DynamoDB

The example serverless configuration above works fine for a DynamoDB table CloudFormation resource like this:

resources:
  Resources:
    CustomTable:
      Type: AWS::DynamoDB::Table
      Properties:
        TableName: custom-table
        AttributeDefinitions:
          - AttributeName: key
            AttributeType: S
        KeySchema:
          - AttributeName: key
            KeyType: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 5
          WriteCapacityUnits: 5
        GlobalSecondaryIndexes:
          - IndexName: custom-index-name
            KeySchema:
              - AttributeName: key
                KeyType: HASH
            Projection:
              ProjectionType: ALL
            ProvisionedThroughput:
              ReadCapacityUnits: 5
              WriteCapacityUnits: 5

Thanks

License

Feel free to use the code, it's released using the MIT license.