Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 试图让我的lambda访问RDS数据库(postgres),但在创建数据库代理时;“RDS数据库实例”;是空的_Amazon Web Services_Aws Lambda_Amazon Rds - Fatal编程技术网

Amazon web services 试图让我的lambda访问RDS数据库(postgres),但在创建数据库代理时;“RDS数据库实例”;是空的

Amazon web services 试图让我的lambda访问RDS数据库(postgres),但在创建数据库代理时;“RDS数据库实例”;是空的,amazon-web-services,aws-lambda,amazon-rds,Amazon Web Services,Aws Lambda,Amazon Rds,我创建了一个公共访问的RDS postgres数据库。我可以从SQL Workbench连接到它并执行SQL查询。现在我想构建一个lambda来查询数据库中的数据 按照 在此屏幕中: 如果我打开“RDS DB实例”下拉列表,我的数据库不在那里 我做错了什么 谢谢一个常见的原因是使用了错误的PostgreSQL版本。RDS代理仅支持: 对于RDS PostgreSQL,RDS代理支持版本10.10及更高的次要版本,以及版本11.5及更高的次要版本。对于Aurora PostgreSQL,RDS代

我创建了一个公共访问的RDS postgres数据库。我可以从SQL Workbench连接到它并执行SQL查询。现在我想构建一个lambda来查询数据库中的数据

按照

在此屏幕中:

如果我打开“RDS DB实例”下拉列表,我的数据库不在那里

我做错了什么


谢谢

一个常见的原因是使用了错误的PostgreSQL版本。RDS代理仅支持:

对于RDS PostgreSQL,RDS代理支持版本10.10及更高的次要版本,以及版本11.5及更高的次要版本。对于Aurora PostgreSQL,RDS代理支持版本10.11和更高的次要版本,以及版本11.6和更高的次要版本

因此,如果您使用最新版本的PostgreSQL 12,RDS代理将不会将其显示为不支持的


您仍然可以使用lambda提供的数据库,但必须将您的功能与RDS所在的VPC相关联,并设置安全组,以便该功能可以连接到数据库。

啊,我错过了这些细节。我想这可能是因为这个地区(我在新加坡),但实际上这是一个版本。现在,如果我在11.5版上创建一个postgres,我可以看到它填充了我的数据库。谢谢:)不幸的是,我现在遇到了一个新问题。同一屏幕。我想为uname和pw使用secretmanager,所以我这样做了,我可以选择我创建的secret。但是,当我创建IAM策略并将其附加到新角色时,我无法在IAM角色框中看到填充的角色。我只能看到AWSServiceRoleForDS和rds监控角色。“我真的被难住了。”我建议教授提出一个新问题,详细说明相关角色。仅仅从评论中很难推断会发生什么。