Go to main content

Oracle® ZFS Storage Appliance RESTful API 指南,发行版 OS8.8.x

退出打印视图

更新时间: 2021 年 8 月
 
 

RESTful API 服务版本 2.0

本节介绍 RESTful API 服务版本 2 和 RESTful API 服务版本 1 之间的差异:

RESTful API 版本 2 和 RESTful API 版本 1 同时可用,本指南的其余部分显示版本 1 示例。使用请求 URI 的服务版本部分(v1v2)选择要使用的 REST API 版本。

可编写脚本的值

RESTful API 版本 2 操作始终返回可编写脚本的值。可编写脚本的值对于每种类型的属性都具有相同的稳定形式。

RESTful API 版本 1 操作通常(但并非始终)返回可编写脚本的值。例如,RESTful API 版本 1 有时返回完整 Javascript 日期格式的日期时间字符串,有时返回 ISO 8601 日期时间格式的日期时间字符串。RESTful API 版本 2 始终返回 ISO 8601 日期时间格式的日期时间字符串。

在以下示例中,GET /api/system/v1/updates 操作返回完整 Javascript 日期格式的日期时间字符串,GET /api/system/v2/updates 操作返回 ISO 8601 日期时间格式的日期时间字符串:

GET /api/system/v1/updates
{
 "updates": [{
   "status": "previous",
   "href": "/api/system/v1/updates/ak-nas@2013.06.05.4.0,1-1.7",
   "release_date": "Fri May 01 2015 20:13:00 GMT+0000 (UTC)",
   "install_date": "Tue Nov 15 2016 01:01:07 GMT+0000 (UTC)",
   "version": "2013.06.05.4.0,1-1.7",
   "date": "Fri May 01 2015 20:13:00 GMT+0000 (UTC)"
 }]
}
GET /api/system/v2/updates
{ 
 "updates": [{
   "status": "previous",
   "href": "/api/system/v2/updates/ak-nas@2013.06.05.4.0,1-1.7",
   "release_date": "2015-05-01T20:13:00Z",
   "install_date": "2016-11-15T01:01:07Z",
   "version": "2013.06.05.4.0,1-1.7",
   "date": "2015-05-01T20:13:00Z"
 }]
}

一致的值

RESTful API 版本 1 操作有时会为同一属性返回不同的值,具体取决于属性的访问方式。RESTful API 版本 2 操作返回一致的值,而与属性的访问方式无关。

在以下示例中,当列出所有的复制操作时,max_bandwidth 属性的值以 -1 形式返回:

GET /api/storage/v1/replication/actions
{
 "actions": [{
   "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54",
   ...
   "max_bandwidth": -1,
   ...
 }]
}

如果仅指定了一个复制操作,则 max_bandwidth 属性的值以 0 形式返回,即使基础值未改变也是如此:

GET /api/storage/v1/replication/actions/71b1b8b9-9c57-c969-aab9-f96d5f4e5d54
{
 "action": {
   "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54",
   ...
   "max_bandwidth": 0,
   ...
 }
}

RESTful API 版本 2 操作始终为特定属性返回相同的值,而与该属性值的访问方式无关:

GET /api/storage/v2/replication/actions
{
 "actions": [{
   "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54",
   ...
   "max_bandwidth": -1,
   ...
 }]
}
GET /api/storage/v2/replication/actions/71b1b8b9-9c57-c969-aab9-f96d5f4e5d54
{
 "action": {
   "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54",
   ...
   "max_bandwidth": -1,
   ...
 }
}