通过 Active IQ Unified Manager 中的代理访问来访问 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) | 问题描述 | ||
|---|---|---|---|---|
|
|
此 GET 方法检索由 Unified Manager 管理的支持 ONTAP REST 调用的所有集群的列表。您可以验证集群详细信息,并选择基于集群 UUID 或通用唯一标识符(UUID)运行其他方法。
|
||
|
|
这是一个单点代理 API,支持所有 ONTAP REST API 的 POST、DELETE、PATCH 操作和 GET。只要 ONTAP 支持,对任何 API 都没有限制。无法禁用隧道或代理功能。 此 此 `OPTIONS`方法确定资源是否可用。此操作可用于查看 HTTP 响应标头中有关资源的元数据。Swagger 不支持此方法,但可以在其他 API 工具上执行。 |
了解 API 网关隧道
网关 API 使您能够通过 Unified Manager 管理 ONTAP 对象。Unified Manager 管理集群和身份验证详细信息,并将请求重定向到 ONTAP REST 端点。网关 API 使用 API 网关基础 URL 转换标头和响应正文中的 URL 和作为应用程序状态引擎的超媒体(HATEOAS)链接。网关 API 充当代理基础 URL,您可以向其附加 ONTAP REST URL 并执行所需的 ONTAP REST 端点。
|
|
要使 ONTAP API 通过 API 网关成功运行,运行该 API 的 ONTAP 群集版本必须支持该 API。运行 ONTAP 群集不支持的 API 不会返回任何结果。 |
在此示例中,网关 API(代理基 URL)为: /gateways/{uuid}/
所采用的 ONTAP API 为: /storage/volumes。您需要将 ONTAP API REST URL 添加为 path 参数的值。
|
|
添加路径时,请确保已删除"`/ |
附加的 URL 是: /gateways/{uuid}/storage/volumes
运行 GET`操作时,生成的 URL 如下所示: `GEThttps://<hostname\>/api/gateways/<cluster_UUID\>/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 都具有在集群范围内设置的上下文。基于存储 VM 运行的 API 也以集群为范围,即在托管集群内的特定存储 VM 上执行 API 操作。运行 /gateways/{uuid}/{path} API 时,请确保输入运行操作的集群的集群 UUID(Unified Manager 数据源 UUID)。要将上下文设置为该集群中的特定存储 VM,请输入存储 VM 密钥作为 X-Dot-SVM-UUID 参数,或输入存储 VM 名称作为 X-Dot-SVM-Name 参数。该参数作为筛选器添加到字符串标头中,操作在该集群内的该存储 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 的详细信息,请参见 "ONTAP REST API 自动化"