作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 npm 无服务器包将新的 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-plugin-split -堆栈以绕过 CloudFormation 200 资源限制。这是 serverless-plugin-split-stacks 的配置:
custom:
splitStacks:
perFunction: true
perType: false
perGroupFunction: false
最佳答案
在documentation对于 serverless-plugin-split-stacks 它指出:
“许多类型的资源(例如 DynamoDB 表)无法在 CloudFormation 堆栈之间自由移动(只能通过完全移除和重新创建阶段来实现)”
我不是 100% 确定这是抛出的错误,带有错误消息,但要进行测试。我会尝试将您的 CloudFormation 模板应用到一个空的新 AWS 账户,看看是否成功。
关于aws-lambda - 无服务器部署失败 : At least one of ProvisionedThroughput, ... 是必需的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64579406/
我是一名优秀的程序员,十分优秀!