Udostępnij za pośrednictwem


Operacje systemu plików w usłudze Azure Data Lake Storage Gen1 przy użyciu interfejsu API REST

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

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.

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}

Następne kroki

Zobacz też