如何通过 API 检索 AWS RDS 数据库实例中的所有数据库的列表?

Eli*_*Tov 5 amazon-web-services amazon-rds aws-sdk

有没有办法通过 API 或 SDK(语言无关紧要)检索 AWS RDS 数据库实例中的所有数据库(或至少是数据库名称)的列表?

\n

“describe-db-instances”操作不能满足我的需求,因为它仅包含“创建时提供的该实例的初始数据库的名称”...\n找不到
任何内容在文档/网络
\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f

\n

我想避免触发 SQL 查询并最大限度地利用 API。
\n我已经看到了这个SO 问题,但是它是特定于 Boto3 使用的,而我不限于任何特定的 AWS SDK。

\n

谢谢你们!

\n

Eli*_*Tov 0

虽然 Mark B 和 Maurice 100% 正确,但有一种解决方法可能对其他人有用,因为用户 Optimus 在 AWS 论坛中回答了我的问题:

这是不可能的,因为每个数据库引擎都有不同的数据库概念实现,因此这是一个因引擎而异的主题。

您可以做的是使用 ExecuteStatement RDS API 命令 https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_ExecuteStatement.html 运行一个选择,查询该 RDS 的特定引擎的数据库数据字典实例,然后就可以获取数据库名称。

它不会避免运行 SQL,但无论实例数据库引擎如何,它都是获取此信息的标准化方法,因为结果输出始终具有相同的结构。

对于我来说,这个解决方案还不够好,因为我没有操作所需的数据库实例的 Secret-ARN ExecuteStatement。但是,我认为其他人可能会使用此解决方法。

谢谢你们!