Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
Prenumeration för Azure. 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-portalen.
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 (interaktivt) finns i Slutanvändarautentisering med Data Lake Storage Gen1 med .NET SDK.
- För tjänst-till-tjänst-autentisering för ditt program (icke-interaktivt), se Tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med .NET SDK.
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}