Dateisystemvorgänge in Azure Data Lake Storage Gen1 mit der REST-APIFilesystem operations on Azure Data Lake Storage Gen1 using REST API

In diesem Artikel erfahren Sie, wie Sie mit WebHDFS-REST-APIs und Data Lake Storage Gen1-REST-APIs Dateisystemvorgänge in Azure Data Lake Storage Gen1 durchführen.In this article, you learn how to use WebHDFS REST APIs and Data Lake Storage Gen1 REST APIs to perform filesystem operations on Azure Data Lake Storage Gen1. Eine Anleitung zum Durchführen von Kontoverwaltungsvorgängen in Data Lake Storage Gen1 mit der REST-API finden Sie unter Kontoverwaltungsvorgänge für Data Lake Storage Gen1 mit der REST-API.For instructions on how to perform account management operations on Data Lake Storage Gen1 using REST API, see Account management operations on Data Lake Storage Gen1 using REST API.

VoraussetzungenPrerequisites

Wie authentifiziere ich mich mithilfe von Azure Active Directory?How do I authenticate using Azure Active Directory?

Zur Authentifizierung mit Azure Active Directory können Sie zwischen zwei Ansätzen wählen.You can use two approaches to authenticate using Azure Active Directory.

Erstellen Sie die Ordner.Create folders

Dieser Vorgang basiert auf dem hierdefinierten WebHDFS-REST-API-Aufruf.This operation is based on the WebHDFS REST API call defined here.

Verwenden Sie den folgenden cURL-Befehl.Use the following cURL command. Ersetzen Sie <yourstorename> durch Ihren Data Lake Storage Gen1-Kontonamen.Replace <yourstorename> with your Data Lake Storage Gen1 account name.

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

Ersetzen Sie im vorherigen Befehl <REDACTED> durch das Autorisierungstoken, das Sie zuvor abgerufen haben.In the preceding command, replace <REDACTED> with the authorization token you retrieved earlier. Dieser Befehl erstellt das Verzeichnis mytempdir im Stammordner Ihres Data Lake Storage Gen1-Kontos.This command creates a directory called mytempdir under the root folder of your Data Lake Storage Gen1 account.

Wenn der Vorgang erfolgreich abgeschlossen wurde, sollte eine Antwort wie im folgenden Codeausschnitt angezeigt werden:If the operation completes successfully, you should see a response like the following snippet:

{"boolean":true}

Auflisten von OrdnernList folders

Dieser Vorgang basiert auf dem hierdefinierten WebHDFS-REST-API-Aufruf.This operation is based on the WebHDFS REST API call defined here.

Verwenden Sie den folgenden cURL-Befehl.Use the following cURL command. Ersetzen Sie <yourstorename> durch Ihren Data Lake Storage Gen1-Kontonamen.Replace <yourstorename> with your Data Lake Storage Gen1 account name.

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

Ersetzen Sie im vorherigen Befehl <REDACTED> durch das Autorisierungstoken, das Sie zuvor abgerufen haben.In the preceding command, replace <REDACTED> with the authorization token you retrieved earlier.

Wenn der Vorgang erfolgreich abgeschlossen wurde, sollte eine Antwort wie im folgenden Codeausschnitt angezeigt werden:If the operation completes successfully, you should see a response like the following snippet:

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

Hochladen von DatenUpload data

Dieser Vorgang basiert auf dem hierdefinierten WebHDFS-REST-API-Aufruf.This operation is based on the WebHDFS REST API call defined here.

Verwenden Sie den folgenden cURL-Befehl.Use the following cURL command. Ersetzen Sie <yourstorename> durch Ihren Data Lake Storage Gen1-Kontonamen.Replace <yourstorename> with your Data Lake Storage Gen1 account name.

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'

In der vorherigen Syntax wird mit dem Parameter -T der Speicherort der hochgeladenen Datei angegeben.In the preceding syntax -T parameter is the location of the file you are uploading.

Die Ausgabe sieht in etwa wie im folgenden Codeausschnitt aus:The output is similar to the following snippet:

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
...

Lesen von DatenRead data

Dieser Vorgang basiert auf dem hierdefinierten WebHDFS-REST-API-Aufruf.This operation is based on the WebHDFS REST API call defined here.

Das Lesen von Daten aus einem Data Lake Storage Gen1-Konto ist ein zweistufiger Prozess.Reading data from a Data Lake Storage Gen1 account is a two-step process.

  • Sie müssen zuerst eine GET-Anforderung an den Endpunkt https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPENsenden.You first submit a GET request against the endpoint https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN. Mit diesem Aufruf wird ein Speicherort zurückgegeben, an den die nächste GET-Anforderung gesendet werden soll.This call returns a location to submit the next GET request to.
  • Dann senden Sie die GET-Anforderung an den Endpunkt https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true.You then submit the GET request against the endpoint https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true. Mit diesem Aufruf wird der Inhalt der Datei angezeigt.This call displays the contents of the file.

Da es in den Eingabeparametern keinen Unterschied zwischen dem ersten und zweiten Schritt gibt, können Sie mit dem -L -Parameter die erste Anforderung senden.However, because there is no difference in the input parameters between the first and the second step, you can use the -L parameter to submit the first request. Mit -L werden im Wesentlichen zwei Anforderungen in einer kombiniert, und es wird erreicht, dass cURL die Anforderung am neuen Speicherort noch einmal ausführt.-L option essentially combines two requests into one and makes cURL redo the request on the new location. Schließlich wird die Ausgabe aller Anforderungsaufrufe wie im folgenden Codeausschnitt dargestellt angezeigt.Finally, the output from all the request calls is displayed, like shown in the following snippet. Ersetzen Sie <yourstorename> durch Ihren Data Lake Storage Gen1-Kontonamen.Replace <yourstorename> with your Data Lake Storage Gen1 account name.

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

Die Ausgabe sollte in etwa wie folgender Codeausschnitt aussehen:You should see an output similar to the following snippet:

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!

Umbenennen einer DateiRename a file

Dieser Vorgang basiert auf dem hierdefinierten WebHDFS-REST-API-Aufruf.This operation is based on the WebHDFS REST API call defined here.

Verwenden Sie zum Umbenennen einer Datei den folgenden cURL-Befehl.Use the following cURL command to rename a file. Ersetzen Sie <yourstorename> durch Ihren Data Lake Storage Gen1-Kontonamen.Replace <yourstorename> with your Data Lake Storage Gen1 account name.

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

Die Ausgabe sollte in etwa wie folgender Codeausschnitt aussehen:You should see an output similar to the following snippet:

HTTP/1.1 200 OK
...

{"boolean":true}

Löschen von DateienDelete a file

Dieser Vorgang basiert auf dem hierdefinierten WebHDFS-REST-API-Aufruf.This operation is based on the WebHDFS REST API call defined here.

Verwenden Sie zum Löschen einer Datei den folgenden cURL-Befehl.Use the following cURL command to delete a file. Ersetzen Sie <yourstorename> durch Ihren Data Lake Storage Gen1-Kontonamen.Replace <yourstorename> with your Data Lake Storage Gen1 account name.

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

Folgendes sollte angezeigt werden:You should see an output like the following:

HTTP/1.1 200 OK
...

{"boolean":true}

Nächste SchritteNext steps

Weitere InformationenSee also