Variables de entrada que controlan una solicitud API
Puede controlar cómo se procesa una llamada API mediante parámetros y variables definidas en la solicitud HTTP.
Métodos HTTP
En la siguiente tabla, se muestran los métodos HTTP compatibles con la API DE REST de ONTAP.
No todos los métodos HTTP están disponibles en cada extremo DE REST. Además, TANTO EL PARCHE como EL BORRADO se pueden utilizar en una colección. Consulte Object reference and access para obtener más información. |
Método HTTP | Descripción |
---|---|
OBTENGA |
Recupera propiedades de objeto en una instancia o colección de recursos. |
PUBLICAR |
Crea una nueva instancia de recurso basada en la entrada proporcionada. |
PARCHE |
Actualiza una instancia de recurso existente basada en la entrada proporcionada. |
ELIMINAR |
Elimina una instancia de recurso existente. |
CABEZA |
Emite una solicitud GET pero sólo devuelve los encabezados HTTP. |
OPCIONES |
Determine qué métodos HTTP se admiten en un punto final específico. |
Variables de ruta
La ruta de punto final que se usa con cada llamada API DE REST puede incluir varios identificadores. Cada ID corresponde a una instancia de recurso específica. Entre los ejemplos se incluyen el ID del clúster y el ID de SVM.
Solicitar encabezados
Debe incluir varios encabezados en la solicitud HTTP.
- Tipo de contenido
-
Si el cuerpo de la solicitud incluye JSON, este encabezado debe estar establecido en
application/json
. - Acepte
-
Este encabezado debe estar configurado en
application/hal+json
. Si en su lugar está establecido enapplication/json
No se devolverá ninguno de los enlaces HAL excepto un enlace necesario para recuperar el siguiente lote de registros. Si el encabezado está separado de estos dos valores, el valor predeterminado decontent-type
la cabecera en la respuesta seráapplication/hal+json
. - Autorización
-
La autenticación básica se debe establecer con el nombre de usuario y la contraseña codificados como una cadena base64. Por ejemplo:
Authorization: Basic YWRtaW46cGV0ZXJzb24=
.
Solicitar el cuerpo
El contenido del cuerpo de la solicitud varía en función de la llamada específica. El cuerpo de la solicitud HTTP consta de uno de los siguientes elementos:
-
Objeto JSON con variables de entrada
-
Objeto JSON vacío
Filtrando objetos
Al emitir una llamada a la API con el método GET, puede limitar o filtrar los objetos devueltos en función de cualquier atributo mediante un parámetro de consulta.
Se puede agregar un conjunto de uno o más parámetros a la cadena de URL a partir del ?
carácter. Si se proporciona más de un parámetro, los parámetros de consulta se dividen en función del &
carácter. Cada clave y valor del parámetro se dividen en el =
carácter.
Por ejemplo, puede especificar un valor exacto para que coincida utilizando el signo igual:
<field>=<value>
Para una consulta más compleja, el operador adicional se coloca después del signo igual. Por ejemplo, para seleccionar el juego de objetos basado en un campo específico que sea mayor o igual que algún valor, la consulta sería:
<field>=>=<value>
Además de los ejemplos proporcionados anteriormente, hay operadores adicionales disponibles para devolver objetos en un rango de valores. En la siguiente tabla se muestra un resumen de los operadores de filtrado compatibles con la API de REST DE ONTAP.
Los campos que no están configurados generalmente se excluyen de consultas coincidentes. |
Operador |
Descripción |
= |
Igual a. |
< |
Menor que |
> |
Mayor que |
<= |
Menor o igual que |
>= |
Mayor o igual que |
! |
No es igual a. |
* |
Comodín codicioso |
También puede devolver un conjunto de objetos basándose en si se ha establecido o no un campo específico mediante el null
palabra clave o su negación !null
como parte de la consulta.
A continuación se incluyen algunos ejemplos desde los flujos de trabajo de la API de REST en este sitio.
-
Filtrar según el
state
variable para seleccionar los discos de repuesto.
Solicitando campos de objeto específicos
De forma predeterminada, al emitir una llamada API mediante GET, sólo se devuelven los atributos que identifican de forma única el objeto o los objetos, junto con un vínculo de HAL. Este conjunto mínimo de campos actúa como clave para cada objeto y varía según el tipo de objeto. Puede seleccionar propiedades de objeto adicionales mediante la fields
parámetro de consulta de las siguientes formas:
-
Campos comunes o estándar
Especifique
fields=*`
para recuperar los campos de objeto más utilizados. Estos campos normalmente se mantienen en la memoria del servidor local o requieren poco procesamiento para acceder. Estas son las mismas propiedades que se devuelven para un objeto después de utilizar GET con una clave de ruta de URL (UUID). -
Todos los campos
Especifique
fields=**
para recuperar todos los campos de objeto, incluidos los que requieren procesamiento de servidor adicional para tener acceso. -
Selección de campo personalizado
Uso
fields=<field_name>
para especificar el campo exacto que desea. Al solicitar varios campos, los valores deben separarse con comas sin espacios.Como práctica recomendada, siempre debe identificar los campos específicos que desea. Sólo debe recuperar el conjunto de campos comunes o todos los campos cuando sea necesario. Los campos se clasifican como comunes y se devuelven mediante fields=*
, Viene determinado por NetApp según un análisis interno del rendimiento. La clasificación de un campo puede cambiar en versiones futuras.
Ordenar objetos del conjunto de resultados
Los registros de una colección de recursos se devuelven en el orden predeterminado definido por el objeto. Puede cambiar el pedido mediante order_by
consulte el parámetro con el nombre del campo y la dirección de ordenación de la siguiente manera:
order_by=<field name> asc|desc
Por ejemplo, puede ordenar el campo de tipo en orden descendente seguido de id en orden ascendente:
order_by=type desc, id asc
Tenga en cuenta lo siguiente:
-
Si se especifica un campo de ordenación pero no se proporciona una dirección, los valores se ordenan en orden ascendente.
-
Cuando se incluyan varios parámetros, los campos deben separarse con una coma.
Paginación al recuperar objetos de una colección
Al emitir una llamada API mediante GET para acceder a una colección de objetos del mismo tipo, ONTAP intenta devolver tantos objetos como sea posible basándose en dos restricciones. Puede controlar cada una de estas restricciones utilizando parámetros de consulta adicionales en la solicitud. La primera restricción alcanzada para una solicitud GET específica termina la solicitud y, por lo tanto, limita el número de registros devueltos.
Si una solicitud finaliza antes de iterar todos los objetos, la respuesta contiene el vínculo necesario para recuperar el siguiente lote de registros. |
- Limitar el número de objetos
-
De forma predeterminada, ONTAP devuelve un máximo de 10,000 objetos para UNA solicitud GET. Puede cambiar este límite con
max_records
parámetro de consulta. Por ejemplo:max_records=20
El número de objetos realmente devueltos puede ser menor que el máximo en efecto, basándose en la restricción de tiempo relacionada, así como en el número total de objetos del sistema.
- Limitar el tiempo utilizado para recuperar los objetos
-
De forma predeterminada, ONTAP devuelve tantos objetos como sea posible dentro del tiempo permitido para LA solicitud GET. El tiempo de espera predeterminado es 15 segundos. Puede cambiar este límite con
return_timeout
parámetro de consulta. Por ejemplo:return_timeout=5
El número de objetos realmente devueltos puede ser menor que el máximo en efecto, basándose en la restricción relacionada en el número de objetos así como en el número total de objetos del sistema.
- Reducción del conjunto de resultados
-
Si es necesario, puede combinar estos dos parámetros con parámetros de consulta adicionales para restringir el conjunto de resultados. Por ejemplo, el siguiente devuelve hasta 10 eventos de ems generados después de la hora especificada:
time=> 2018-04-04T15:41:29.140265Z&max_records=10
Puede emitir varias solicitudes para desplazarse por los objetos. Cada llamada API posterior debe utilizar un nuevo valor de tiempo basado en el último evento del último conjunto de resultados.
Propiedades de tamaño
Los valores de entrada utilizados con algunas llamadas API, así como ciertos parámetros de consulta son numéricos. En lugar de proporcionar un entero en bytes, puede usar de manera opcional un sufijo como se muestra en la siguiente tabla.
Sufijo | Descripción |
---|---|
KB |
Kilobytes de KB (1024 bytes) o kibibytes |
MB |
MB megabytes (KB x 1024 bytes) o mebibytes |
GB |
GB Gigabytes (MB x 1024 bytes) o gibibytes |
TB |
Terabytes de TB (GB x 1024 bytes) o tebibytes |
PB |
Petabytes de PB (TB x 1024 bytes) o gibibytes |