API Connect v2018:如何查询目录中订阅某产品的应用数量?
在API Connect v2018中快速统计指定目录内订阅指定产品的应用数量的方法
不用逐个遍历应用,直接通过以下两种高效方式实现:
方法一:使用API Connect Management REST API
直接调用订阅查询接口,通过过滤参数精准定位目标数据,无需遍历所有应用:
- 构造GET请求,路径为:
用产品ID过滤会更精准:GET /api/catalogs/{catalog_id}/subscriptions?filter=product.name%20eq%20%22{target_product_name}%22GET /api/catalogs/{catalog_id}/subscriptions?filter=product.id%20eq%20%22{product_id}%22 - 请求需携带有效的认证令牌(Bearer Token),可通过登录接口获取。
- 响应结果中的
total字段即为订阅该产品的应用数量(每个应用对同一产品的订阅唯一,因此总数对应应用数)。
注:若不知道目录ID,可先调用GET /api/orgs/{org_id}/catalogs接口查询目标目录的ID。
方法二:使用apic CLI命令
利用官方CLI工具直接过滤并统计,操作更便捷:
- 确保已通过
apic login登录到API Connect管理服务器。 - 执行以下命令(替换占位符为实际值):
该命令会直接输出订阅目标产品的应用数量。apic subscriptions list --server <management_server_host> --catalog <catalog_name> --org <org_name> --filter "product.name eq 'target-product-name'" --format json | jq '.total_results' - 若未安装jq,也可使用CLI的
--summary参数查看总数:apic subscriptions list --server <management_server_host> --catalog <catalog_name> --org <org_name> --filter "product.name eq 'target-product-name'" --summary
权限说明
无论使用哪种方式,操作账号需具备目标目录的Catalog Viewer及以上权限,确保能查询订阅数据。
内容的提问来源于stack exchange,提问作者Mohd Sohail Khan
相关产品推荐
相关产品推荐

