Aws lambda 无服务器部署失败:至少一个ProvisionedThroughput。。。是必需的
我正在尝试使用NPMServerless包将新的Lambda函数和API网关部署到AWS。新的函数部署在以前已有的函数之上,新的DynamoDB表与新的lambda函数一起创建 部署失败,出现以下错误: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
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,你能试试我的建议吗?