基本操作特征
虽然 REST 建立了一组通用的技术和最佳实践,但每个 API 的详细信息可能因设计选择而异。
请求和响应 API 事务
每个 REST API 调用都作为 HTTP 请求执行到 SnapCenter 服务器系统,该系统会生成与客户端相关的响应。此请求和响应对被视为 API 事务。
在使用 API 之前,您应熟悉可用于控制请求的输入变量以及响应输出的内容。
支持 CRUD 操作
通过 SnapCenter REST API 提供的每个资源均可根据 CRUD 模型进行访问:
-
创建
-
读取
-
更新
-
删除
对于某些资源,仅支持部分操作。
对象标识符
创建每个资源实例或对象时,系统会为其分配一个唯一标识符。在大多数情况下,标识符为 128 位 UUID 。这些标识符在特定 SnapCenter 服务器中具有全局唯一性。
发出创建新对象实例的 API 调用后,带有关联 ID 的 URL 将返回到 HTTP 响应位置标题中的调用程序。在引用资源实例时,您可以提取此标识符并在后续调用中使用它。
对象标识符的内容和内部结构可以随时更改。仅当引用关联对象时,才应根据需要在适用的 API 调用上使用标识符。 |
对象实例和集合
根据资源路径和 HTTP 方法, API 调用可以应用于特定对象实例或对象集合。
同步和异步操作
SnapCenter 会同步或异步执行从客户端收到的 HTTP 请求。
同步处理
SnapCenter 会立即执行此请求,如果成功,则会使用 HTTP 状态代码 200 或 201 进行响应。
始终会同步执行使用 GET 方法的每个请求。此外,如果使用 POST 的请求预计在两秒内完成,则这些请求会同步运行。
异步处理
如果异步请求有效, SnapCenter 将创建一个后台任务来处理此请求,并创建一个作业对象来锁定此任务。HTTP 状态代码 202 将与作业对象一起返回给调用程序。您应检索作业的状态以确定是否成功。
如果使用 POST 和 DELETE 方法的请求预计需要超过两秒才能完成,则这些请求会异步运行。
安全性
REST API 提供的安全性主要基于 SnapCenter 提供的现有安全功能。API 使用以下安全性:
传输层安全性
根据 SnapCenter 配置设置,通过网络在 SnapCenter 服务器和客户端之间发送的所有流量通常使用 TLS 进行加密。
HTTP 身份验证
在 HTTP 级别, API 事务使用基本身份验证。每个请求都会添加一个 HTTP 标头,其中用户名和密码包含在 base64 字符串中。