Amazon web services 如何通过API检索AWS RDS DB实例中所有数据库的列表? 有没有办法通过API或SDK检索AWS RDS DB实例中所有数据库(或至少数据库名称)的列表(lang不重要)?

Amazon web services 如何通过API检索AWS RDS DB实例中所有数据库的列表? 有没有办法通过API或SDK检索AWS RDS DB实例中所有数据库(或至少数据库名称)的列表(lang不重要)?,amazon-web-services,aws-sdk,amazon-rds,Amazon Web Services,Aws Sdk,Amazon Rds,“描述数据库实例”操作不能满足我的需要,因为它只包含“创建时提供的此实例的初始数据库的名称” 在docs/web中找不到任何内容虽然您不仅限于bot3,还限于AWS API提供的内容(据我所知,bot3几乎涵盖了所有内容) API调用返回一个对象列表 每个对象都有属性DBName,这几乎是通过AWS API公开的关于数据库模式布局的唯一信息 DBName 此参数的含义因数据库而异 你用的引擎 MySQL、MariaDB、SQL Server、PostgreSQL 包含已删除的此实例的初始数据库的

“描述数据库实例”操作不能满足我的需要,因为它只包含“创建时提供的此实例的初始数据库的名称”

在docs/web中找不到任何内容
虽然您不仅限于bot3,还限于AWS API提供的内容(据我所知,bot3几乎涵盖了所有内容)

API调用返回一个对象列表

每个对象都有属性
DBName
,这几乎是通过AWS API公开的关于数据库模式布局的唯一信息

DBName

此参数的含义因数据库而异 你用的引擎

MySQL、MariaDB、SQL Server、PostgreSQL

包含已删除的此实例的初始数据库的名称 如果在创建DB实例时指定了一个,则在创建时提供 创建。在DB实例的生命周期内返回相同的名称

类型:字符串

神谕

包含所创建数据库实例的Oracle系统ID(SID)。不 当返回的参数不适用于Oracle DB时显示 例如

类型:字符串


这基本上就是使用AWSAPI所能得到的全部。如果需要更多,则需要连接到实例并使用RDBMS查询该信息。RDS即服务实际上并不管理实例上的模式(除了创建初始模式之外,如果您愿意的话),也不公开模式。

虽然您不限于boto3,但您仅限于AWS API提供的内容(据我所知,boto3涵盖了几乎所有内容)

API调用返回一个对象列表

每个对象都有属性
DBName
,这几乎是通过AWS API公开的关于数据库模式布局的唯一信息

DBName

此参数的含义因数据库而异 你用的引擎

MySQL、MariaDB、SQL Server、PostgreSQL

包含已删除的此实例的初始数据库的名称 如果在创建DB实例时指定了一个,则在创建时提供 创建。在DB实例的生命周期内返回相同的名称

类型:字符串

神谕

包含所创建数据库实例的Oracle系统ID(SID)。不 当返回的参数不适用于Oracle DB时显示 例如

类型:字符串


这基本上就是使用AWSAPI所能得到的全部。如果需要更多,则需要连接到实例并使用RDBMS查询该信息。RDS即服务实际上并不管理您实例上的模式(除了创建初始模式,如果您希望的话),也不公开模式。

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

这是不可能的,因为每个数据库引擎都有不同的 数据库概念的实现,因此它是一个不同的主题 从一个引擎到另一个引擎

您可以使用ExecuteStatement RDS API命令 运行select查询数据库数据字典中该特定数据的步骤 引擎,然后您可以获取数据库名称

它并没有避免运行SQL,但它是一种标准化的获取SQL的方法 此信息与实例数据库引擎无关,因为结果输出是 总是一样的结构

对我来说,这个解决方案不够好,因为我没有执行
ExecuteStatement
操作所需的DB实例的秘密ARN。 然而,我认为其他人可能会使用这种变通方法


谢谢大家!

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

这是不可能的,因为每个数据库引擎都有不同的 数据库概念的实现,因此它是一个不同的主题 从一个引擎到另一个引擎

您可以使用ExecuteStatement RDS API命令 运行select查询数据库数据字典中该特定数据的步骤 引擎,然后您可以获取数据库名称

它并没有避免运行SQL,但它是一种标准化的获取SQL的方法 此信息与实例数据库引擎无关,因为结果输出是 总是一样的结构

对我来说,这个解决方案不够好,因为我没有执行
ExecuteStatement
操作所需的DB实例的秘密ARN。 然而,我认为其他人可能会使用这种变通方法


谢谢大家!

Boto3公开了整个AWS API。AWS SDK中没有其他语言的更多功能。您所要求的内容不会被常规AWS RDS实例公开。它仅由启用了数据API的无服务器Aurora实例公开(仅允许您通过API运行SQL查询)。@smac2020他正在查找在服务器实例上创建的数据库列表,如SQL命令
create database x,而不是数据库服务器实例列表。Boto3公开整个AWS API。AWS SDK中没有其他语言的更多功能。您所要求的内容不会被常规AWS RDS实例公开。它仅由启用了数据API的无服务器Aurora实例公开(仅允许您通过API运行SQL查询)。@smac2020他正在查找在服务器实例上创建的数据库列表,如SQL命令
create database x,不是数据库服务器实例列表。RDS数据服务仅适用于Aurora Serverless DB clusterRDS数据服务仅适用于Aurora Serverless DB Clustere