Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak używać interfejsów API REST webHDFS i interfejsów API REST usługi Data Lake Storage Gen1 do wykonywania operacji systemu plików w usłudze Azure Data Lake Storage Gen1. Aby uzyskać instrukcje dotyczące wykonywania operacji zarządzania kontami w usłudze Data Lake Storage Gen1 przy użyciu interfejsu API REST, zobacz Operacje zarządzania kontami w usłudze Data Lake Storage Gen1 przy użyciu interfejsu API REST.
Wymagania wstępne
Subskrypcja platformy Azure. Zobacz Uzyskiwanie bezpłatnej wersji próbnej platformy Azure.
konto usługi Azure Data Lake Storage Gen1. Postępuj zgodnie z instrukcjami w Rozpoczynanie pracy z usługą Azure Data Lake Storage Gen1 przy użyciu witryny Azure Portal.
cURL. W tym artykule użyto biblioteki cURL, aby zademonstrować sposób wykonywania wywołań interfejsu API REST względem konta usługi Data Lake Storage Gen1.
Jak mogę uwierzytelnić się przy użyciu identyfikatora Entra firmy Microsoft?
Do uwierzytelniania można użyć dwóch metod uwierzytelniania przy użyciu identyfikatora Entra firmy Microsoft.
- Aby uzyskać informacje na temat uwierzytelniania użytkowników końcowych dla aplikacji (interakcyjnej), zobacz End-user authentication with Data Lake Storage Gen1 using .NET SDK (Uwierzytelnianie użytkowników końcowych w usłudze Data Lake Storage Gen1 przy użyciu zestawu SDK platformy .NET).
- Aby uzyskać informacje o uwierzytelnianiu usługa-usługa dla aplikacji (nieinterakcyjnej), zobacz Uwierzytelnianie usługa-usługa z użyciem Data Lake Storage Gen1 przy użyciu zestawu SDK platformy .NET.
Tworzenie folderów
Ta operacja jest oparta na wywołaniu interfejsu API REST webHDFS zdefiniowanym tutaj.
Użyj następującego polecenia cURL. Zastąp <yourstorename> nazwą konta Data Lake Storage Gen1.
curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/?op=MKDIRS'
W poprzednim poleceniu zastąp element <REDACTED
> tokenem autoryzacji pobranym wcześniej. To polecenie tworzy katalog o nazwie mytempdir w folderze głównym konta usługi Data Lake Storage Gen1.
Jeśli operacja zakończy się pomyślnie, powinna zostać wyświetlona odpowiedź podobna do następującego fragmentu kodu:
{"boolean":true}
Lista folderów
Ta operacja jest oparta na wywołaniu interfejsu API REST webHDFS zdefiniowanym tutaj.
Użyj następującego polecenia cURL. Zastąp <yourstorename> nazwą konta Data Lake Storage Gen1.
curl -i -X GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS'
W poprzednim poleceniu zastąp element <REDACTED
> tokenem autoryzacji pobranym wcześniej.
Jeśli operacja zakończy się pomyślnie, powinna zostać wyświetlona odpowiedź podobna do następującego fragmentu kodu:
{
"FileStatuses": {
"FileStatus": [{
"length": 0,
"pathSuffix": "mytempdir",
"type": "DIRECTORY",
"blockSize": 268435456,
"accessTime": 1458324719512,
"modificationTime": 1458324719512,
"replication": 0,
"permission": "777",
"owner": "<GUID>",
"group": "<GUID>"
}]
}
}
Przekazywanie danych
Ta operacja jest oparta na wywołaniu interfejsu API REST webHDFS zdefiniowanym tutaj.
Użyj następującego polecenia cURL. Zastąp <yourstorename> nazwą konta 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'
W poprzedniej składni -T parametr jest lokalizacją przekazywanego pliku.
Dane wyjściowe są podobne do następującego fragmentu kodu:
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
...
Odczyt danych
Ta operacja jest oparta na wywołaniu interfejsu API REST webHDFS zdefiniowanym tutaj.
Odczytywanie danych z konta usługi Data Lake Storage Gen1 to proces dwuetapowy.
- Najpierw prześlij żądanie GET względem punktu końcowego
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN
. To wywołanie zwraca lokalizację do przesłania następnego żądania GET. - Następnie prześlij żądanie GET względem punktu końcowego
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true
. To wywołanie wyświetla zawartość pliku.
Jednak ponieważ nie ma różnicy w parametrach wejściowych między pierwszym i drugim krokiem, możesz użyć parametru -L
, aby przesłać pierwsze żądanie.
-L
opcja zasadniczo łączy dwa żądania w jeden i sprawia, że polecenie cURL ponownie wykonuje żądanie w nowej lokalizacji. Na koniec zostaną wyświetlone dane wyjściowe ze wszystkich wywołań żądania, jak pokazano w poniższym fragmencie kodu. Zastąp <yourstorename> nazwą konta Data Lake Storage Gen1.
curl -i -L GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN'
Powinny zostać wyświetlone dane wyjściowe podobne do następującego fragmentu kodu:
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!
Zmienianie nazwy pliku
Ta operacja jest oparta na wywołaniu interfejsu API REST webHDFS zdefiniowanym tutaj.
Użyj następującego polecenia cURL, aby zmienić nazwę pliku. Zastąp <yourstorename> nazwą konta 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'
Powinny zostać wyświetlone dane wyjściowe podobne do następującego fragmentu kodu:
HTTP/1.1 200 OK
...
{"boolean":true}
Usuwanie pliku
Ta operacja jest oparta na wywołaniu interfejsu API REST webHDFS zdefiniowanym tutaj.
Użyj następującego polecenia cURL, aby usunąć plik. Zastąp <yourstorename> nazwą konta Data Lake Storage Gen1.
curl -i -X DELETE -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile1.txt?op=DELETE'
Powinny pojawić się dane wyjściowe podobne do następujących:
HTTP/1.1 200 OK
...
{"boolean":true}