Aws lambda 无服务器部署失败:至少一个ProvisionedThroughput。。。是必需的

Aws lambda 无服务器部署失败:至少一个ProvisionedThroughput。。。是必需的,aws-lambda,serverless-framework,serverless,aws-serverless,Aws Lambda,Serverless Framework,Serverless,Aws Serverless,我正在尝试使用NPMServerless包将新的Lambda函数和API网关部署到AWS。新的函数部署在以前已有的函数之上,新的DynamoDB表与新的lambda函数一起创建 部署失败,出现以下错误: An error occurred: authDB - At least one of ProvisionedThroughput, BillingMode, UpdateStreamEnabled, GlobalSecondaryIndexUpdates or SSESpecification

我正在尝试使用NPMServerless包将新的Lambda函数和API网关部署到AWS。新的函数部署在以前已有的函数之上,新的DynamoDB表与新的lambda函数一起创建

部署失败,出现以下错误:

An error occurred: authDB - At least one of ProvisionedThroughput, BillingMode, UpdateStreamEnabled, GlobalSecondaryIndexUpdates or SSESpecification or ReplicaUpdates is required (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException;
“authDB”是DynamoDB中已经存在的表。此数据库表的serverless.yml文件如下所示:

authDB:
  Type: "AWS::DynamoDB::Table"
  DeletionPolicy: Retain
  Properties:
    AttributeDefinitions:
      - AttributeName: key
        AttributeType: S
    KeySchema:
      - AttributeName: key
        KeyType: HASH
    ProvisionedThroughput:
      ReadCapacityUnits: 5
      WriteCapacityUnits: 5
    TableName: "auth-db"
由于“ProvisionedThroughput”已定义,因此我不确定收到此错误的原因

[更新]此authDB配置与最初部署后的配置相同,但未更改。。。除了新的函数/数据库资源之外,对serverless.yml的唯一更改是添加了serverless插件拆分堆栈,以绕过CloudFormation 200资源限制。这是无服务器插件拆分堆栈的配置:

custom:
  splitStacks:
    perFunction: true
    perType: false
    perGroupFunction: false
在for无服务器插件拆分堆栈中,它声明:

“许多种类的资源(例如DynamoDB表)不能在云信息堆栈之间自由移动(这只能通过完全移除和重新创建舞台来实现)”


我不是100%确定这是抛出的错误,带有错误消息,但要测试它。我会尝试将您的CloudFormation模板应用到一个空的新AWS帐户,看看是否成功。

您说在以前的模板中已经存在authDB,对吗?如果是的话,可以包括旧的
.yml
@thenerdhicker中的内容。authDB配置也与前一个.yml中的相同。Richard,你能试试我的建议吗?