PowerScale: Cómo usar el comando curl para verificar que la API de OneFS funcione correctamente
Summary: Este artículo de la base de conocimientos es útil para solucionar problemas de la interfaz de programación de aplicaciones (API) del clúster directamente mediante comandos curl. Úselo para descartar problemas con scripts personalizados o código de aplicación. ...
Instructions
Introducción
Cuando encuentre un problema con la API de OneFS, verifique que las operaciones básicas funcionen correctamente mediante la ejecución de un comando curl antes de realizar otras tareas de solución de problemas. En este artículo, se proporcionan instrucciones sobre cómo usar el comando curl para probar las operaciones de la API. Ayuda a verificar que el comando que está ejecutando esté en el formato correcto.
La API de OneFS consta de dos áreas funcionales:
- API de configuración del sistema (conocida en OneFS 7.1.0 y versiones anteriores como API de plataforma)
- API de acceso al sistema de archivos (conocida en OneFS 7.1.0 y versiones anteriores como acceso RESTful a la API del espacio de nombres o API RAN)
Procedimiento
Utilice el comando curl con credenciales "root" cuando pruebe la API de configuración del sistema o la API de acceso al sistema de archivos.
- Escriba una conexión SSH en cualquier nodo del clúster e inicie sesión con la cuenta "root".
- Utilice el comando curl como se describe en las secciones API de configuración del sistema o API de acceso al sistema de archivos que aparecen a continuación.
- Si continúa experimentando problemas, comuníquese con el soporte técnico de Isilon.
Para obtener información adicional sobre los comandos curl y la sintaxis, consulte la página del manual curl .
Para obtener información adicional sobre las solicitudes de la API de configuración del sistema OneFS y la respuesta esperada, consulte la guía de referencia de API de su versión de OneFS correspondiente. Enlaces para las versiones de OneFS más comunes: API deconfiguración del sistema de OneFS 8.2.2.0, OneFS 9.1.0, OneFS 9.5.0.0 y OneFS 9.7.0.0
Opciones comunes para curl con la API de configuración del sistema
| Opción | Descripción |
|---|---|
| -d | Envía los datos especificados en una solicitud de POST |
| -H | Especifica un encabezado adicional que se usará |
| -k | Permite la conexión a sitios SSL que no son de confianza (para certificados SSL autofirmados predeterminados de Isilon) |
| -u | Nombre de usuario para la autenticación Cuando se ejecuta el comando, se le solicitará que proporcione la contraseña de este usuario |
| -v | Especifica la salida detallada |
| -X | Especifica el método de solicitud (GET, PUT,POST, etc.) |
Uso común de curl con la API de configuración del sistema
Los siguientes son ejemplos de comandos curl comunes. Siga una sintaxis similar para la acción que desea realizar.
- Recuperación de información (comandos GET):
Sintaxis general: Utilice lo siguiente, donde <username> es el nombre de usuario y <URL> es la URL del nodo al que se está conectando.# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
Por ejemplo, para obtener una lista de recursos compartidos de Server Message Block (SMB), el comando tiene un aspecto similar al siguiente:# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- Envío de información (comandos POST o PUT):
Sintaxis general: Utilice lo siguiente, donde <username> es el nombre de usuario, <json-data> es la cadena con formato JSON y <URL> es la URL del nodo al que se está conectando.# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
Por ejemplo, para crear un nuevo recurso compartido de SMB denominado papi-example con una ruta de /ifs/papi-example, el comando es similar al siguiente:# curl -vk -u root -H "Content-type: application/json" -X POST -d '{ "name" : "papi-example", "path" : "/ifs/papi-example" }' 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
API de acceso al sistema de archivos
Opciones comunes para curl con la API de acceso al sistema de archivos
| Opción | Descripción |
|---|---|
| -d | Envía los datos especificados en una solicitud de POST |
| --binario-de-datos | Especifica la ubicación del archivo binario |
| -H | Especifica un encabezado adicional que se usará |
| -k | Permite la conexión a sitios SSL que no son de confianza (certificados SSL autofirmados predeterminados de Isilon). |
| -u | Nombre de usuario para la autenticación; se le solicitará que proporcione la contraseña de este usuario. |
| -v | Especifica la salida detallada |
| -X | Especifica el método de solicitud (GET, PUT,POST, etc.) |
Uso común de curl con la API de acceso al sistema de archivos
Los siguientes son ejemplos de comandos curl comunes. Siga una sintaxis similar para la acción que se debe realizar.
NOTA
Puede crear sus propios espacios de nombres mediante la API de acceso al sistema de archivos, pero debe usar el espacio de nombres predeterminado para la verificación. El espacio de nombres predeterminado es /namespace/ifs.
- Recuperación de información (comandos GET):
Sintaxis general:# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
Por ejemplo, para obtener la lista de contenido de /ifs:# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- Envío de información (comandos POST o PUT):
Sintaxis general: Utilice lo siguiente mediante la corrección para el encabezado> de contenido variable<. Para obtener información sobre el encabezado> de< contenido, consulte la guía de referencia de la API de OneFS# curl -vk -u "<username>" -H "<content header>" --data-binary @<source file path> -X PUT 'https://<node_IP>:8080/namespace/<access_point>/<destination file path>'
Por ejemplo, para copiar un archivo de datos de /tmp/testfile.jpg a /ifs/papi-example, el comando tiene un aspecto similar al siguiente:
# curl -vk -u "root" -H "x-isi-ifs-target-type:object" --data-binary @/tmp/testfile.jpg -X PUT 'https://<node_IP>:8080/namespace/ifs/papi-example/testfile.jpg'
Todos los comandos anteriores utilizan autenticación HTTP básica para ejecutar consultas de API.