PowerScale : Comment utiliser la commande curl pour vérifier que l’API OneFS fonctionne correctement
Summary: Cet article de la base de connaissances est utile pour résoudre les problèmes d’API (Application Programming Interface) sur le cluster directement à l’aide des commandes curl. Utilisez-le pour éliminer les problèmes liés aux scripts personnalisés ou au code d’application. ...
Instructions
Introduction
Lorsque vous rencontrez un problème avec l’API OneFS, vérifiez que les opérations de base fonctionnent correctement en exécutant une commande curl avant d’effectuer tout autre dépannage. Cet article fournit des instructions sur l’utilisation de la commande curl pour tester les opérations d’API. Cela permet de vérifier que le format de la commande que vous exécutez est correct.
L’API OneFS est composée de deux domaines fonctionnels :
- API de configuration système (connue dans OneFS 7.1.0 et versions antérieures sous le nom d’API de plate-forme)
- API d’accès au système de fichiers (connue dans OneFS 7.1.0 et versions antérieures sous le nom d’accès RESTful à l’API d’espace de nommage ou API RAN)
Procédure
Utilisez la commande curl avec les informations d’identification « root » lors du test de l’API de configuration système ou de l’API d’accès au système de fichiers.
- O créez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Utilisez la commande curl comme décrit dans les sections API de configuration système ou API d’accès au système de fichiers ci-dessous.
- Si vous continuez à rencontrer des problèmes, contactez le support technique Isilon.
Pour plus d’informations sur les commandes et la syntaxe curl , reportez-vous à la page curl man.
Pour plus d’informations sur les demandes de l’API de configuration du système OneFS et la réponse attendue, consultez le Guide de référence de l’API de votre version OneFS correspondante. Liens vers les versions OneFS les plus courantes : APIde configuration système OneFS 8.2.2.0, OneFS 9.1.0, OneFS 9.5.0.0 et OneFS 9.7.0.0
Options courantes pour curl avec l’API de configuration du système
| Option | Description |
|---|---|
| -d | Envoie les données spécifiées dans une demande POST |
| -H | Spécifie un en-tête supplémentaire à utiliser |
| -k | Permet la connexion à des sites SSL non approuvés (pour les certificats SSL auto-signés par défaut Isilon) |
| -u | Nom d’utilisateur pour l’authentification Lors de l’exécution de la commande, vous êtes invité à fournir le mot de passe de cet utilisateur |
| -v | Spécifie une sortie détaillée |
| -X | Spécifie la méthode de demande (GET, PUT, POST, etc.) |
Utilisation courante de curl avec l’API de configuration système
Vous trouverez ci-dessous des exemples de commandes curl courantes. Suivez une syntaxe similaire pour l’action que vous souhaitez effectuer.
- Récupération des informations (commandes GET) :
Syntaxe générale : Utilisez les éléments suivants, où <nom d’utilisateur> est le nom d’utilisateur et <URL> est l’URL du nœud auquel vous vous connectez.# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
Par exemple, pour obtenir la liste des partages SMB (Server Message Block), la commande ressemble à ce qui suit :# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- Envoi d’informations (commandes POST ou PUT) :
Syntaxe générale : Utilisez ce qui suit, où <username> est le nom d’utilisateur, <json-data> est la chaîne au format JSON et <URL> est l’URL du nœud auquel vous vous connectez.# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
Par exemple, pour créer un nouveau partage SMB appelé papi-example avec le chemin d’accès / ifs/papi-example, la commande ressemble à ce qui suit :# 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 d’accès au système de fichiers
Options courantes pour curl avec l’API d’accès au système de fichiers
| Option | Description |
|---|---|
| -d | Envoie les données spécifiées dans une demande POST |
| --data-binary | Spécifie l’emplacement du fichier binaire |
| -H | Spécifie un en-tête supplémentaire à utiliser |
| -k | Permet la connexion à des sites SSL non approuvés (certificats SSL auto-signés Isilon par défaut). |
| -u | Nom d’utilisateur pour l’authentification, vous êtes invité à fournir le mot de passe de cet utilisateur. |
| -v | Spécifie une sortie détaillée |
| -X | Spécifie la méthode de demande (GET, PUT, POST, etc.) |
Utilisation courante de curl avec l’API d’accès au système de fichiers
Vous trouverez ci-dessous des exemples de commandes curl courantes. Suivez une syntaxe similaire pour l’action à exécuter.
NOTE
Vous pouvez créer vos propres espaces de nommage via l’API d’accès au système de fichiers, mais vous devez utiliser l’espace de nommage par défaut pour la vérification. L’espace de nommage par défaut est /namespace/ifs.
- Récupération des informations (commandes GET) :
Syntaxe générale :# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
Par exemple, pour obtenir la liste de contenu de /ifs :# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- Sending information (POST or PUT commands) :
General syntax : Utilisez ce qui suit à l’aide de l’en-tête> correct pour le contenu variable<. Pour plus d’informations sur l’en-tête<> de contenu, consultez le Guide de référence de l’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>'
Par exemple, pour copier un fichier de données de /tmp/testfile.jpg vers /ifs/papi-example, la commande ressemble à ce qui suit :
# 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'
Toutes les commandes ci-dessus utilisent l’authentification HTTP de base pour exécuter des requêtes d’API.