JavaScript is required to for searching.
Omitir vínculos de navegación
Salir de la Vista de impresión
Guía de API de RESTful de Oracle® ZFS Storage Appliance, versión 2013.1.3.0
Red de tecnología de Oracle
Biblioteca
PDF
Vista de impresión
Comentarios
search filter icon
search icon

Información del documento

Introducción a la API de RESTful de Oracle ZFS Storage Appliance

Trabajo con la API de RESTful

Servicio de alertas de la API de RESTful

Servicios de análisis

Servicios de hardware

Comandos de log

Comandos de red

Servicio de problemas de la API de RESTful

Servicio de rol de la API de RESTful

Servicio de SAN de la API de RESTful

Comandos de servicio

Servicio de almacenamiento de la API de RESTful

Comandos del sistema

Servicio de usuario de la API de RESTful

Comandos de flujo de trabajo

Clientes RESTful

Cliente Curl Rest

Obtener datos del recurso

Crear un nuevo recurso

Modificar un recurso existente

Suprimir un recurso existente

Cliente Python RESTFul

Obtener un recurso

Crear un recurso

Modificar un recurso

Suprimir un recurso existente

Cliente Python RESTFul

Se proporciona un cliente Python de la API de RESTful junto con una biblioteca de prueba de REST para ayudar en el desarrollo de pruebas de los servicios de RESTful.

Ejemplo de programa de cliente RESTful:

>>> import urllib2
>>> import json

>>> request = urllib2.Request("https://zfsssa.example:215/api/access/v1", "")
>>> request.add_header("X-Auth-User", "rest_user")
>>> request.add_header("X-Auth-Key", "letmein")
>>> response = urllib2.urlopen(request)
>>> response.getcode()
201

>>> info = response.info()
>>>
        opener = urllib2.build_opener(urllib2.HTTPHandler)
>>> opener.addheaders = [("X-Auth-Session", info.getheader("X-Auth-Session")),
... ('Content-Type', 'application/json'), ('Accept', 'appplication/json')]

La opción de apertura se puede usar para abrir solicitudes que tienen autenticación previa y están listas para enviar o recibir datos JSON.

Obtener un recurso

Se puede usar el siguiente código de Python para obtener datos de cualquier recurso de la API de RESTful.

Ejemplo de GET:

>>> request = urllib2.Request("https://zfssa:215/api/network/v1/routes")
>>> response = opener.open(request)
>>> response.getcode()
200
>>> body = json.loads(response.read())
>>> print json.dumps(body, sort_keys=True, indent=4)
{
    "routes": [

            {
            "destination": "0.0.0.0",
            "family": "IPv4",

            "gateway": "10.80.231.1",
            "href":
            "/api/network/v1/routes/ixgbe0,0.0.0.0,10.80.231.1",

            "interface": "ixgbe0",
            "mask": 0,
            "type": "static"

            }
    ]
}

Crear un recurso

Ejemplo de código Python para crear un nuevo recurso:

>>> action = {'category': 'network'}
>>> post_data = json.dumps(action)
>>> request = urllib2.Request("https://zfssa:215/api/alert/v1/actions", post_data)
>>> request.add_header('Content-Type', 'application/json')

>>> response = opener.open(request)
>>> response.getcode()
201
>>> response.info().getheader('Location')
'/api/alert/v1/actions/actions-001'
>>> body = json.loads(response.read())
>>> print json.dumps(body, sort_keys=True, indent=4)
{

        "actions": {
        "category": "network",
        "datalink_failed": true,

        "datalink_ok": true,
        "href":
        "/api/alert/v1/actions/actions-001",

        "ip_address_conflict": true,

        "ip_address_conflict_resolved": true,

        "ip_interface_degraded": true,
        "ip_interface_failed":
        true,
        "ip_interface_ok": true,

        "network_port_down": true,
        "network_port_up":
        true
    }
}

Modificar un recurso

Ejemplo de código Python para modificar un recurso existente:

>>> put_data = '{"ip_address_conflict_resolved": false}'
>>>
        request = urllib2.Request("https://zfssa:215/api/alert/v1/actions/actions-001", put_data)
>>> request.add_header('Content-Type', 'application/json')
>>> request.get_method = lambda: 'PUT'

>>> response = opener.open(request)
>>> response.getcode()
202
>>> body = json.loads(response.read())
>>> print json.dumps(body, sort_keys=True, indent=4)
{

        "actions": {
        "category": "network",
        "datalink_failed": true,

        "datalink_ok": true,
        "href":
        "/api/alert/v1/actions/actions-001",

        "ip_address_conflict": true,

        "ip_address_conflict_resolved": false,

        "ip_interface_degraded": true,
        "ip_interface_failed":
        true,
        "ip_interface_ok": true,

        "network_port_down": true,
        "network_port_up":
        true
    }
}

Suprimir un recurso existente

Ejemplo de código Python para suprimir un recurso existente:

>>> request = urllib2.Request("https://zfssa:215/api/alert/v1/actions/actions-001")
>>> request.get_method = lambda: 'DELETE'
>>> response = opener.open(request)
>>> response.getcode()
204