PowerScale: Så här använder du curl-kommandot för att verifiera att OneFS-API:et fungerar korrekt
Summary: Den här KB-artikeln är användbar för att felsöka API-problem (Application Programming Interface) mot klustret direkt med hjälp av curl-kommandon. Använd den för att utesluta problem med anpassade skript eller programkod. ...
Instructions
Introduktion
När du stöter på ett problem med OneFS API:et kontrollerar du att grundläggande åtgärder fungerar korrekt genom att köra ett curl-kommando innan du gör annan felsökning. Den här artikeln innehåller instruktioner för hur du använder curl kommandot för att testa API-åtgärder. Det hjälper dig att kontrollera att kommandot du kör har rätt format.
OneFS API består av två funktionsområden:
- API för systemkonfiguration (i OneFS 7.1.0 och tidigare känt som Platform API)
- API för åtkomst till filsystem (kallas i OneFS 7.1.0 och tidigare som RESTful Access to the namespace API eller RAN API)
Procedur
Använd curl-kommandot med root-inloggningsuppgifterna när du testar antingen API:t för systemkonfiguration eller API:t för filsystemåtkomst.
- O-penna en SSH-anslutning på valfri nod i klustret och logga in med rotkontot.
- Använd curl-kommandot enligt beskrivningen i avsnitten API för systemkonfiguration eller API för filsystemåtkomst nedan.
- Kontakta Isilons tekniska support om problemen kvarstår.
Mer information om curl-kommandon och syntax finns på curl-manualsidan .
Mer information om API-förfrågningar och förväntat svar för OneFS-systemkonfiguration finns i API-referensmanualen för din respektive OneFS-version. Länkar till de vanligaste OneFS-versionerna: OneFS 8.2.2.0, OneFS 9.1.0, OneFS 9.5.0.0 och OneFS 9.7.0.0
API för systemkonfiguration
Vanliga alternativ för curl med systemkonfigurations-API:et
| Alternativ | Beskrivning |
|---|---|
| -D | Skickar angivna data i en POST-begäran |
| -H | Anger en extra rubrik som ska användas |
| -k | Tillåter anslutning till SSL-webbplatser som inte är betrodda (för självsignerade SSL-standardcertifikat för Isilon) |
| -u | Användarnamn för autentisering När du kör kommandot uppmanas du att ange lösenordet för den här användaren |
| -v | Anger utförliga utdata |
| -X | Anger begärandemetod (GET,PUT,POSToch så vidare) |
Vanlig användning av curl med API:et för systemkonfiguration
Följande är exempel på vanliga curl-kommandon . Följ liknande syntax för den åtgärd som du vill utföra.
- Hämtar information (GET-kommandon):
Allmän syntax: Använd följande, där <användarnamn> är användarnamnet och <URL> är URL:en för den nod som du ansluter till.# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
Om du till exempel vill hämta en lista över SMB-resurser (Server Message Block) ser kommandot ut ungefär så här:# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- Skicka information (POST- eller PUT-kommandon):
Allmän syntax: Använd följande, där <username> är användarnamnet, <json-data> är den JSON-formaterade strängen och <URL> är URL:en för den nod som du ansluter till.# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
Om du till exempel vill skapa en ny SMB-resurs med namnet papi-example med sökvägen /ifs/papi-example ser kommandot ut ungefär så här:# 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 för filsystemåtkomst
Vanliga alternativ för curl med API:et för filsystemåtkomst
| Alternativ | Beskrivning |
|---|---|
| -D | Skickar angivna data i en POST-begäran |
| --data-binär | Anger platsen för den binära filen |
| -H | Anger en extra rubrik som ska användas |
| -k | Tillåter anslutning till SSL-platser som inte är betrodda (självsignerade SSL-standardcertifikat för Isilon). |
| -u | Användarnamn för autentisering, du uppmanas att ange lösenordet för den här användaren. |
| -v | Anger utförliga utdata |
| -X | Anger begärandemetod (GET,PUT,POSToch så vidare) |
Vanlig användning av curl med API:et för filsystemåtkomst
Följande är exempel på vanliga curl-kommandon . Följ en liknande syntax för åtgärden som ska utföras.
NOT
Du kan skapa egna namnrymder via API:et för filsystemåtkomst, men du bör använda standardnamnområdet för verifiering. Standardnamnområdet är /namespace/ifs.
- Hämtar information (GET-kommandon):
Allmän syntax:# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
Om du till exempel vill hämta innehållslistan för /ifs:# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- Skicka information (POST- eller PUT-kommandon):
Allmän syntax: Använd följande med rätt för variabelinnehållsrubriken<>. Information om <innehållshuvudet> finns i referensguiden för OneFS API# curl -vk -u "<username>" -H "<content header>" --data-binary @<source file path> -X PUT 'https://<node_IP>:8080/namespace/<access_point>/<destination file path>'
Om du till exempel vill kopiera en datafil från /tmp/testfile.jpg till /ifs/papi-example ser kommandot ut ungefär så här:
# 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'
Alla ovanstående kommandon använder grundläggande HTTP-autentisering för att köra API-frågor.