PowerScale: Come utilizzare il comando curl per verificare il corretto funzionamento dell'API OneFS
Summary: Questo articolo della Knowledge Base è utile per risolvere i problemi relativi all'interfaccia di programmazione dell'applicazione (API) sul cluster direttamente utilizzando i comandi curl. Utilizzarlo per escludere problemi con script personalizzati o codice dell'applicazione. ...
Instructions
Introduzione
Quando si verifica un problema con l'API OneFS, verificare che le operazioni di base funzionino correttamente eseguendo un comando curl prima di eseguire altre operazioni di risoluzione dei problemi. Questo articolo fornisce istruzioni per l'utilizzo del comando curl per testare le operazioni dell'API. Consente di verificare che il comando in esecuzione sia nel formato corretto.
L'API OneFS è costituita da due aree funzionali:
- API di configurazione del sistema (nota in OneFS 7.1.0 e versioni precedenti come API della piattaforma)
- API di accesso al file system (nota in OneFS 7.1.0 e versioni precedenti come accesso RESTful all'API del namespace o API RAN)
Procedura
Utilizzare il comando curl con credenziali "root" durante il test dell'API di configurazione del sistema o dell'API di accesso al file system.
- Aprire una connessione SSH su qualsiasi nodo del cluster e accedere utilizzando l'account "root".
- Utilizzare il comando curl come descritto nelle sezioni dell'API di configurazione del sistema o dell'API di accesso al file system riportate di seguito.
- Se si continuano a riscontrare problemi, contattare il supporto tecnico Isilon.
Per ulteriori informazioni sui comandi curl e sulla sintassi, consultare la man page curl .
Per ulteriori informazioni sulle richieste API di configurazione del sistema OneFS e sulla risposta prevista, consultare la Guida di riferimento per le API della rispettiva versione di OneFS. Link per le versioni di OneFS più comuni: API di configurazione del sistema OneFS 8.2.2.0 , OneFS 9.1.0, OneFS 9.5.0.0 e OneFS 9.7.0.0
Opzioni comuni per curl con l'API di configurazione del sistema
| Opzione | Descrizione |
|---|---|
| -d | Invia i dati specificati in una richiesta POST |
| -H | Specifica un'intestazione aggiuntiva da utilizzare |
| -Okay | Consente la connessione a siti SSL non attendibili (per i certificati SSL autofirmati predefiniti Isilon) |
| -u | Nome utente per l'autenticazione Durante l'esecuzione del comando, viene richiesto di fornire la password per questo utente |
| -v | Specifica un output dettagliato |
| -X | Specifica il metodo di richiesta (GET, PUT, POST e così via) |
Uso comune di curl con l'API Configurazione di sistema
Di seguito sono riportati alcuni esempi di comandi curl comuni. Seguire una sintassi simile per l'azione che si desidera eseguire.
- Recupero delle informazioni (comandi GET):
Sintassi generale: Utilizzare quanto segue, dove <username> è il nome utente e <URL> è l'URL del nodo a cui ci si sta connettendo.# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
Ad esempio, per ottenere un elenco di condivisioni SMB (Server Message Block), il comando è simile al seguente:# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- Invio di informazioni (comandi POST o PUT):
Sintassi generale: Utilizzare quanto segue, dove <username> è il nome utente, <json-data> è la stringa formattata JSON e <URL> è l'URL del nodo a cui ci si sta connettendo.# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
Ad esempio, per creare una nuova condivisione SMB denominata papi-example con un percorso di /ifs/papi-example, il comando è simile al seguente:# 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 di accesso al file system
Opzioni comuni per curl con l'API di accesso al file system
| Opzione | Descrizione |
|---|---|
| -d | Invia i dati specificati in una richiesta POST |
| --dati-binari | Specifica la posizione del file binario |
| -H | Specifica un'intestazione aggiuntiva da utilizzare |
| -Okay | Consente la connessione a siti SSL non attendibili (certificati SSL autofirmati predefiniti Isilon). |
| -u | Nome utente per l'autenticazione, viene richiesto di fornire la password per questo utente. |
| -v | Specifica un output dettagliato |
| -X | Specifica il metodo di richiesta (GET, PUT, POST e così via) |
Utilizzo comune di curl con l'API di accesso al file system
Di seguito sono riportati alcuni esempi di comandi curl comuni. Seguire una sintassi simile per l'azione da eseguire.
NOTA
È possibile creare namespace personalizzati tramite l'API di accesso al file system, ma è necessario utilizzare il namespace predefinito per la verifica. Il namespace predefinito è /namespace/ifs.
- Recupero delle informazioni (comandi GET):
Sintassi generale:# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
Ad esempio, per ottenere l'elenco dei contenuti di /ifs:# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- Invio di informazioni (comandi POST o PUT):
Sintassi generale: Utilizzare quanto segue utilizzando il tasto correct per l'intestazione> a contenuto variabile<. Per informazioni sull'intestazione<> del contenuto, consultare la Guida di riferimento alle API 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>'
Ad esempio, per copiare un file di dati da /tmp/testfile.jpg a /ifs/papi-example, il comando è simile al seguente:
# 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'
Tutti i comandi precedenti utilizzano l'autenticazione HTTP di base per eseguire query API.