Aws lambda 为什么serverless要求您对dynamodb设置非常具体?
发件人: DynamoDB不应该是无模式的吗?为什么在这里进行吞吐量调配?这个配置应该被提交,对吗?包含特定配置细节背后的想法是什么 为什么serverless要求您对dynamodb设置非常具体 这是AWS的“非无服务器要求”Aws lambda 为什么serverless要求您对dynamodb设置非常具体?,aws-lambda,amazon-dynamodb,serverless-framework,Aws Lambda,Amazon Dynamodb,Serverless Framework,发件人: DynamoDB不应该是无模式的吗?为什么在这里进行吞吐量调配?这个配置应该被提交,对吗?包含特定配置细节背后的想法是什么 为什么serverless要求您对dynamodb设置非常具体 这是AWS的“非无服务器要求” resources部分由serverless直接传递给AWS CloudFormation,因此它应该遵循CloudFormation的语法/规则 DynamoDB不应该是无模式的吗 是的。就像所有无模式数据库一样,它需要一个键才能工作。如果您没有提供密钥,其他数据库(
resources
部分由serverless
直接传递给AWS CloudFormation,因此它应该遵循CloudFormation的语法/规则
DynamoDB不应该是无模式的吗
是的。就像所有无模式数据库一样,它需要一个键才能工作。如果您没有提供密钥,其他数据库(如MongoDB)只需为您创建密钥即可。DynamoDB只要求您显式地设置密钥(以换取速度和可伸缩性),但是其余的值都由您决定,并且是“无模式的”
为什么在这里进行吞吐量调配?这个配置应该被提交,对吗?包含特定配置细节背后的想法是什么
使用serverless.yml
文件的resources
部分的要点是通过代码管理您的基础架构。通过在代码中定义应用程序/web服务所需的基础结构,可以更轻松地创建、更新或删除这些资源
我不认为任何人会喜欢通过AWS DynamoDB web控制台手动对10个不同区域中的5个DynamoDB表进行任何基础结构更改(例如,增加配置的吞吐量)。:-)
但与其他变量不同,吞吐量供应取决于需求,需求可能会发生变化
当需求和需求发生变化时,您可以在serverless.yml中进行更改。同样,作为代码的基础设施的全部目的是,您永远不必接触AWS控制台本身 开发者通常如何将其输入serverless.yml?而且,它不是每次部署时都会重置吗 它将重置。这就是为什么您必须在
serverless.yml
中进行更改,而不是在AWS控制台中进行更改
如果您指的是具有不同需求和要求的不同环境,则可以为每个环境设置不同的值。“无模式”不包括不需要定义表的主键。不知道你在期待什么。谢谢!但与其他变量不同,吞吐量供应取决于需求,需求可能会发生变化。开发者通常如何将其输入serverless.yml?另外,它不是每次部署时都会重置吗?当需求和需求发生变化时,您可以在
serverless.yml
中更改它。同样,作为代码的基础设施的全部目的是,您永远不必接触AWS控制台本身。它不是在每次部署时都会重置吗?是的,这就是为什么您使用serverless.yml
而不是AWS控制台来更改它。
resources:
Resources:
TodosDynamoDbTable:
Type: 'AWS::DynamoDB::Table'
DeletionPolicy: Retain
Properties:
AttributeDefinitions:
-
AttributeName: id
AttributeType: S
KeySchema:
-
AttributeName: id
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
TableName: ${self:provider.environment.DYNAMODB_TABLE}