Skip to main content
ONTAP Select
Hay disponible una nueva versión de este producto.
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Transacción de API de solicitud y respuesta para ONTAP Select

Cada llamada a la API de Deploy se realiza como una solicitud HTTP a la máquina virtual de Deploy, la cual genera una respuesta asociada para el cliente. Este par de solicitud/respuesta se considera una transacción de API. Antes de usar la API de Deploy, debe familiarizarse con las variables de entrada disponibles para controlar una solicitud y el contenido de la salida de la respuesta.

Variables de entrada que controlan una solicitud de API

Puede controlar cómo se procesa una llamada API a través de parámetros establecidos en la solicitud HTTP.

Encabezados de solicitud

Debe incluir varios encabezados en la solicitud HTTP, incluidos:

  • content-type Si el cuerpo de la solicitud incluye JSON, este encabezado debe establecerse en application/json.

  • aceptar Si el cuerpo de la respuesta incluirá JSON, este encabezado debe configurarse como application/json.

  • La autenticación básica debe configurarse con el nombre de usuario y la contraseña codificados en una cadena base64.

Cuerpo de la solicitud

El contenido del cuerpo de la solicitud varía según la llamada específica. El cuerpo de la solicitud HTTP consta de uno de los siguientes elementos:

  • Objeto JSON con variables de entrada (por ejemplo, el nombre de un nuevo clúster)

  • Vacío

Filtrar objetos

Al ejecutar una llamada a la API que usa GET, puede limitar o filtrar los objetos devueltos según cualquier atributo. Por ejemplo, puede especificar un valor exacto para que coincida:

<field>=<query value>

Además de la coincidencia exacta, existen otros operadores disponibles para devolver un conjunto de objetos en un rango de valores. ONTAP Select admite los operadores de filtrado que se muestran a continuación.

Operador Descripción

=

Igual a

<

Menos que

>

Más que

Menor o igual a

>=

Mayor o igual que

O

!

No es igual a

*

Comodín codicioso

También puede devolver un conjunto de objetos en función de si un campo específico está configurado o no utilizando la palabra clave null o su negación (!null) como parte de la consulta.

Selección de campos de objeto

De forma predeterminada, al ejecutar una llamada a la API mediante GET, solo se devuelven los atributos que identifican de forma única el objeto o los objetos. 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 adicionales del objeto mediante el parámetro de consulta "campos" de las siguientes maneras:

  • Campos económicos Especificar fields=* para recuperar los campos de objeto que se mantienen en la memoria del servidor local o que requieren poco procesamiento para acceder.

  • Campos costosos Especificar fields=** para recuperar todos los campos de objeto, incluidos aquellos que requieren procesamiento adicional del servidor para acceder.

  • Selección de campo personalizado Usar fields=FIELDNAME Para especificar el campo exacto que desea. Al solicitar varios campos, los valores deben separarse con comas y sin espacios.

Consejo Como práctica recomendada, siempre debe identificar los campos específicos que desea. Solo debe recuperar el conjunto de campos económicos o costosos cuando sea necesario. NetApp determina la clasificación de económicos y costosos basándose en un análisis interno de rendimiento. La clasificación de un campo determinado puede cambiar en cualquier momento.

Ordenar objetos en el conjunto de salida

Los registros de una colección de recursos se devuelven en el orden predeterminado definido por el objeto. Puede cambiar el orden mediante el parámetro de consulta order_by con el nombre del campo y la dirección de ordenación, como se indica a continuación:
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

Al incluir varios parámetros, debe separar los campos con una coma.

Paginación

Al ejecutar una llamada a la API mediante GET para acceder a una colección de objetos del mismo tipo, se devuelven todos los objetos coincidentes por defecto. Si es necesario, se puede limitar el número de registros devueltos mediante el parámetro de consulta max_records con la solicitud. Por ejemplo:
max_records=20

Si es necesario, puede combinar este parámetro con otros parámetros de consulta para limitar el conjunto de resultados. Por ejemplo, la siguiente operación devuelve hasta 10 eventos del sistema generados después del tiempo especificado:
time⇒ 2019-04-04T15:41:29.140265Z&max_records=10

Puedes emitir varias solicitudes para navegar por los eventos (o cualquier tipo de objeto). Cada llamada a la API posterior debe usar un nuevo valor de tiempo basado en el último evento del último conjunto de resultados.

Interpretar una respuesta de API

Cada solicitud de API genera una respuesta para el cliente. Puede examinarla para determinar si se realizó correctamente y recuperar datos adicionales según sea necesario.

Código de estado HTTP

A continuación se describen los códigos de estado HTTP utilizados por la API REST de implementación.

Código Significado Descripción

200

DE ACUERDO

Indica éxito para llamadas que no crean un nuevo objeto.

201

Creado

Se ha creado correctamente un objeto; el encabezado de respuesta de ubicación incluye el identificador único del objeto.

202

Aceptado

Se ha iniciado un trabajo en segundo plano de larga ejecución para ejecutar la solicitud, pero la operación aún no se ha completado.

400

Solicitud incorrecta

La entrada solicitada no se reconoce o es inadecuada.

403

Prohibido

Se deniega el acceso debido a un error de autorización.

404

Extraviado

El recurso al que se refiere la solicitud no existe.

405

Método no permitido

El verbo HTTP en la solicitud no es compatible con el recurso.

409

Conflicto

Se produjo un error al intentar crear un objeto porque el objeto ya existe.

500

Error interno

Se produjo un error interno general en el servidor.

501

No implementado

Se conoce el URI pero no es capaz de realizar la solicitud.

Encabezados de respuesta

Se incluyen varios encabezados en la respuesta HTTP generada por el servidor de implementación, incluidos:

  • request-id A cada solicitud de API exitosa se le asigna un identificador de solicitud único.

  • Ubicación Cuando se crea un objeto, el encabezado de ubicación incluye la URL completa del nuevo objeto, incluido el identificador de objeto único.

Cuerpo de la respuesta

El contenido de la respuesta asociada a una solicitud de API varía según el objeto, el tipo de procesamiento y si la solicitud se ha realizado correctamente o no. El cuerpo de la respuesta se representa en JSON.

  • Objeto único. Se puede devolver un objeto único con un conjunto de campos según la solicitud. Por ejemplo, se puede usar GET para recuperar propiedades seleccionadas de un clúster mediante el identificador único.

  • Múltiples objetos Se pueden devolver varios objetos de una colección de recursos. En todos los casos, se utiliza un formato consistente, con num_records Indica el número de registros y los registros que contienen una matriz de instancias de objeto. Por ejemplo, puede recuperar todos los nodos definidos en un clúster específico.

  • Objeto de trabajo. Si una llamada a la API se procesa asincrónicamente, se devuelve un objeto de trabajo que ancla la tarea en segundo plano. Por ejemplo, la solicitud POST utilizada para implementar un clúster se procesa asincrónicamente y devuelve un objeto de trabajo.

  • Objeto de error. Si se produce un error, siempre se devuelve un objeto de error. Por ejemplo, recibirá un error al intentar crear un clúster con un nombre ya existente.

  • Vacío. En ciertos casos, no se devuelven datos y el cuerpo de la respuesta está vacío. Por ejemplo, el cuerpo de la respuesta está vacío después de usar DELETE para eliminar un host existente.