@@ -900,6 +900,80 @@ deleteCollection: 删除集合`),
900900 throw new Error ( `不支持的操作类型: ${ action } ` ) ;
901901 } ,
902902 ) ;
903+
904+ // queryNoSqlDatabaseBackupTime - 查询 NoSQL 数据库可回档时间范围
905+ server . registerTool ?.(
906+ "queryNoSqlDatabaseBackupTime" ,
907+ {
908+ title : "查询 NoSQL 数据库可回档时间范围" ,
909+ description :
910+ "查询 NoSQL 数据库(文档型数据库)的可回档时间范围,返回最早可回档时间和最晚可回档时间。适用于需要了解数据库备份恢复时间范围的场景。" ,
911+ inputSchema : {
912+ collectionName : z
913+ . string ( )
914+ . optional ( )
915+ . describe ( "集合名称(可选),如需查询特定集合的回档时间范围可传入" ) ,
916+ instanceId : z
917+ . string ( )
918+ . optional ( )
919+ . describe ( "可选:显式指定数据库实例ID;未传时会自动解析并缓存" ) ,
920+ } ,
921+ annotations : {
922+ readOnlyHint : true ,
923+ openWorldHint : true ,
924+ category : CATEGORY ,
925+ } ,
926+ } ,
927+ async ( { collectionName, instanceId } ) => {
928+ const cloudbase = await getManager ( ) ;
929+
930+ const resolvedInstance = await resolveNoSqlInstanceId ( {
931+ toolName : "queryNoSqlDatabaseBackupTime" ,
932+ cloudbase,
933+ cloudBaseOptions,
934+ instanceIdOverride : instanceId ,
935+ collectionName : collectionName || "default" ,
936+ } ) ;
937+
938+ const result = await cloudbase
939+ . commonService ( "tcb" , "2018-06-08" )
940+ . call ( {
941+ Action : "DescribeBackupTime" ,
942+ Param : {
943+ EnvId : cloudBaseOptions ?. envId ,
944+ TableName : collectionName ,
945+ Tag : resolvedInstance . instanceId ,
946+ } ,
947+ } ) ;
948+
949+ logCloudBaseResult ( server . logger , result ) ;
950+
951+ return {
952+ content : [
953+ {
954+ type : "text" ,
955+ text : JSON . stringify (
956+ {
957+ success : true ,
958+ requestId : result ?. RequestId ,
959+ backupTimeRange : {
960+ earliestTime : result ?. EarliestTime ,
961+ latestTime : result ?. LatestTime ,
962+ startTime : result ?. StartTime ,
963+ endTime : result ?. EndTime ,
964+ } ,
965+ instanceId : resolvedInstance . instanceId ,
966+ collectionName : collectionName || null ,
967+ message : "获取 NoSQL 数据库可回档时间范围成功" ,
968+ } ,
969+ null ,
970+ 2 ,
971+ ) ,
972+ } ,
973+ ] ,
974+ } ;
975+ } ,
976+ ) ;
903977}
904978
905979async function insertDocuments ( {
0 commit comments