如何使用无服务器框架为多个环境配置DynamoDB ProvisionedThroughput

时间:2018-04-09 12:48:18

标签: amazon-dynamodb yaml amazon-cloudformation serverless-framework serverless

我在AWS上构建无服务器应用程序并尝试使用Serverless Framework创建具有特定值ProvisionedThroughput或自动扩展的DynamoDB表。

例如:

  • RCU:1,WCU:1用于测试环境
  • 生产环境的Auto Scaling(Min:5,Max:100,Target:70%)

我知道如何通过serverless.yml配置1个环境的设置,但是如何使用相同的serverless.yml文件管理每个环境的不同值。是否可以以任何方式更改值或为每个env启用/禁用自动缩放?

1 个答案:

答案 0 :(得分:1)

您可以使用插件

https://github.com/sbstjn/serverless-dynamodb-autoscaling

因此,对于配置,您可以使用无服务器变量,如

custom:
  capacities:
    - table: CustomTable  # DynamoDB Resource
      index:              # List or single index name
        - custom-index-name
      read:
        minimum: ${file(../config.${self:provider.stage}.json):MinReadThroughput}
        maximum: ${file(../config.${self:provider.stage}.json):MaxReadThroughput}
        usage: 0.75
      write:
        minimum: 40       # Minimum write capacity
        maximum: 200      # Maximum write capacity
        usage: 0.5        # Targeted usage percentage


provider:
  name: aws
  stage: ${opt:stage, 'dev'}