Skip to main content
ONTAP Automation
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

控制 API 请求的输入变量

贡献者

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

HTTP 方法

下表显示了 ONTAP REST API 支持的 HTTP 方法。

备注 并非所有 HTTP 方法都可在每个 REST 端点使用。此外,修补程序和删除都可以用于集合。有关详细信息,请参见 _Object 引用和访问权限 _ 。
HTTP 方法 Description

获取

检索资源实例或集合上的对象属性。

发布

根据提供的输入创建新的资源实例。

patch

根据提供的输入更新现有资源实例。

删除

删除现有资源实例。

标题

有效发出 GET 请求,但仅返回 HTTP 标头。

选项

确定特定端点支持哪些 HTTP 方法。

路径变量

每次REST API调用使用的端点路径可以包含各种标识符。每个ID对应于一个特定资源实例。例如、集群ID和SVM ID。

请求标题

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

内容类型

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

接受

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

Authorization

必须使用用户名和密码设置基本身份验证,并将其编码为 base64 字符串。例如:

Authorization: Basic YWRtaW46cGV0ZXJzb24=

请求正文

请求正文的内容因具体调用而异。HTTP 请求正文包含以下内容之一:

  • 包含输入变量的 JSON 对象

  • 空 JSON 对象

筛选对象

使用GET方法发出API调用时、您可以使用查询参数根据任何属性限制或筛选返回的对象。

解析和解释查询参数

可以将一个或多个参数的集合附加到以后面开头的URL字符串中 ? 字符。如果提供了多个参数、则查询参数将根据进行拆分 & 字符。参数中的每个键和值都在中拆分 = 字符。

例如、您可以使用等号指定要匹配的确切值:

<field>=<value>

对于更复杂的查询、附加运算符放置在等号后面。例如、要根据大于或等于某个值的特定字段选择对象集、查询将为:

<field>=>=<value>

筛选运算符

除了上面提供的示例之外、还可以使用其他运算符来返回值范围内的对象。下表汇总了ONTAP REST API支持的筛选运算符。

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

运算符

Description

=

等于

<

小于

>

大于

>=

小于或等于

>=

大于或等于

不等于

*

贪婪的通配符

此外,您还可以在查询中使用 null 关键字或其否定 ` ! null` 来根据是否设置了特定字段返回一组对象。

工作流示例

下面列出了此站点的REST API工作流中的一些示例。

  • "列出磁盘"

    根据进行筛选 state 用于选择备用磁盘的变量。

请求特定对象字段

默认情况下,使用 GET 发出 API 调用时,只会返回唯一标识一个或多个对象的属性以及 HAL 自链接。这组最小的字段可用作每个对象的密钥,并因对象类型而异。您可以通过以下方式使用 fields query 参数选择其他对象属性:

  • 通用字段或标准字段

    指定 fields=*` 以检索最常用的对象字段。这些字段通常保留在本地服务器内存中,或者几乎不需要处理即可访问。这些属性与使用带有 URL 路径密钥( UUID )的 GET 后为对象返回的属性相同。

  • 所有字段

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

  • 自定义字段选择

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

    提示 作为最佳实践,您应始终确定所需的特定字段。您只能在需要时检索一组通用字段或所有字段。哪些字段归类为通用字段,并使用 fields=* 返回,由 NetApp 根据内部性能分析确定。字段的分类可能会在未来版本中发生变化。

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

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

order_by-=< 字段名称 > asc=desc

例如,您可以按降序对类型字段排序,然后按升序对 ID 排序:

order_by-type desc , id asc

请注意以下事项:

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

  • 如果包含多个参数,则必须使用逗号分隔各个字段。

检索集合中的对象时分页

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

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

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

max_records=20

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

限制检索对象所用的时间

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

return_timeout=5

实际返回的对象数量可以小于有效的最大数量,具体取决于对对象数量以及系统中对象总数的相关限制。

缩小结果集的范围

如果需要,您可以将这两个参数与其他查询参数结合使用,以缩小结果集的范围。例如,以下内容最多返回在指定时间之后生成的 10 个 EMS 事件:

time=> 2018-04-04T15:41:29.140265Z&max_records=10

您可以通过问题描述发送多个请求来浏览各个对象。后续的每个 API 调用应根据最后一个结果集中的最新事件使用一个新的时间值。

大小属性

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

后缀 Description

知识库

KB 千字节( 1024 字节)或千字节

MB

MB 兆字节( KB x 1024 字节)或兆字节

GB

GB 千兆字节( MB x 1024 字节)或吉字节

TB

TB TB TB TB TB ( GB x 1024 字节)或 TB

PB

PB PB PB PB ( TB x 1024 字节)或对等字节