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
En Azure-prenumeration. Se Hämta en kostnadsfri utvärderingsversion av Azure.
Azure Data Lake Storage Gen1-konto. Följ anvisningarna i Kom igång med Azure Data Lake Storage Gen1 med hjälp av Azure Portal.
cURL. Den här artikeln använder cURL för att visa hur du gör REST API-anrop mot ett Data Lake Storage Gen1 konto.
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.
- Information om slutanvändarautentisering för ditt program (interaktiv) finns i Slutanvändarautentisering med Data Lake Storage Gen1 med .NET SDK.
- Tjänst-till-tjänst-autentisering för ditt program (icke-interaktiv) finns i Tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med .NET SDK.
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}