为 AWS Lambda 和 RDS 创建初始数据库 table
Initial database table creation for AWS Lambda and RDS
如何在 lambda 函数尝试执行任何数据库操作之前创建初始表?
我的想法是,例如,一旦 CloudFormation 模板完成并创建了一个堆栈,就执行一个辅助 lambda 函数来创建初始表。
我来自 Node.js/Express 开发,正在尝试调整无服务器架构。通常我只会在主 app.js
文件中初始化表,但不确定如何在此处执行此操作。
您可以选择无服务器或基于服务器。
无服务器:
如果您想使用无服务器,您可以编写一个 lambda 函数并根据使用的 RDS 服务器和 运行 您的查询为您的 node-js 函数选择合适的驱动程序。您可能必须编写故障安全查询,以便它们重新运行可用。
使用 node-js 和 Lambda 编写查询,
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-nodejs.rds.html
借助 CloudFormation,您还可以自动部署 lambda。
基于服务器:
CloudFormation 完成后,您可以运行 shell 脚本创建适当的表。 (Re运行nable 政策也可能适用于此)。
希望对您有所帮助。
当您为您的应用程序查看初始 table 创建数据库时,另外还有几件事需要考虑。
- 如何初始化数据库 tables 和 运行ning 种子数据。
- 如何运行将此应用到不同的数据库(用于测试、开发等的多个环境)。
- 如何进行 scripts/configuration 的变更管理和执行变更。
- 如何还原更改以进行回滚。
- 如何进行 DevOps(与 CI/CD 集成)。
考虑到这些事实,使用所需的工具和迁移、播种、回滚等框架来控制这些更改的版本非常重要。
您可以在使用 SNS 主题创建 CloudFormation 堆栈后触发此操作,以触发 CI/CD 工具和管道(例如使用 Jenkins)来执行初始 table 创建并进行后续以自主方式更改和播种到 tables。
如果您正在使用 Serverless Framework with Lambda for your application, you can use the Serverless-Dynamodb-Local 插件来帮助您进行播种、迁移等(我们开发它也是为了解决这个问题)
如何在 lambda 函数尝试执行任何数据库操作之前创建初始表?
我的想法是,例如,一旦 CloudFormation 模板完成并创建了一个堆栈,就执行一个辅助 lambda 函数来创建初始表。
我来自 Node.js/Express 开发,正在尝试调整无服务器架构。通常我只会在主 app.js
文件中初始化表,但不确定如何在此处执行此操作。
您可以选择无服务器或基于服务器。
无服务器:
如果您想使用无服务器,您可以编写一个 lambda 函数并根据使用的 RDS 服务器和 运行 您的查询为您的 node-js 函数选择合适的驱动程序。您可能必须编写故障安全查询,以便它们重新运行可用。
使用 node-js 和 Lambda 编写查询,
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-nodejs.rds.html
借助 CloudFormation,您还可以自动部署 lambda。
基于服务器:
CloudFormation 完成后,您可以运行 shell 脚本创建适当的表。 (Re运行nable 政策也可能适用于此)。
希望对您有所帮助。
当您为您的应用程序查看初始 table 创建数据库时,另外还有几件事需要考虑。
- 如何初始化数据库 tables 和 运行ning 种子数据。
- 如何运行将此应用到不同的数据库(用于测试、开发等的多个环境)。
- 如何进行 scripts/configuration 的变更管理和执行变更。
- 如何还原更改以进行回滚。
- 如何进行 DevOps(与 CI/CD 集成)。
考虑到这些事实,使用所需的工具和迁移、播种、回滚等框架来控制这些更改的版本非常重要。
您可以在使用 SNS 主题创建 CloudFormation 堆栈后触发此操作,以触发 CI/CD 工具和管道(例如使用 Jenkins)来执行初始 table 创建并进行后续以自主方式更改和播种到 tables。
如果您正在使用 Serverless Framework with Lambda for your application, you can use the Serverless-Dynamodb-Local 插件来帮助您进行播种、迁移等(我们开发它也是为了解决这个问题)