gpt4 book ai didi

amazon-web-services - AWS Lambda 可以连接到 RDS mySQL 数据库并更新数据库吗?

转载 作者:行者123 更新时间:2023-12-04 07:54:52 24 4
gpt4 key购买 nike

我正在尝试将 AWS Lambda 函数连接到 RDS mysql 数据库。
我只是想从我的 lambda 函数更新数据库。是否可以通过指定 IAM 角色和访问策略来访问 RDS?
我可以使用 mysql 客户端连接到 mysql 数据库。但是当我尝试使用 lambda 时,我不能这样做。这是我的代码。

console.log('Loading function');
var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();
var mysql = require('mysql');
exports.handler = function(event, context) {
//console.log('Received event:', JSON.stringify(event, null, 2));
var operation = event.operation;
delete event.operation;
switch (operation) {
case 'create':
var conn = mysql.createConnection({
host: 'lamdatest.********.rds.amazonaws.com', // RDS endpoint
user: 'user', // MySQL username
password: 'password', // MySQL password
database: 'rdslamda'
});
conn.connect();
console.log("connecting...");
conn.query('INSERT INTO login (name,password) VALUES("use6","password6")', function(err, info) {
console.log("insert: " + info.msg + " /err: " + err);
});
console.log("insert values in to database");
break;
case 'read':
dynamo.getItem(event, context.done());
break;

default:
context.fail(new Error('Unrecognized operation "' + operation + '"'));

}
context.succeed();
};

最佳答案

是的。您可以从 AWS Lambda 访问 MySql RDS 数据库。

您可以使用 node-mysql图书馆。

  • 链接:https://github.com/felixge/node-mysql/

  • 但是,有一个很大的警告。

    AWS Lambda(当前)无法访问 VPC 内的私有(private)子网。因此,为了让 AWS Lambda 访问您的 RDS 数据库,它必须是可公开访问的,这可能会给您带来安全风险。

    更新 (2015-10-30):AWS Lambda 宣布即将推出的 VPC 支持 ( as of re:Invent 2015),因此这不会成为问题。

    更新 (2015-11-17):AWS Lambda 仍然没有 VPC 支持。

    更新 (2016-02-11):AWS Lambda 现在可以访问 VPC 资源:

    https://aws.amazon.com/blogs/aws/new-access-resources-in-a-vpc-from-your-lambda-functions/

    为实现此功能,您的 Lambda 函数实际上将在子网中的 VPC 内执行。此功能附带一些注意事项:
  • VPC 子网需要足够的免费 IP 地址来处理 Lambda 的扩展
  • 如果您的 Lambda 函数需要 Internet 访问,那么它指定的 VPC 子网将需要 Internet 网关或 NAT
  • 关于amazon-web-services - AWS Lambda 可以连接到 RDS mySQL 数据库并更新数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31809890/

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