首页 文章

DynamoDB / CF - 超出订户限制:只能同时创建,更新或删除10个表

提问于
浏览
3

当我遇到错误时,我试图使用serverless.yml创建24个DynamoDB表 . 我该如何规避这个?

Serverless: Checking Stack update progress…
.................................................................Serverless: Deployment failed!

Serverless Error ---------------------------------------

 An error occurred while provisioning your stack: TestUserTable
 - Subscriber limit exceeded: Only 10 tables can be created,
 updated, or deleted simultaneously.
Your Environment Information -----------------------------
OS: linux
Node Version: 6.6.0
Serverless Version: 1.1.0

这似乎是Cloudformation的一个普遍问题,这是AWS论坛中的一种解决方法:https://forums.aws.amazon.com/thread.jspa?threadID=167996

我尝试添加 dependson 但它仍然无法解决问题 .

我得到以下错误

ServerlessError: Template format error: Unresolved resource dependencies [Dev1ProductTables] in the Resources block of the template

DependsOn: "DevPolicyTable" 放在引号中也没有任何区别

resources:
  Resources:
    DevUserTable: 
      Type: "AWS::DynamoDB::Table"
      DependsOn: DevPolicyTable
      Properties:
        AttributeDefinitions: 
          - AttributeName: "id"
            AttributeType: "S"
        KeySchema: 
          - AttributeName: "id"
            KeyType: "HASH"
        ProvisionedThroughput: 
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        TableName: "b1-dev-user"
      DevPolicyTable: 
        Type: "AWS::DynamoDB::Table"
        DependsOn: DevClaimTable
        Properties: 
          AttributeDefinitions: 
            - AttributeName: "id"
              AttributeType: "S"
          KeySchema: 
          - AttributeName: "id"
          KeyType: "HASH"
          ProvisionedThroughput: 
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
          TableName: "b1-dev-policy"

1 回答

  • 1

    您已经超过了并行创建的表的数量,最简单的解决方法是使用DependsOn . 您可以将表依赖项设置为另一个表,因此在创建依赖表之前不会创建此表 .

    在此示例中,在创建表2之前不会创建表1,因此它们不是并行创建的 .

    "Table1": {
          "Type": "AWS::DynamoDB::Table",
          "DependsOn": [
            "Table2"
          ],
          "Properties": {
            "AttributeDefinitions": [
              {
                "AttributeName": "key",
                "AttributeType": "S"
              }
            ],
            "KeySchema": [
              {
                "AttributeName": "key",
                "KeyType": "HASH"
              }
            ],
            "ProvisionedThroughput": {
              "ReadCapacityUnits": "2",
              "WriteCapacityUnits": "2"
            },
            "TableName": {
              "table1"
            }
          }, 
    "Table2": {
          "Type": "AWS::DynamoDB::Table",
          "Properties": {
            "AttributeDefinitions": [
              {
                "AttributeName": "key",
                "AttributeType": "S"
              }
            ],
            "KeySchema": [
              {
                "AttributeName": "key",
                "KeyType": "HASH"
              }
            ],
            "ProvisionedThroughput": {
              "ReadCapacityUnits": "2",
              "WriteCapacityUnits": "2"
            },
            "TableName": {
              "table2"
            }
          }
    

相关问题