当我收到以下错误时,我试图使用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"
答案 0 :(得分:1)
您已经超出了并行创建的表的数量,最简单的解决方法是使用DependsOn。您可以将一个表依赖项设置到另一个表中,以便在创建依赖表之前不会创建该表。
在此示例中,只有在创建表2之后才创建表1,因此不会并行创建它们。
$db = new \Libs\DB;
$core = new \Libs\Core;
$controller = new \Libs\Controller;