跳到主要内容

用于控制 API 请求的输入变量

可以通过 HTTP 请求中设置的参数和变量来控制 API 调用的处理方式。

HTTP 方法

ONTAP REST API 支持的 HTTP 方法如下表所示。

并非每个 REST 端点都提供所有的 HTTP 方法。此外,PATCH 和 DELETE 都可以用于集合。请参阅《对象引用和访问》以了解更多信息。
HTTP 方法Description(描述)
GET检索资源实例或集合的对象属性。
POST根据提供的输入创建新的资源实例。
PATCH根据提供的输入更新现有的资源实例。
DELETE删除现有资源实例。
HEAD有效地发出 GET 请求但仅返回 HTTP 标头。
OPTIONS确定特定端点支持的 HTTP 方法。

请求标头

必须在 HTTP 请求中包含多个标头。

Content-type
如果请求正文包含 JSON,则必须将此标头设置为 application/json
接受

此标头应设置为 application/hal+json。如果设置为 application/json,则除了用于检索下一批记录的必要链接之外,不会返回任何 HAL 链接。如果标头设置为除了这两个值之外的任何其他值,则响应中的 content-type 标头的默认值将是 application/hal+json

授权

必须使用编码为 base64 字符串的用户名和密码设置基本认证。

请求正文

请求正文的内容取决于具体的调用。HTTP 请求正文包含以下之一:

  • 带输入变量的 JSON 对象

  • 空对象

筛选对象

发出使用 GET 的 API 调用时,可以根据任何属性来限制或筛选返回的对象。例如,可以指定要匹配的精确值:

<field>=<query value>

除了精确匹配之外,还可以使用其他运算符基于一系列值返回一组对象。ONTAP REST API 支持下表中显示的筛选运算符。

操作员Description(描述)
=等于
<小于符号
>大于符号
<=小于等于
>=大于等于
|
!不等于
*通配符

还可以在查询中使用关键字 null 或其否定关键字 !null 决定是否设置特定字段,然后据此返回对象集合。

通常会从匹配的查询中排除未设置的任何字段。

请求特定的对象字段

默认情况下,发出使用 GET 的 API 调用时,仅返回可唯一标识一个或多个对象的属性以及 HAL 自链接。此最小字段集充当每个对象的键值,并根据对象类型而不同。可以按照以下几种方式使用 fields 查询参数选择其他对象属性:

  • 公共或标准字段

    指定 fields=* 检索最常用的对象字段。这些字段通常在本地服务器内存中维护,或者只需很少的处理即可访问。这些字段与在将 GET 与 URL 路径键值(UUID)一起使用后为对象返回的属性相同。

  • 所有字段

    指定 fields=** 检索所有对象字段,包括需要服务器进行额外处理才能访问的对象字段。

  • 自定义字段选择

    使用 fields=<field_name> 指定所需的确切字段。请求多个字段时,必须使用逗号分隔值,不能使用空格。

注意
一种最佳实践方法是始终确定所需的具体字段。应该只在需要时才检索公共字段集或所有字段。哪些字段被归类为公共字段并通过 fields=* 返回,由 Lenovo 根据内部性能分析确定。在将来的版本中,字段的分类可能会发生变化。

对输出集内的对象进行排序

资源集合中的记录以对象定义的默认顺序返回。可以使用 order_by 查询参数以及字段名称和排序方向来更改顺序,如下所示:

order_by=<field name> asc|desc

例如,可以按降序根据 type 字段进行排序,然后按升序根据 id 进行排序:

order_by=type desc, id asc

注意以下几点:

  • 如果指定排序字段但不提供方向,则值将按升序排序。

  • 包含多个参数时,必须用逗号分隔字段。

检索集合中的对象时的分页

当发出使用 GET 的 API 调用来访问包含相同对象类型的对象集合时,ONTAP 会尝试根据两个约束返回尽可能多的对象。可以在请求中使用其他查询参数来控制每个约束。特定 GET 请求的第一个约束在达到时会终止请求,因此将限制返回的记录数。

如果某个请求在迭代所有对象之前便结束,则响应中会包含检索下一批记录所需的链接。
限制对象的数量

默认情况下,ONTAP 最多为 GET 请求返回 10000 个对象。可以使用 max_records 查询参数更改此限制。例如:

max_records=20

根据相关的时间约束以及系统中的对象总数,实际返回的对象数量可能小于有效的最大值。

限制用于检索对象的时间

默认情况下,ONTAP 在 GET 请求的允许时间内返回尽可能多的对象。默认超时时间为 15 秒。可以使用 return_timeout 查询参数更改此限制。例如:

return_timeout=5

根据相关的对象数量约束以及系统中的对象总数,实际返回的对象数量可能小于有效的最大值。

缩小结果集

如果需要,可以将这两个参数与其他查询参数相结合来缩小结果集。例如,以下代码返回在指定时间后生成的最多 10 个 ems 事件:

time=> 2020–11–11T15:41:29.140265Z&max_records=10

可以发出多个请求来分页查看对象。每个后续 API 调用都应使用基于最后一个结果集内的最新事件的新时间值。

大小属性

某些 API 调用使用的输入值以及某些查询参数是数字。可以不以字节为单位提供整数,而是选择使用后缀,如下表所示。

后缀Description(描述)
KB千字节(1024 字节)
MB兆字节(KB x 1024 字节)
GB千兆字节(MB x 1024 字节)
TB太字节(GB x 1024 字节)
PB拍字节(TB x 1024 字节)