describe_db_instance_databases
Batch retrieve database information for multiple Alibaba Cloud RDS instances by specifying region ID and instance IDs. Streamlines database management and querying via OpenAPI integration.
Instructions
Batch retrieves database information for multiple RDS instances.
Args:
region_id: The region ID of the RDS instance.
db_instance_ids: List of DB instance identifiers (e.g., ["rm-uf6wjk5****", "db-instance-01"])
Returns:
list[dict]: A list of dictionaries containing database information for each instance.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| db_instance_ids | Yes | ||
| region_id | Yes |
Input Schema (JSON Schema)
{
"properties": {
"db_instance_ids": {
"items": {
"type": "string"
},
"title": "Db Instance Ids",
"type": "array"
},
"region_id": {
"title": "Region Id",
"type": "string"
}
},
"required": [
"region_id",
"db_instance_ids"
],
"title": "describe_db_instance_databasesArguments",
"type": "object"
}
Implementation Reference
- The main handler function implementing the 'describe_db_instance_databases' tool. It takes a region_id and list of db_instance_ids, calls the Alibaba Cloud RDS DescribeDatabases API for each instance asynchronously, and returns a list of response maps containing the databases for each instance.@mcp.tool(annotations=READ_ONLY_TOOL) async def describe_db_instance_databases( region_id: str, db_instance_ids: list[str] ) -> list[dict]: """ Batch retrieves database information for multiple RDS instances. Args: region_id: The region ID of the RDS instance. db_instance_ids: List of DB instance identifiers (e.g., ["rm-uf6wjk5****", "db-instance-01"]) Returns: list[dict]: A list of dictionaries containing database information for each instance. """ try: client = get_rds_client(region_id) db_instance_databases = [] for db_instance_id in db_instance_ids: request = rds_20140815_models.DescribeDatabasesRequest( dbinstance_id=db_instance_id ) response = await client.describe_databases_async(request) db_instance_databases.append(response.body.to_map()) return db_instance_databases except Exception as e: raise e