来自:https://github.com/serverless/examples/blob/master/aws-node-rest-api-with-dynamodb/serverless.yml
LEFT JOIN
`connections` `Connections` ON (
`Connections`.`port_from_id` = (`Ports`.`id`) OR
`Connections`.`port_to_id` = (`Ports`.`id`)
)
DynamoDB不应该是无模式的吗?为什么吞吐量配置在这里完成?这个配置应该是承诺的,对吧?包含特定配置详细信息背后的想法是什么?
答案 0 :(得分:4)
为什么无服务器要求您对您的dynamodb设置非常具体?
那个AWS'要求不是无服务器'。
resources
部分由serverless
直接传递给AWS CloudFormation,因此它应遵循CloudFormation的语法/规则。
不是DynamoDB应该是无模式的吗?
是的。就像所有无架构数据库一样,它需要一个密钥才能工作。其他数据库(例如MongoDB)只是为您提供密钥,如果您不提供密钥。 DynamoDB只要求您明确设置密钥(以换取速度和可伸缩性),但其余的值都取决于您和它的无模式"。
为什么在这里完成吞吐量配置?这个配置应该是承诺的,对吧?包含特定配置详细信息背后的想法是什么?
使用resources
文件的serverless.yml
部分的重点是通过代码管理您的基础架构。通过在代码中定义应用程序/ Web服务所需的基础结构,可以更轻松地创建,更新或删除这些资源。
我认为任何人都不会喜欢通过AWS DynamoDB Web控制台手动更改10个不同区域中的五个DynamoDB表的基础架构更改(例如,增加预配置吞吐量)。 : - )
但与其他变量不同,吞吐量配置取决于需求和需求可能会发生变化。
当需求和需求发生变化时,您可以在serverless.yml中更改它。同样,基础架构作为代码的整个目的是您永远不必触及AWS控制台本身。
devs通常如何将其输入serverless.yml?此外,每次部署时都不会重置?
它会重置。这就是您必须在serverless.yml
而不是AWS控制台进行更改的原因。
如果您指的是具有不同需求和要求的不同环境,您可以为每个环境设置不同的值。