繁体   English   中英

Ansible API playbook查询中关于Pagination的问题

[英]Question about Pagination in Ansible API playbook query

我需要在我的剧本中查询 Ansible Tower 中的 REST API Jobs 端点。

我正在使用以下内容来检索数据

- name: Pull Jobs Data
  uri:
    url: https://ansible.xxxx.com/api/v2/jobs/?format=json&page=1&page_size=200
    headers:
      Content-Type: application/json
      Authorization: "Bearer {{ lookup('env', 'TOWER_PASSWORD') }}"
  register: jobs_data

- name: Get last half hour of data
  debug:
    var: "{{item}}"
  when:
  - item['started'] > current_epoch_half_hour_back
  loop: "{{ jobs_data['json']['results'] }}"

我只对查看最近半小时的就业数据感兴趣。

我们保留了大约 2 周,大约有 15,000 页的工作数据,当我使用上面的page=1page_size=200时,它似乎从第 1 页开始,这是最旧的数据,因此似乎只查看前 200 页完全缺少最新数据。 RedHat 表示可以通过修改以下文件/etc/tower/conf.d/<some file>.py来更改限制,但建议您不要超过 200。

有谁知道如何让查询从最后一页(最新数据)而不是第 1 页(最旧数据)开始?

不想对page= values 进行硬编码,因为我不知道最后一页的确切值。

根据有关Ansible Tower REST API - Jobs的文档,您可以通过?order_by=执行排序,这可能是idstarted或那里记录的其他字段。 通过这样做,您可以将结果集减小到不再需要分页的大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM