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