PowerScale: Verwenden des Befehls curl, um zu überprüfen, ob die OneFS-API ordnungsgemäß funktioniert
Summary: Dieser Wissensdatenbank-Artikel ist hilfreich, um Probleme mit der Anwendungsprogrammierschnittstelle (API) direkt mithilfe von curl-Befehlen für den Cluster zu beheben. Verwenden Sie diese Option, um Probleme mit nutzerdefinierten Skripten oder Anwendungscode auszuschließen. ...
Instructions
Einführung
Wenn ein Problem mit der OneFS API auftritt, überprüfen Sie, ob grundlegende Vorgänge ordnungsgemäß funktionieren, indem Sie einen curl-Befehl ausführen, bevor Sie andere Troubleshooting-Maßnahmen ergreifen. Dieser Artikel enthält Anweisungen für die Verwendung des Befehls curl zum Testen von API-Vorgängen. Es hilft bei der Überprüfung, ob der von Ihnen ausgeführte Befehl das richtige Format aufweist.
Die OneFS-API besteht aus zwei Funktionsbereichen:
- Systemkonfigurations-API (in OneFS 7.1.0 und früher als Plattform-API bekannt)
- Dateisystemzugriffs-API (in OneFS 7.1.0 und früher als RESTful-Zugriff auf die Namespace-API oder RAN-API bekannt)
Verfahren
Verwenden Sie den Befehl curl mit "root" -Zugangsdaten, wenn Sie die Systemkonfigurations-API oder die API für den Dateisystemzugriff testen.
- Stellen Sieeine SSH-Verbindung auf einem beliebigen Node im Cluster her und melden Sie sich mit dem Konto "root" an.
- Verwenden Sie den Befehl curl , wie in den Abschnitten Systemkonfigurations-API oder Dateisystemzugriffs-API unten beschrieben.
- Wenn weiterhin Probleme auftreten, wenden Sie sich an den technischen Support von Isilon.
Weitere Informationen zu curl-Befehlen und zur Syntax finden Sie auf der curl-Manpage .
Weitere Informationen zu OneFS-Systemkonfigurations-API-Anforderungen und erwarteten Antworten finden Sie im API-Referenzhandbuch Ihrer jeweiligen OneFS-Version. Links für die gängigsten OneFS-Versionen: OneFS 8.2.2.0 , OneFS 9.1.0, OneFS 9.5.0.0 und OneFS 9.7.0.0
Systemkonfigurations-API
Allgemeine Optionen für curl mit der Systemkonfigurations-API
| Option | Beschreibung |
|---|---|
| -d | Sendet angegebene Daten in einer POST-Anforderung |
| -H | Gibt einen zusätzlichen Header an, der verwendet werden soll |
| -k | Ermöglicht Verbindungen zu nicht vertrauenswürdigen SSL-Sites (für selbstsignierte Isilon-Standard-SSL-Zertifikate) |
| -u | Nutzername für die Authentifizierung Beim Ausführen des Befehls werden Sie aufgefordert, das Kennwort für diesen Nutzer anzugeben |
| -v | Gibt eine ausführliche Ausgabe an. |
| -X | Gibt die Anforderungsmethode an (GET, PUT, POST usw.) |
Häufige Verwendung von curl mit der Systemkonfigurations-API
Im Folgenden finden Sie Beispiele für gängige curl-Befehle. Befolgen Sie eine ähnliche Syntax für die Aktion, die Sie durchführen möchten.
- Abrufen von Informationen (GET-Befehle):
Allgemeine Syntax: Verwenden Sie Folgendes, wobei <username> der Nutzername und <URL> die URL des Node ist, zu dem Sie eine Verbindung herstellen.# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
Um beispielsweise eine Liste der SMB-Freigaben (Server Message Block) abzurufen, sieht der Befehl ähnlich wie folgt aus:# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- Senden von Informationen (POST- oder PUT-Befehle):
Allgemeine Syntax: Verwenden Sie Folgendes, wobei <username> der Nutzername, <json-data> die JSON-formatierte Zeichenfolge und <URL> die URL des Node ist, mit dem Sie eine Verbindung herstellen.# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
Um beispielsweise eine neue SMB-Freigabe namens papi-example mit dem Pfad /ifs/papi-example zu erstellen, sieht der Befehl ähnlich wie folgt aus:# 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 den Dateisystemzugriff
Allgemeine Optionen für curl mit der Dateisystemzugriffs-API
| Option | Beschreibung |
|---|---|
| -d | Sendet angegebene Daten in einer POST-Anforderung |
| --data-binary | Gibt den Speicherort der Binärdatei an |
| -H | Gibt einen zusätzlichen Header an, der verwendet werden soll |
| -k | Ermöglicht die Verbindung zu nicht vertrauenswürdigen SSL-Sites (standardmäßige selbstsignierte SSL-Zertifikate von Isilon). |
| -u | Nutzername für die Authentifizierung verwenden, werden Sie aufgefordert, das Kennwort für diesen Nutzer einzugeben. |
| -v | Gibt eine ausführliche Ausgabe an. |
| -X | Gibt die Anforderungsmethode an (GET, PUT, POST usw.) |
Häufige Verwendung von curl mit der Dateisystemzugriffs-API
Im Folgenden finden Sie Beispiele für gängige curl-Befehle. Befolgen Sie eine ähnliche Syntax für die durchzuführende Aktion.
ANMERKUNG
Sie können Ihre eigenen Namespaces über die API für den Dateisystemzugriff erstellen, Sie sollten jedoch den Standard-Namespace zur Überprüfung verwenden. Der Standard-Namespace lautet /namespace/ifs.
- Abrufen von Informationen (GET-Befehle):
Allgemeine Syntax:# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
So rufen Sie beispielsweise die Inhaltsliste von /ifs ab:# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- Senden von Informationen (POST- oder PUT-Befehle):
Allgemeine Syntax: Verwenden Sie Folgendes unter Verwendung der richtigen für den Header> des Variableninhalts<. Weitere Informationen über die <Inhaltskopfzeile> finden Sie im OneFS API-Referenzhandbuch# curl -vk -u "<username>" -H "<content header>" --data-binary @<source file path> -X PUT 'https://<node_IP>:8080/namespace/<access_point>/<destination file path>'
Um beispielsweise eine Datendatei von /tmp/testfile.jpg nach /ifs/papi-example zu kopieren, sieht der Befehl ähnlich wie folgt aus:
# 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 oben genannten Befehle verwenden die HTTP-Standardauthentifizierung, um API-Abfragen auszuführen.