gpt4 book ai didi

aws-lambda - 无服务器部署失败 : At least one of ProvisionedThroughput, ... 是必需的

转载 作者:行者123 更新时间:2023-12-05 06:58:34 26 4
gpt4 key购买 nike

我正在尝试使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com