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 Data Lake Storage Gen1 do wykonywania operacji systemu plików na Azure Data Lake Storage Gen1. Aby uzyskać instrukcje dotyczące wykonywania operacji zarządzania kontami na Data Lake Storage Gen1 przy użyciu interfejsu API REST, zobacz Operacje zarządzania kontami na Data Lake Storage Gen1 przy użyciu interfejsu API REST.

Wymagania wstępne

Jak mogę uwierzytelnić się przy użyciu Tożsamość Microsoft Entra?

Możesz użyć dwóch metod uwierzytelniania przy użyciu Tożsamość Microsoft Entra.

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 <ciąg 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 ciąg <REDACTED> tokenem autoryzacji pobranym wcześniej. To polecenie tworzy katalog o nazwie mytempdir w folderze głównym konta Data Lake Storage Gen1.

Jeśli operacja zakończy się pomyślnie, powinna pojawić się odpowiedź podobna do poniższego fragmentu kodu:

{"boolean":true}

Wyświetlanie listy folderów

Ta operacja jest oparta na wywołaniu interfejsu API REST WebHDFS zdefiniowanym tutaj.

Użyj następującego polecenia cURL. Zastąp <ciąg 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 ciąg <REDACTED> tokenem autoryzacji pobranym wcześniej.

Jeśli operacja zakończy się pomyślnie, powinna pojawić się odpowiedź podobna do poniższego 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 <ciąg 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 parametr -T wskazuje na lokalizację przekazywanego pliku.

Dane wyjściowe będą 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 Data Lake Storage Gen1 jest procesem dwuetapowym.

  • 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 której należy przesłać kolejne żądanie 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 powoduje wyświetlenie zawartości pliku.

Jednak ponieważ nie ma żadnej różnicy w parametrach wejściowych kroku pierwszego i drugiego, możesz użyć parametru -L w celu przesłania pierwszego żądania. -L — ta opcja w praktyce łączy dwa żądania w jedno i powoduje, że narzędzie cURL ponawia żądanie dla nowej lokalizacji. Na koniec zostaną wyświetlone dane wyjściowe z wszystkich wywołań żądań, tak jak pokazano w poniższym fragmencie kodu. Zastąp <ciąg 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 pojawić się 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 <ciąg 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 pojawić się 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 <ciąg 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ż