通过代理访问访问 ONTAP API
网关 API 具有使用 Active IQ Unified Manager 凭据运行 ONTAP REST API 和管理存储对象的优势。在 Unified Manager Web UI 中启用 API 网关功能后,可以使用这些 API 。
Unified Manager REST API 仅支持在 Unified Manager 数据源(即 ONTAP 集群)上执行一组选择的操作。您可以通过 ONTAP API 使用其他功能。通过网关API、Unified Manager可以成为一个直通接口、用于在其管理的ONTAP 集群上执行所有API请求、而无需单独登录到每个数据中心集群。它作为一个管理点执行,用于在 Unified Manager 实例管理的 ONTAP 集群中运行 API 。通过 API 网关功能, Unified Manager 可以成为一个控制平面,您可以从该平面管理多个 ONTAP 集群,而无需单独登录到这些集群。通过网关 API ,您可以保持登录到 Unified Manager 的状态,并通过运行 ONTAP REST API 操作来管理 ONTAP 集群。
所有用户均可使用 GET 操作运行查询。应用程序管理员可以运行所有 ONTAP REST 操作。 |
网关充当一个代理,通过保持标头和正文请求的格式与 ONTAP API 中的格式相同来对 API 请求进行通道化。您可以使用 Unified Manager 凭据并执行特定操作来访问和管理 ONTAP 集群,而无需传递各个集群凭据。它会继续管理集群身份验证和集群管理,但会将 API 请求重定向到直接在特定集群上运行。API 返回的响应与直接从 ONTAP 执行的相应 ONTAP REST API 返回的响应相同。
HTTP 动词 | 路径( URL ) | Description | ||
---|---|---|---|---|
|
` 网关` |
此 GET 方法将检索 Unified Manager 所管理的支持 ONTAP REST 调用的所有集群的列表。您可以验证集群详细信息,并根据集群 UUID 或通用唯一标识符( UUID )选择运行其他方法。
|
||
|
` / 网关 /\ { uuid } /\ { path }`
|
这是一个单点代理 API ,支持 POST ,删除,修补操作,并支持所有 ONTAP REST API 的 GET 。只要 ONTAP 支持任何 API ,就不会对其施加任何限制。无法禁用通道或代理功能。
|
了解 API 网关通道
通过网关 API ,您可以通过 Unified Manager 管理 ONTAP 对象。Unified Manager 可管理集群和身份验证详细信息,并将请求重定向到 ONTAP REST 端点。网关 API 使用 API 网关基本 URL 将 URL 和 Hypermedia 转换为标题和响应正文中的应用程序状态引擎( HATEOAS )链接。网关 API 充当代理基础 URL ,您可以将 ONTAP REST URL 附加到该 URL 并执行所需的 ONTAP REST 端点。
要使ONTAP API能够通过API网关成功运行、运行API的ONTAP 集群版本必须支持此API。运行ONTAP 集群不支持的API不会返回任何结果。 |
在此示例中,网关 API (代理基本 URL )为: ` /gateway/ { uuid } /`
所使用的 ONTAP API 为: ` /storage/volumes` 。您需要添加 ONTAP API REST URL 作为路径参数的值。
添加路径时,请确保已删除 URL 开头的 "` /` " 符号。对于 API ` 存储 / 卷,` add |
附加的 URL 为: ` /gates/ { uuid } /storage/volumes`
在运行 get
操作时,生成的 URL 如下: GETTps : //<hostname\>/api/ 网关 /<cluster_UUUID\>/storage/volumes
在附加的 URL 中删除 ONTAP REST URL 的 ` /API` 标记,并保留网关 API 的标记。
-
示例 cURL 命令 *
curl -X GET "https://<hostname>/api/gateways/1cd8a442-86d1-11e0-ae1c-9876567890123/storage/volumes" -H "accept: application/hal+json" -H "Authorization: Basic <Base64EncodedCredentials>"
API 将返回该集群中的存储卷列表。响应格式与从 ONTAP 运行相同 API 时收到的格式相同。返回的状态代码为 ONTAP REST 状态代码。
正在设置 API 范围
所有 API 都在集群范围内设置了上下文。基于 Storage VM 运行的 API 也会以集群为范围,也就是说, API 操作会在受管集群中的特定 Storage VM 上执行。在运行 ` 网关 // { uuid } /\ { path }` API 时,请确保为运行此操作的集群输入集群 UUID ( Unified Manager 数据源 UUID )。要为该集群中的特定 Storage VM 设置上下文,请输入 Storage VM 密钥作为 X-Dot-SVM-UUID 参数,或者输入 Storage VM 名称作为 X-Dot-SVM-Name 参数。参数将作为筛选器添加到字符串标题中,此操作将在该集群中的该 Storage VM 的范围内运行。
-
示例 cURL 命令 *
curl -X GET "https://<hostname>/api/gateways/e4f33f90-f75f-11e8-9ed9-00a098e3215f/storage/volume" -H "accept: application/hal+json" -H "X-Dot-SVM-UUID: d9c33ec0-5b61-11e9-8760-00a098e3215f" -H "Authorization: Basic <Base64EncodedCredentials>"
有关使用ONTAP REST API的详细信息、请参见https://docs.netapp.com/us-en/ontap-automation/index.html["ONTAP REST API 自动化"]