ONTAP tools REST API 实施详细信息
虽然 REST 建立了一套通用的技术和最佳实践,但每个 API 的确切实施可能因设计选择而异。在使用 ONTAP tools for VMware vSphere 10 REST API 之前,您应该熟悉其设计方式。
REST API 包括几个资源类别,如 vCenters 和 Aggregates。请查看 "API 参考" 以了解更多信息。
如何访问 REST API
您可以通过 ONTAP tools IP 地址和端口访问 ONTAP tools for VMware vSphere 10 REST API。完整 URL 包含多个部分,包括:
-
ONTAP tools IP 地址和端口
-
API 版本
-
资源类别
-
特定资源
您必须在初始设置期间配置 IP 地址,而端口固定为 8443。对于每个 ONTAP tools for VMware vSphere 10 实例,URL 的第一部分是一致的;只有资源类别和特定资源在端点之间有所不同。
|
|
以下示例中的 IP 地址和端口值仅用于说明目的。您需要为您的环境更改这些值。 |
https://10.61.25.34:8443/virtualization/api/v1/auth/login
此 URL 可用于使用 POST 方法请求访问令牌。
https://10.61.25.34:8443/virtualization/api/v1/vcenters
此 URL 可用于使用 GET 方法请求已定义的 vCenter 服务器实例列表。
HTTP 详细信息
适用于 VMware vSphere 10 的 ONTAP tools for VMware vSphere REST API 使用 HTTP 和相关参数对资源实例和集合进行操作。HTTP 实现的详细信息如下所示。
HTTP 方法
下表列出了 REST API 支持的 HTTP 方法或谓词。
| 方法 | CRUD | 问题描述 |
|---|---|---|
GET |
读取 |
检索资源实例或集合的对象属性。与集合一起使用时,此操作被视为列表操作。 |
POST |
创建 |
根据输入参数创建新的资源实例。 |
PUT |
更新 |
使用提供的 JSON 请求正文更新整个资源实例。保留不可由用户修改的键值。 |
PATCH |
更新 |
请求将请求中的一组选定更改应用于资源实例。 |
DELETE |
删除 |
删除现有资源实例。 |
请求和响应标头
下表总结了与 REST API 配合使用的最重要的 HTTP 标头。
| 标头 | 类型 | 使用注意事项 |
|---|---|---|
接受 |
请求 |
这是客户端应用程序可以接受的内容类型。有效值包括 '*/*` 或 |
x-auth |
请求 |
包含标识通过客户端应用程序发出请求的用户的访问令牌。 |
Content-Type |
响应 |
由服务器根据 `Accept`请求标头返回。 |
HTTP状态代码
下面将介绍 REST API 使用的 HTTP 状态代码。
| 代码 | 含义 | 问题描述 |
|---|---|---|
200 |
确定 |
表示未创建新资源实例的调用成功。 |
201 |
已创建 |
已使用资源实例的唯一标识符成功创建对象。 |
202 |
已接受 |
已接受此请求,并已创建后台作业以执行此请求。 |
204 |
无内容 |
请求成功,但未返回任何内容。 |
400 |
错误请求 |
请求输入无法识别或不合适。 |
401 |
未经授权 |
此用户未获得授权,必须进行身份验证。 |
403 |
禁止 |
由于授权错误,访问被拒绝。 |
404 |
未找到 |
请求中引用的资源不存在。 |
409 |
冲突 |
尝试创建对象失败,因为此对象已存在。 |
500 |
内部错误 |
服务器出现常规内部错误。 |
身份验证
使用访问令牌对 REST API 执行客户端身份验证。令牌和身份验证过程的相关特征包括:
-
客户端必须使用 ONTAP tools Manager 管理员凭据(用户名和密码)请求令牌。
-
令牌的格式为 JSON Web Token (JWT)。
-
每个令牌将在 60 分钟后过期。
-
来自客户端的 API 请求必须在 `x-auth`请求标头中包含令牌。
有关请求和使用访问令牌的示例,请参见 "您的第一次 REST API 调用"。
同步和异步请求
大多数 REST API 调用快速完成,因此同步运行。也就是说,它们在请求完成后返回状态代码(例如 200)。需要较长时间才能完成的请求使用后台作业异步运行。
发出异步运行的 API 调用后,服务器返回 202 HTTP 状态代码。这表示此请求已被接受但尚未完成。您可以查询后台作业以确定其状态,包括成功或失败。
异步处理用于几种类型的长期运行操作,包括数据存储和vVol操作。有关详细信息,请参见 Swagger 页面上 REST API 的作业管理器类别。