Bestandssysteembewerkingen in Azure Data Lake Storage Gen1 met behulp van REST API
In dit artikel leert u hoe u WebHDFS REST API's en Data Lake Storage Gen1 REST API's gebruikt om bestandssysteembewerkingen uit te voeren op Azure Data Lake Storage Gen1. Zie Accountbeheerbewerkingen op Data Lake Storage Gen1 met rest API voor instructies over het uitvoeren van accountbeheerbewerkingen op Data Lake Storage Gen1 met behulp van REST API.
Vereisten
Een Azure-abonnement. Zie Gratis proefversie van Azure ophalen.
Azure Data Lake Storage Gen1-account. Volg de instructies in Aan de slag met Azure Data Lake Storage Gen1 met behulp van de Azure Portal.
cURL. In dit artikel wordt cURL gebruikt om te laten zien hoe u REST API-aanroepen uitvoert voor een Data Lake Storage Gen1-account.
Hoe kan ik verifiëren met behulp van Microsoft Entra ID?
U kunt twee benaderingen gebruiken om te verifiëren met behulp van Microsoft Entra ID.
- Zie Eindgebruikersverificatie met Data Lake Storage Gen1 met behulp van .NET SDK voor eindgebruikersverificatie voor uw toepassing (interactief).
- Zie Service-naar-serviceverificatie met Data Lake Storage Gen1 met behulp van .NET SDK voor service-naar-serviceverificatie voor uw toepassing (niet-interactief).
Mappen maken
Deze bewerking is gebaseerd op de WebHDFS REST-API-aanroep die hier wordt gedefinieerd.
Gebruik de volgende cURL-opdracht: Vervang <yourstorename> door de accountnaam van uw Data Lake Storage Gen1.
curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/?op=MKDIRS'
Vervang <REDACTED
> in de voorgaande opdracht door het verificatietoken dat u eerder hebt opgehaald. Met deze opdracht maakt u een map met de naam mytempdir onder de hoofdmap van uw Data Lake Storage Gen1-account.
Als de bewerking is geslaagd, wordt er een antwoord weergegeven zoals in het volgende codefragment:
{"boolean":true}
Lijst met mappen
Deze bewerking is gebaseerd op de WebHDFS REST-API-aanroep die hier wordt gedefinieerd.
Gebruik de volgende cURL-opdracht: Vervang <yourstorename> door de accountnaam van uw Data Lake Storage Gen1.
curl -i -X GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS'
Vervang <REDACTED
> in de voorgaande opdracht door het verificatietoken dat u eerder hebt opgehaald.
Als de bewerking is geslaagd, wordt er een antwoord weergegeven zoals in het volgende codefragment:
{
"FileStatuses": {
"FileStatus": [{
"length": 0,
"pathSuffix": "mytempdir",
"type": "DIRECTORY",
"blockSize": 268435456,
"accessTime": 1458324719512,
"modificationTime": 1458324719512,
"replication": 0,
"permission": "777",
"owner": "<GUID>",
"group": "<GUID>"
}]
}
}
Gegevens uploaden
Deze bewerking is gebaseerd op de WebHDFS REST-API-aanroep die hier wordt gedefinieerd.
Gebruik de volgende cURL-opdracht: Vervang <yourstorename> door de accountnaam van uw Data Lake Storage Gen1.
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 de voorgaande syntaxis geeft de parameter -T de locatie aan van het bestand dat u uploadt.
De uitvoer lijkt op die in het volgende codefragment:
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
...
Gegevens lezen
Deze bewerking is gebaseerd op de WebHDFS REST-API-aanroep die hier wordt gedefinieerd.
Het lezen van gegevens van een Data Lake Storage Gen1-account is een proces in twee stappen.
- Eerst dient u een GET-aanvraag in voor het eindpunt
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN
. Met deze oproep wordt de locatie geretourneerd waarnaar u de volgende GET-aanvraag moet verzenden. - Vervolgens dient u de GET-aanvraag in voor het eindpunt
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true
. Met deze oproept wordt de inhoud van het bestand weergegeven.
Omdat de invoerparameters in de eerste en tweede stap echter gelijk zijn, kunt u de parameter -L
gebruiken om de eerste aanvraag in te dienen. Optie -L
combineert in feite twee aanvragen in één en zorgt dat cURL de aanvraag opnieuw uitvoert op de nieuwe locatie. Ten slotte wordt de uitvoer van alle aanroepen van de aanvraag weergegeven, zoals u in het volgende codefragment kunt zien. Vervang <yourstorename> door de accountnaam van uw Data Lake Storage Gen1.
curl -i -L GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN'
Als het goed is, wordt ongeveer het volgende codefragment weergegeven:
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!
De naam van een bestand wijzigen
Deze bewerking is gebaseerd op de WebHDFS REST-API-aanroep die hier wordt gedefinieerd.
Als u de naam van een bestand wil wijzigen, gebruikt u de volgende cURL-opdracht. Vervang <yourstorename> door de accountnaam van uw Data Lake Storage Gen1.
curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=RENAME&destination=/mytempdir/myinputfile1.txt'
Als het goed is, wordt ongeveer het volgende codefragment weergegeven:
HTTP/1.1 200 OK
...
{"boolean":true}
Een bestand verwijderen
Deze bewerking is gebaseerd op de WebHDFS REST-API-aanroep die hier wordt gedefinieerd.
Gebruik de volgende cURL-opdracht als u een bestand wilt verwijderen. Vervang <yourstorename> door de accountnaam van uw Data Lake Storage Gen1.
curl -i -X DELETE -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile1.txt?op=DELETE'
Als het goed is, wordt ongeveer de volgende uitvoer weergegeven:
HTTP/1.1 200 OK
...
{"boolean":true}