You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Red Hat Satellite API返回数据不全,如何处理per_page参数获取全部errata?

问题解答

  • 不需要发送PUT请求修改服务端配置,你可以直接通过GET请求一次性拉取全部536条errata数据。

一次性拉取全部数据的实现方式

Katello API支持在GET请求的查询参数中直接指定per_page的值,官方默认允许的最大值为1000,536条远低于该上限,直接调整curl请求参数即可:

curl --request GET --insecure --silent --user username:password "https://myMachine/katello/api/errata?per_page=1000"

注意:请求URL需要加引号包裹,避免Shell解析特殊字符出错。


数据量超过上限时的最优分页处理方案

如果后续需要拉取的errata总数超过1000,建议通过简单的Shell脚本循环分页拉取,示例逻辑如下:

  1. 先请求第一页获取总条数total和单页上限per_page
  2. 计算总页数,循环遍历每一页拉取数据,拼接结果即可
# 分页拉取示例
USER="username:password"
BASE_URL="https://myMachine/katello/api/errata"
PER_PAGE=1000

# 拉取第一页获取总条数
TOTAL=$(curl -k -s -u "$USER" "$BASE_URL?per_page=$PER_PAGE" | jq -r '.total')
TOTAL_PAGES=$(( (TOTAL + PER_PAGE - 1) / PER_PAGE ))

# 循环拉取所有页
for (( page=1; page<=TOTAL_PAGES; page++ )); do
  curl -k -s -u "$USER" "$BASE_URL?page=$page&per_page=$PER_PAGE" | jq '.results[]' >> all_errata.json
done

以上示例依赖jq工具处理JSON返回值,可提前通过系统包管理器安装。


内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:36:08