PowerScale: De curl-opdracht gebruiken om te controleren of de OneFS API goed werkt
Summary: Dit KB-artikel is handig om problemen met de Application Programming Interface (API) tegen het cluster rechtstreeks op te lossen met behulp van curl-opdrachten. Gebruik dit om problemen met aangepaste scripts of applicatiecode uit te sluiten. ...
Instructions
Inleiding
Wanneer u een probleem ondervindt met de OneFS API, controleert u of de basisbewerkingen goed werken door een curl-opdracht uit te voeren voordat u andere probleemoplossing uitvoert. Dit artikel bevat instructies voor het gebruik van de curl-opdracht om API-bewerkingen te testen. Hiermee kunt u controleren of de opdracht die u uitvoert de juiste indeling heeft.
De OneFS API bestaat uit twee functionele gebieden:
- Systeemconfiguratie-API (bekend in OneFS 7.1.0 en eerder als platform-API)
- API voor toegang tot bestandssysteem (bekend in OneFS 7.1.0 en eerder als RESTful Access tot de namespace-API of RAN-API)
Procedure
Gebruik de curl-opdracht met "root"- referenties bij het testen van de System Configuration API of de API voor toegang tot het bestandssysteem.
- O pen een SSH-verbinding op een willekeurig knooppunt in het cluster en log in met het "root"-account.
- Gebruik de opdracht curl zoals beschreven in de secties Systeemconfiguratie-API of Bestandssysteemtoegangs-API hieronder.
- Als u problemen blijft ondervinden, neem dan contact op met de technische support van Isilon.
Zie de pagina krulman voor meer informatie over curl-opdrachten en -syntaxis.
Raadpleeg de API-referentiehandleiding van uw respectieve OneFS-versie voor meer informatie over API-aanvragen voor OneFS-systeemconfiguratie en verwachte reacties. Koppelingen voor de meest voorkomende OneFS versies: OneFS 8.2.2.0, OneFS 9.1.0, OneFS 9.5.0.0 en OneFS 9.7.0.0
Systeemconfiguratie-API
Veelvoorkomende opties voor curl met de systeemconfiguratie-API
| Optie | Beschrijving |
|---|---|
| -d | Verzendt gespecificeerde gegevens in een POST-aanvraag |
| -H | Geeft een extra header op die moet worden gebruikt |
| -k | Staat verbinding toe met niet-vertrouwde SSL-sites (voor Isilon standaard zelfondertekende SSL-certificaten) |
| -u | Gebruikersnaam voor authenticatie Wanneer u de opdracht uitvoert, wordt u gevraagd om het wachtwoord voor deze gebruiker op te geven |
| -v | Geeft uitgebreide uitvoer op |
| -X | Specificeert de aanvraagmethode (GET, PUT, POST, enzovoort) |
Gemeenschappelijk gebruik van curl met de System Configuration API
Hieronder volgen voorbeelden van veelgebruikte curl-opdrachten . Volg dezelfde syntaxis voor de actie die u wilt uitvoeren.
- Informatie ophalen (GET-opdrachten):
Algemene syntaxis: Gebruik het volgende, waarbij <gebruikersnaam> de gebruikersnaam is en <URL> de URL is van het knooppunt waarmee u verbinding maakt.# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
Als u bijvoorbeeld een lijst met SMB-shares (Server Message Block) wilt ophalen, ziet de opdracht er ongeveer als volgt uit:# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- Sending information (POST- of PUT-opdrachten):
Algemene syntaxis: Gebruik het volgende, waarbij <gebruikersnaam> de gebruikersnaam is, <json-data de JSON-geformatteerde> tekenreeks en <URL> de URL is van het knooppunt waarmee u verbinding maakt.# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
Als u bijvoorbeeld een nieuwe SMB-share met de naam papi-example wilt maken met een pad van /ifs/papi-example, ziet de opdracht er ongeveer als volgt uit:# 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 voor toegang tot bestandssysteem
Veelvoorkomende opties voor curl met de API voor toegang tot het bestandssysteem
| Optie | Beschrijving |
|---|---|
| -d | Verzendt gespecificeerde gegevens in een POST-aanvraag |
| --data-binair | Geeft de locatie van het binaire bestand aan |
| -H | Geeft een extra header op die moet worden gebruikt |
| -k | Maakt verbinding mogelijk met niet-vertrouwde SSL-sites (Isilon standaard zelfondertekende SSL-certificaten). |
| -u | Gebruikersnaam Voor authenticatie wordt u gevraagd om het wachtwoord van deze gebruiker op te geven. |
| -v | Geeft uitgebreide uitvoer op |
| -X | Specificeert de aanvraagmethode (GET, PUT, POST, enzovoort) |
Gemeenschappelijk gebruik van curl met de API voor toegang tot het bestandssysteem
Hieronder volgen voorbeelden van veelgebruikte curl-opdrachten . Volg een vergelijkbare syntaxis voor de uit te voeren actie.
NOTITIE
U kunt uw eigen namespaces maken via de toegangs-API voor bestandssystemen, maar u moet de standaardnamespace gebruiken voor verificatie. De standaardnaamruimte is /namespace/ifs.
- Informatie ophalen (GET-opdrachten):
Algemene syntaxis:# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
Als u bijvoorbeeld de inhoudslijst van /ifs wilt ophalen:# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- Sending information (POST or PUT commands):
General syntax: Gebruik het volgende met behulp van de juiste voor de variabele< inhoudskoptekst>. Zie de OneFS API-naslaggids voor meer informatie over de <inhoudsheader># curl -vk -u "<username>" -H "<content header>" --data-binary @<source file path> -X PUT 'https://<node_IP>:8080/namespace/<access_point>/<destination file path>'
Als u bijvoorbeeld een databestand wilt kopiëren van /tmp/testfile.jpg naar /ifs/papi-example, ziet de opdracht er ongeveer als volgt uit:
# 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'
Alle bovenstaande opdrachten maken gebruik van eenvoudige HTTP-verificatie om API-query's uit te voeren.