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 |
Introducción a la API de RESTful de Oracle ZFS Storage Appliance
Servicio de alertas de la API de RESTful
Servicio de problemas de la API de RESTful
Servicio de rol de la API de RESTful
Servicio de SAN de la API de RESTful
Servicio de almacenamiento de la API de RESTful
Operaciones de la agrupación de almacenamiento
Agregar almacenamiento a una agrupación
Obtener propiedades del proyecto
Operaciones de clonación e instantánea
Cambiar el nombre de la instantánea
Mostrar dependientes de la instantánea
Obtener servicio de replicación
Modificar el estado del servicio de replicación
Mostrar destinos de replicación
Obtener destino de replicación
Suprimir destino de replicación
Mostrar acciones de replicación
Modificar acción de replicación
Suprimir una acción de replicación
Mostrar fuentes de replicación
Mostrar paquetes de replicación
Lista de operaciones del sistema y gestión de recursos compartidos del sistema de archivos. Todos los comandos se pueden acotar a una agrupación de almacenamiento o a un proyecto determinados.
{service_uri}/pools/{pool}/project/{project}
|
Cada sistema de archivos contiene propiedades del proyecto y tiene las siguientes propiedades específicas del sistema de archivos.
|
El comando Mostrar sistemas de archivos muestra todos los sistemas de archivos de una agrupación o un proyecto determinado.
Filtro de parámetros de consulta: un filtro de coincidencia de cadenas simple que requiere una propiedad dentro del proyecto para contener la misma cadena de filtros dentro de su valor.
|
Ejemplo de solicitud:
GET /api/storage/v1/pools/gold/projects/proj-01/filesystems HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
La solicitud correcta devuelve HTTP Status 200 (OK) (estado HTTP 200 [correcto]) junto con una matriz de propiedades del sistema de archivos en formato JSON.
Resultado de ejemplo:
HTTP/1.1 200 OK Content-Type: application/json { “filesystems”: [{ “name”: “filesystem-01”, “project”: “proj-01”, “pool”: “gold”, ... }, { “name”: “filesystem-02”, “project”: “proj-01”, “pool”: “gold”, ... }] }
También se admite una lista de todos los sistemas de archivos de todas las agrupaciones y proyectos. En ese caso, el URI será /api/storage/v1/filesystems.
Solicitud de ejemplo (para obtener todos los sistemas de archivos con la cadena "abcd" como parte de sus propiedades):
GET /api/storage/v1/filesystems?filter=abcd HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
El comando obtener sistema de archivos devuelve las propiedades del sistema de archivos en una agrupación o en un proyecto determinados.
|
Ejemplo de solicitud (para visualizar un proyecto denominado "proj-01"):
GET /api/storage/v1/pools/gold/projects/proj-01 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Un comando get correcto devuelve HTTP Status 200 (OK) (estado HTTP 200 [correcto]) junto con las propiedades del sistema de archivos en formato JSON.
Ejemplo de respuesta:
HTTP/1.1 200 OK Content-Type: application/json { "filesystem": { "logbias": "latency", "creation": "20130423T21:30:34", "nodestroy": false, "dedup": false, "sharenfs": "on", "sharesmb": "off", "mountpoint": "/export/grape", "snaplabel": "", "id": "424ca2ec-b3fa-df86-0000-000000000000", "readonly": false, "rrsrc_actions": [], "compression": "off", "sharetftp": "", "source": { "logbias": "default", "dedup": "default", "sharenfs": "inherited", "sharesmb": "off", "mountpoint": "inherited", "rrsrc_actions": "local", "compression": "default", "sharetftp": "inherited", "snapdir": "default", "aclmode": "default", "copies": "default", "aclinherit": "default", "shareftp": "inherited", "readonly": "default", "secondarycache": "default", "exported": "inherited", "vscan": "default", "reservation": "local", "atime": "default", "recordsize": "default", "checksum": "inherited", "sharesftp": "inherited", "nbmand": "default", "rstchown": "default" }, "snapdir": "hidden", "aclmode": "discard", "copies": 1, "aclinherit": "restricted", "shareftp": "", "canonical_name": "platinum/local/default/grape", "recordsize": 131072.0, "usage": { "available": 880395477504.0, "loading": false, "quota": 0.0, "snapshots": 18432.0, "compressratio": 100.0, "reservation": 0.0, "total": 50176.0, "data": 31744.0 }, "secondarycache": "all", "collection": "local", "exported": true, "vscan": false, "reservation": 0.0, "shadow": "none", "atime": true, "pool": "platinum", "quota_snap": true, "name": "grape", "checksum": "fletcher4", "project": "default", "sharesftp": "", "nbmand": false, "reservation_snap": true, "sharedav": "", "rstchown": true } }
El comando de creación de sistema de archivos de proyecto crea un sistema de archivos con un nombre determinado que reside en una agrupación de almacenamiento o un proyecto determinados. Se devuelve el sistema de archivos nuevo con propiedades predeterminadas.
|
Solicitar parámetros:
name: se debe suministrar el nombre del sistema de archivos para crear un nuevo sistema de archivos.
filesystem properties: cualquiera de las propiedades detalladas en las propiedades del sistema de archivos o del proyecto se pueden configurar como valores iniciales.
Ejemplo de solicitud (para crear un sistema de archivos denominado "share-01" y propiedad del usuario "joe"):
POST /api/storage/v1/pools/gold/projects/proj-01/filesystems HTTP/1.1 Host: zfs-storage.example.com Content-Type: application/json Accept: application/json { “name”: “share-01”, “owner”: “joe” }
La creación satisfactoria devuelve HTTP Status 201 (Created) (estado HTTP 201 [creado]) con el encabezado de ubicación que contiene el URI del sistema de archivos nuevo. El cuerpo contiene todas las propiedades del sistema de archivos en formato JSON.
Ejemplo de respuesta:
HTTP/1.1 201 Created Content-Type: application/json Location: /api/storage/v1/pools/gold/projects/proj-01/filesystems/share-01 { “filesystem”: { “name”: “share-01”, “pool”: “gold”, “collection”: “local”, “project”: “proj-01”, “owner”: “joe” ... } }
El comando de modificación de sistema de archivos cambia los atributos de un sistema de archivos existente. La respuesta satisfactoria devuelve HTTP Status 202 (Accepted) (estado HTTP 202 [aceptado]) y muestra todas las propiedades del sistema de archivos.
Solicitar parámetros (propiedades del sistema de archivos): se puede modificar cualquiera de las propiedades del sistema de archivos o del proyecto.
|
Ejemplo de solicitud (para cambiar el nombre de un sistema de archivos de "share-01" a "new-name" y el propietario a "nobody"):
PUT /api/storage/v1/pools/gold/projects/proj-01/filesystems/share-01 HTTP/1.1 Host: zfs-storage.example.com Content-Type: application/json Accept: application/json { “name”: “new-name”, “owner”: “nobody”, }
Ejemplo de respuesta:
HTTP/1.1 202 Accepted Content-Type: application/json Location: http://zfs-storage.example.com:215 /pools/gold/projects/proj-01/filesystems/share-01 { “filesystem”: { “name”: “new-name”, “pool”: “gold”, “collection”: “local”, “project”: “proj-01”, “owner”: “nobody” ... } }
El comando suprimir sistema de archivos elimina un solo sistema de archivos de una agrupación o un proyecto determinados.
|
Ejemplo de solicitud:
DELETE /api/storage/v1/pools/gold/projects/proj-01/filesystems/share-01 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
La supresión satisfactoria devuelve HTTP Status 204 (No Content) (estado HTTP 204 [sin contenido]).
Ejemplo de respuesta:
HTTP/1.1 204 No-Content
Se pueden crear o modificar cuotas de usuario o de grupo con solicitudes POST o PUT, respectivamente. Las solicitudes GET para los recursos de uso del sistema de archivos se usan para obtener datos de uso por usuario o por grupo para el proyecto.