JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle® ZFS Storage Appliance RESTful API 指南,发行版 2013.1.3.0
Oracle 技术网
文档库
PDF
打印视图
反馈
search filter icon
search icon

文档信息

Oracle ZFS Storage Appliance RESTful API 入门

使用 RESTful API

RESTful API 警报服务

Analytics 服务

硬件服务

日志命令

网络命令

RESTful API 问题服务

RESTful API 角色服务

RESTful API SAN 服务

服务命令

RESTful API 存储服务

系统命令

RESTful API 用户服务

工作流命令

RESTful 客户机

Curl Rest 客户机

获取资源数据

创建新资源

修改现有资源

删除现有资源

Python RESTful 客户机

获取资源

创建资源

修改资源

删除现有资源

Curl Rest 客户机

两个常用的基于 CLI 的 HTTP 客户机为 wget 和 curl。本节介绍了多个使用 curl 执行 RESTful API 调用的示例,以及可使用 wget 实现的类似功能。

获取资源数据

此示例显示如何使用简单的 HTTP GET 请求来获取某些 JSON 数据:

> curl --user ${USER}:${PASSWORD} -k -i https://zfssa.example.com:215/api/nas/v1/pools/gold

 HTTP/1.1 200 OK
 Date: Tue, 23 Jul 2013 12:57:02 GMT
 Server: WSGIServer/0.1 Python/2.6.4
 Content-Length: 284
 Content-Type: application/json
 X-Zfs-Sa-Nas-Api: 1.0

{
   "pool": {
      "profile": "mirror",
      "name": "gold",
      "usage": {
         "available": 895468984832.0,
         "total": 895500681216.0,
         "dedupratio": 100,
         "used": 31696384.0
      },
      "peer": "00000000-0000-0000-0000-000000000000",
      "state": "online",
      "owner": "tanana",
      "asn": "314d252e-c42b-e844-dab1-a3bca680b563"
    }
 }

创建新资源

此示例显示如何在请求中发送 JSON 数据以创建新资源:

$ curl --user ${USER}:${PASSWORD} -s -k -i -X POST -d @-  \
  -H "Content-Type: application/json" \
  https://zfssa-host.example.com:215/api/user/v1/users <<JSON
> {"logname": "rest_user",
>  "fullname": "REST User",
>  "initial_password": "letmein"}
> JSON

HTTP/1.1 201 Created
Date: Tue, 23 Jul 2013 13:07:37 GMT
Server: WSGIServer/0.1 Python/2.6.4
X-Zfs-Sa-Appliance-Api: 1.0
Content-Type: application/json
Content-Length: 357

{
   "user": {
      "logname": "rest_user",
      "fullname": "REST User",
      "initial_password": "DummyPassword",
      "require_annotation": false,
      "kiosk_mode": false,
      "kiosk_screen": "status/dashboard",
      "roles": ["basic"],
      "exceptions": {},
      "preferences": {
         "href": "/api/user/v1/users/larry/preferences",
         "locale": "C",
         "login_screen": "status/dashboard",
         "session_timeout": 15,
         "advanced_analytics": false,
         "keys": {}
      }
   }
} 

修改现有资源

此示例修改用户的会话超时:

% curl --user larry:letmein -3 -s -k -i -X PUT \
  -H "Content-Type: application/json" -d @-  \
  https://tanana:215/api/appliance/v1/users/larry/preferences <<JSON
> {"session_timeout":60}
> JSON
HTTP/1.1 202 Accepted
Date: Wed, 24 Jul 2013 05:43:17 GMT
X-Zfs-Sa-Appliance-Api: 1.0
Content-Type: application/json
Content-Length: 0

{
    "preferences": {
        "href": "appliance/v1/users/larry/preferences",
        "locale": "C",
        "login_screen": "status/dashboard",
        "session_timeout": 60,
        "advanced_analytics": false,
        "keys": {}
    }
}

删除现有资源

此命令将用户从系统中删除:

curl --user ${USER}:${PASSWORD} -s -k -i -X DELETE  https://tanana:215/api/appliance/v1/users/jschwartz

HTTP/1.1 204 No Content
Date: Tue, 23 Jul 2013 13:21:11 GMT
Server: WSGIServer/0.1 Python/2.6.4
X-Zfs-Sa-Appliance-Api: 1.0
Content-Length: 0