Share via


Filsystemåtgärder på Azure Data Lake Storage Gen1 med hjälp av REST API

I den här artikeln får du lära dig hur du använder WebHDFS REST-API:er och Data Lake Storage Gen1 REST-API:er för att utföra filsystemsåtgärder på Azure Data Lake Storage Gen1. Anvisningar om hur du utför kontohanteringsåtgärder på Data Lake Storage Gen1 med HJÄLP av REST API finns i Kontohanteringsåtgärder på Data Lake Storage Gen1 med hjälp av REST API.

Förutsättningar

Hur gör jag för att autentisera med Microsoft Entra ID?

Du kan använda två metoder för att autentisera med hjälp av Microsoft Entra ID.

Skapa mappar

Den här åtgärden är baserad på det WebHDFS REST API-anrop som definierats här.

Använd följande cURL-kommando. Ersätt <dittstorename> med ditt Data Lake Storage Gen1 kontonamn.

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

I det föregående kommandot ersätter du <REDACTED> med den autentiseringstoken som hämtades tidigare. Det här kommandot skapar en katalog med namnet mytempdir under rotmappen för ditt Data Lake Storage Gen1-konto.

Om åtgärden slutförs bör du se ett svar som följande fragment:

{"boolean":true}

Lista mappar

Den här åtgärden är baserad på det WebHDFS REST API-anrop som definierats här.

Använd följande cURL-kommando. Ersätt <dittstorename> med ditt Data Lake Storage Gen1 kontonamn.

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

I det föregående kommandot ersätter du <REDACTED> med den autentiseringstoken som hämtades tidigare.

Om åtgärden slutförs bör du se ett svar som följande fragment:

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

Ladda upp data

Den här åtgärden är baserad på det WebHDFS REST API-anrop som definierats här.

Använd följande cURL-kommando. Ersätt <dittstorename> med ditt Data Lake Storage Gen1 kontonamn.

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'

I ovanstående syntax är parametern -T platsen för den fil som du överför.

De utdata som genereras liknar följande fragment:

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

Läsa data

Den här åtgärden är baserad på det WebHDFS REST API-anrop som definierats här.

Att läsa data från ett Data Lake Storage Gen1 konto är en tvåstegsprocess.

  • Du skickar först en GET-begäran mot slutpunkten https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN. Det här anropet returnerar en plats dit du skickar nästa GET-begäran.
  • Du skickar sedan GET-begäran mot slutpunkten https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true. Det här anropet visar innehållet i filen.

Eftersom det inte finns någon skillnad i indataparametrarna mellan det första och andra steget, kan du använda parameter -L för att skicka den första begäran. -L-alternativet kombinerar i stort sett två begärande till ett och gör att cURL gör om begäran på den nya platsen. Till sist visas utdata från alla begärananrop, som det visas i följande fragment. Ersätt <dittstorename> med ditt Data Lake Storage Gen1 kontonamn.

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

Du bör se utdata som liknar följande fragment:

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!

Byt namn på en fil

Den här åtgärden är baserad på det WebHDFS REST API-anrop som definierats här.

Använd kommandot cURL för att byta namn på en fil. Ersätt <dittstorename> med ditt Data Lake Storage Gen1 kontonamn.

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

Du bör se utdata som liknar följande fragment:

HTTP/1.1 200 OK
...

{"boolean":true}

Ta bort en fil

Den här åtgärden är baserad på det WebHDFS REST API-anrop som definierats här.

Använd kommandot cURL för att ta bort en fil. Ersätt <dittstorename> med ditt Data Lake Storage Gen1 kontonamn.

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

Du bör se utdata som liknar följande:

HTTP/1.1 200 OK
...

{"boolean":true}

Nästa steg

Se även