Partager via


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 d’opérations de gestion de compte sur Data Lake Storage Gen1 à l’aide de l’API REST, consultez les opérations de gestion des comptes sur Data Lake Storage Gen1 à l’aide de l’API REST.

Conditions préalables

Comment faire pour s’authentifier avec Microsoft Entra ID ?

Vous pouvez utiliser deux approches pour vous authentifier avec Microsoft Entra ID.

Créez les dossiers.

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

Utilisez la commande cURL suivante. Remplacez <votre nom de magasin> par le nom de votre 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é. Cette commande crée un répertoire appelé mytempdir sous le dossier racine de votre compte 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 WebHDFS défini ici.

Utilisez la commande cURL suivante. Remplacez <le nom de votre magasin> avec le nom de votre 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é.

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 WebHDFS défini ici.

Utilisez la commande cURL suivante. Remplacez <votrenomstore> par le nom de votre 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 est 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 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.
  • Vous soumettez ensuite la 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. Enfin, le résultat de tous les appels de requête s’affiche, comme illustré dans l’exemple de code suivant. Remplacez <votrenomdemagasin> par le nom de votre 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 WebHDFS défini ici.

Utilisez la commande cURL suivante pour renommer un fichier. Remplacez <le nom de votre magasin> par le nom de votre 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 WebHDFS défini ici.

Utilisez la commande cURL suivante pour supprimer un fichier. Remplacez <le nom de votre magasin> par le nom de votre 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