Image API v2 列表

分页

此调用旨在返回更大图像集合的子集,同时提供一个链接,可用于检索下一页。您应始终检查是否存在“next”链接,并将其用作后续 HTTP GET 请求的 URI。您应遵循此模式,直到不再提供“next”链接。next 链接将保留您在初始请求中发送的任何查询参数。“first”链接可用于跳回集合的第一页。

如果您希望手动分页浏览图像,API 提供了两个查询参数:“limit”和“marker”。limit 参数用于请求特定页面大小。预计对有限请求的响应将返回零到limit个项目。marker 参数用于指示上次看到的图像的 ID。limit 和 marker 的典型模式是发出初始有限请求,然后将响应中最后一个图像的 ID 作为后续有限请求中的 marker 参数。

过滤

列表操作接受几种类型的查询参数,旨在过滤返回集合的结果。

客户端可以使用大多数图像属性提供直接比较过滤器(例如,name=Ubuntu,visibility=public 等)。客户端无法按标签或定义为 json-schema 中“link”(例如,self,file,schema)的任何内容进行过滤。

查询参数“size_min”和“size_max”可用于基于其“size”属性(“size”以字节为单位衡量,指的是图像存储在磁盘上的大小时)对图像进行大于和小于的过滤。例如,发送 size_min 过滤器为 1048576 和 size_max 为 4194304 将过滤容器,仅包含大小在 1MB 到 4MB 之间的图像。

排序

可以使用经典和新的排序语法来对该操作的结果进行排序。经典语法使用多个“sort_key”和“sort_dir”参数,而新的语法接受一个“sort”字符串,其中包含逗号分隔的排序键,并在“:”之后带有可选的排序方向。两种语法都提供了使用多个键和方向进行排序的能力,但存在一些差异。

经典语法采用一个键列表,并且对于每个键,方向的数量必须完全相同,或者只有一个,用于指定所有键的默认值。新的语法将默认方向应用于所有缺少方向的键。

API 使用提供的排序键作为图像属性的自然排序。可以使用以下图像属性作为排序键:“name”、“status”、“container_format”、“disk_format”、“size”、“id”、“created_at”、“updated_at”。sort dir 参数指示排序方向。可接受的值为“asc”(升序)和“desc”(降序)。排序键和排序方向的默认值分别为“created_at”和“desc”。

排序示例

  1. 带有指定键方向的新语法

    sort=name:asc,status:asc
    

    排序:按名称升序,然后按状态升序。

  2. 缺少方向的新语法

    sort=name,status:asc
    

    排序:按名称降序,然后按状态升序。

  3. 没有方向的新语法

    sort=name,status
    

    排序:按名称降序,然后按状态降序。

  4. 带有指定默认方向的经典语法

    sort_key=name&sort_key=status&sort_dir=asc
    

    排序:按名称升序,然后按状态升序。

  5. 缺少方向的经典语法

    sort_key=name&sort_key=status
    

    排序:按名称降序,然后按状态降序。

  6. 缺少键且指定默认方向的经典语法

    sort_dir=asc
    

    排序:按 created_at 升序。

  7. 带有指定键方向的经典语法

    sort_key=name&sort_dir=desc&sort_key=status&sort_dir=asc
    

    排序:按名称降序,然后按状态升序。

  8. 键和方向数量不同的经典语法

    sort_key=name&sort_dir=asc&sort_key=status&sort_dir=asc&sort_key=id
    

    将会报错。