Opérations de gestion du système de fichiers sur Azure Data Lake Storage Gen1 à l’aide d’une API REST

Dans cet article, vous allez découvrir comment utiliser les API REST de WebHDFS et de Data Lake Storage Gen1 pour effectuer des opérations de gestion du système de fichiers sur Azure Data Lake Storage Gen1. Pour obtenir des instructions sur l’exécution des opérations de gestion des comptes sur Data Lake Storage Gen1 à l’aide de l’API REST, consultez la section relative aux opérations de gestion des comptes sur Data Lake Storage Gen1 à l’aide de l’API REST.

Prérequis

Comment faire s’authentifier à l’aide de Microsoft Entra ID ?

Vous pouvez utiliser deux approches pour vous authentifier à l’aide de Microsoft Entra ID.

Créez les dossiers.

Cette opération est basée sur l’appel de l’API REST de WebHDFS défini ici.

Utilisez la commande cURL suivante. Remplacez <yourstorename> par votre nom de compte Data Lake Storage Gen1.

curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/?op=MKDIRS'

Dans la commande précédente, remplacez <REDACTED> par le jeton d’autorisation que vous avez récupéré précédemment. Cette commande crée un répertoire appelé mytempdir sous le dossier racine de votre compte Azure Data Lake Storage Gen1.

Si l’opération s’est déroulée correctement, vous devez voir une réponse similaire à l’extrait de code suivant :

{"boolean":true}

Répertorier les dossiers

Cette opération est basée sur l’appel de l’API REST de WebHDFS défini ici.

Utilisez la commande cURL suivante. Remplacez <yourstorename> par votre nom de compte Data Lake Storage Gen1.

curl -i -X GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS'

Dans la commande précédente, remplacez <REDACTED> par le jeton d’autorisation que vous avez récupéré précédemment.

Si l’opération s’est déroulée correctement, vous devez voir une réponse similaire à l’extrait de code suivant :

{
"FileStatuses": {
    "FileStatus": [{
        "length": 0,
        "pathSuffix": "mytempdir",
        "type": "DIRECTORY",
        "blockSize": 268435456,
        "accessTime": 1458324719512,
        "modificationTime": 1458324719512,
        "replication": 0,
        "permission": "777",
        "owner": "<GUID>",
        "group": "<GUID>"
    }]
}
}

Télécharger des données

Cette opération est basée sur l’appel de l’API REST de WebHDFS défini ici.

Utilisez la commande cURL suivante. Remplacez <yourstorename> par votre nom de compte Data Lake Storage Gen1.

curl -i -X PUT -L -T 'C:\temp\list.txt' -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/list.txt?op=CREATE'

Dans la syntaxe précédente, le paramètre -T correspond à l’emplacement du fichier que vous chargez.

Le résultat ressemble à l’extrait de code suivant :

HTTP/1.1 307 Temporary Redirect
...
Location: https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/list.txt?op=CREATE&write=true
...
Content-Length: 0

HTTP/1.1 100 Continue

HTTP/1.1 201 Created
...

Lire les données

Cette opération est basée sur l’appel de l’API REST de WebHDFS défini ici.

La lecture des données d’un compte Azure Data Lake Storage Gen1 s’effectue en deux étapes.

  • D’abord, envoyez une demande GET sur le point de terminaison https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN. Cet appel retourne un emplacement où envoyer la demande GET suivante.
  • Ensuite, envoyez la deuxième demande GET sur le point de terminaison https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true. Cet appel affiche le contenu du fichier.

Toutefois, comme les paramètres d’entrée sont les mêmes pour la première et la deuxième étape, vous pouvez utiliser le paramètre -L pour envoyer la première demande. L’option -L permet essentiellement de combiner les deux demandes en une seule et d’indiquer à cURL de réexécuter la demande sur le nouvel emplacement. Le résultat final de tous les appels de la demande s’affiche, comme illustrée dans l’extrait de code suivant. Remplacez <yourstorename> par votre nom de compte Data Lake Storage Gen1.

curl -i -L GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN'

Le résultat doit ressembler à l’extrait de code suivant :

HTTP/1.1 307 Temporary Redirect
...
Location: https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/somerandomfile.txt?op=OPEN&read=true
...

HTTP/1.1 200 OK
...

Hello, Data Lake Store user!

Renommer un fichier

Cette opération est basée sur l’appel de l’API REST de WebHDFS défini ici.

Utilisez la commande cURL suivante pour renommer un fichier. Remplacez <yourstorename> par votre nom de compte Data Lake Storage Gen1.

curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=RENAME&destination=/mytempdir/myinputfile1.txt'

Le résultat doit ressembler à l’extrait de code suivant :

HTTP/1.1 200 OK
...

{"boolean":true}

Supprimer un fichier

Cette opération est basée sur l’appel de l’API REST de WebHDFS défini ici.

Utilisez la commande cURL suivante pour supprimer un fichier. Remplacez <yourstorename> par votre nom de compte Data Lake Storage Gen1.

curl -i -X DELETE -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile1.txt?op=DELETE'

Un résultat similaire à ce qui suit s’affiche normalement :

HTTP/1.1 200 OK
...

{"boolean":true}

Étapes suivantes

Voir aussi