Référence de l’API du navigateur de volume NAS
Comment utiliser l’API volume_browser de VergeOS pour parcourir de manière programmatique le contenu des volumes NAS, y compris le flux de travail des tâches asynchrones, l’interrogation des résultats et le dépannage des problèmes courants.
Vue d’ensemble
Le volume_browser L'API fournit des capacités de navigation du système de fichiers pour les volumes NAS. C'est utile pour l'automatisation, les intégrations et la création d'outils personnalisés de gestion de fichiers.
Prérequis
Un service NAS en cours d'exécution avec au moins un volume en ligne
Accès à l'API avec les autorisations appropriées
L'identifiant de clé SHA1 du volume (trouvé dans l'URL du tableau de bord du volume ou via l'API)
Fonctionnement
Parcourir un volume est un processus en deux étapes :
POST à
/api/v4/volume_browserpour créer une tâche de parcoursGET à
/api/v4/volume_browser/{job_id}?fields=id,status,resultpour interroger les résultats
Étape 1 : Créer une demande de parcours
Point de terminaison
Corps de la requête
Référence des champs
volume
chaîne
Oui
Clé du volume (identifiant de hachage SHA1)
query
chaîne
Oui
Type d'opération : get-dir, rename, delete, paste
params
objet
Oui
Paramètres de requête (voir ci-dessous)
Objet params
dir
chaîne
Chemin du répertoire à parcourir. Utilisez "" pour la racine.
limite
entier
Nombre maximal d'entrées à renvoyer (par ex. 1000)
offset
entier/null
Décalage de pagination, null pour la première page
filter.extensions
chaîne
Filtrer par extensions de fichier (chaîne vide pour toutes)
volume
chaîne
Clé du volume (doit correspondre au niveau supérieur volume)
tri
chaîne
Champ de tri (chaîne vide pour la valeur par défaut)
Réponse
Le $key le champ contient l'ID de la tâche nécessaire pour l'interrogation.
Étape 2 : Interroger les résultats
Point de terminaison
Important : demander le champ Result
Le result le champ est NON renvoyé par défaut. Vous devez explicitement le demander avec ?fields=id,status,result. Sans ce paramètre, vous ne recevrez que des informations de statut.
Sans ?fields=id,status,result:
Avec ?fields=id,status,result:
Valeurs de statut
running
La tâche est encore en cours de traitement
complete
La tâche s'est terminée avec succès
error
La tâche a échoué (vérifiez result pour le message d'erreur)
Stratégie d'interrogation
Format du résultat
Lorsque status est complete, le result champ contient un tableau d'entrées fichier/répertoire :
Champs de l'entrée
name
chaîne
Nom du fichier ou du répertoire
n_name
chaîne
Nom normalisé (en minuscules)
size
entier
Taille en octets
date
entier
Heure de modification (horodatage Unix)
type
chaîne
file ou directory
Répertoires vides
Pour les répertoires vides, result sera un tableau vide :
Exemples
cURL
Python
Dépannage
Problèmes courants
Le champ result est vide ou manquant
Vous devez inclure
?fields=id,status,resultdans votre requête GETSans ce paramètre, seules les informations de statut sont renvoyées
"La VM doit être à l'état en cours d'exécution pour effectuer une requête"
La VM du service NAS n'est pas en cours d'exécution
Accédez à NAS > NAS Services et démarrez le service
"Erreur lors de l'obtention du service VM des volumes : Aucun fichier ou dossier de ce type"
Le service NAS du volume n'existe pas ou a été supprimé
Vérifiez que le volume est associé à un service NAS valide
"Resource '/v4/volume_browser/' not found"
ID de tâche vide dans la requête d'interrogation
Assurez-vous d'extraire
$keycorrectement à partir de la réponse POST
Erreurs courantes
Utiliser
pathau lieu dedir- Le champ s'appelledir, et nonpathEnvoi des paramètres sous forme de chaîne JSON - Le
paramschamp doit être un objet, et non une chaîne encodée en JSONChamps manquants dans params - Tous les champs de l'objet params sont attendus
Oublier
?fields=id,status,result- Sans cela, aucune donnée de fichier n'est renvoyée
Exigences
La VM du service NAS doit être en cours d'exécution pour parcourir les volumes
Le volume doit être en ligne (monté)
L'utilisateur doit avoir des autorisations de lecture sur le volume
Ressources supplémentaires
Retour
Mis à jour
Ce contenu vous a-t-il été utile ?