Dela 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 Rest-API:er för Data Lake Storage Gen1 för att utföra filsystemå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 baseras på det WebHDFS REST API-anrop som definieras 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 föregående kommando ersätter du <REDACTED> med den auktoriseringstoken som du hämtade tidigare. Det här kommandot skapar en katalog med namnet mytempdir under rotmappen för ditt Data Lake Storage Gen1-konto.

Om åtgärden blir framgångsrik, bör du se ett svar som följande kodfragment:

{"boolean":true}

Lista över mappar

Den här åtgärden baseras på det WebHDFS REST API-anrop som definieras 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 föregående kommando ersätter du <REDACTED> med den auktoriseringstoken som du hämtade tidigare.

Om åtgärden blir framgångsrik, bör du se ett svar som följande kodfragment:

{
"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 baseras på det WebHDFS REST API-anrop som definieras 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 föregående syntax är parametern -T platsen för den fil som du laddar upp.

Utdata liknar följande kodfragment:

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äs data

Den här åtgärden baseras på det WebHDFS REST API-anrop som definieras 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 att skicka nästa GET-begäran till.
  • Sedan skickar du 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.

Men eftersom det inte finns någon skillnad i indataparametrarna mellan det första och det andra steget kan du använda parametern -L för att skicka den första begäran. -L -alternativet kombinerar i princip två begäranden till en och gör att cURL gör om begäran på den nya platsen. Slutligen visas utdata från alla begärandeanrop, som i följande kodfragment. 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 kodfragment:

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 baseras på det WebHDFS REST API-anrop som definieras här.

Använd följande cURL-kommando 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 kodfragment:

HTTP/1.1 200 OK
...

{"boolean":true}

Ta bort en fil

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

Använd följande cURL-kommando 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