Operace systému souborů na Azure Data Lake Storage Gen1 s využitím rozhraní REST API
V tomto článku se dozvíte, jak používat rozhraní REST API WebHDFS a rozhraní REST API Data Lake Storage Gen1 k provádění operací systému souborů v Azure Data Lake Storage Gen1. Pokyny k provádění operací správy účtů na Data Lake Storage Gen1 pomocí rozhraní REST API najdete v tématu Operace správy účtů na Data Lake Storage Gen1 pomocí rozhraní REST API.
Požadavky
Předplatné Azure. Viz Získání bezplatné zkušební verze Azure.
Azure Data Lake Storage účet Gen1. Postupujte podle pokynů v tématu Začínáme s Azure Data Lake Storage Gen1 pomocí Azure Portal.
cURL. Tento článek používá cURL k předvedení, jak provádět volání rozhraní REST API pro účet Data Lake Storage Gen1.
Návody ověřování pomocí Microsoft Entra ID?
K ověřování pomocí Microsoft Entra ID můžete použít dva přístupy.
- Informace o ověřování koncových uživatelů pro vaši aplikaci (interaktivní) najdete v tématu Ověřování koncových uživatelů pomocí Data Lake Storage Gen1 pomocí sady .NET SDK.
- Informace o ověřování služba-služba pro vaši aplikaci (neinteraktivní) najdete v tématu Ověřování služba-služba s Data Lake Storage Gen1 pomocí sady .NET SDK.
Vytváření složek
Tato operace je založená na volání rozhraní REST API WebHDFS, které je definované tady.
Použijte následující příkaz cURL. Nahraďte <yourstorename> názvem účtu Data Lake Storage Gen1.
curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/?op=MKDIRS'
V předchozím příkazu nahraďte položku <REDACTED
> autorizačním tokenem, který jste získali dříve. Tento příkaz vytvoří adresář mytempdir v kořenové složce vašeho účtu Data Lake Storage Gen1.
Pokud se operace úspěšně dokončí, měla by se zobrazit odpověď podobná následujícímu fragmentu kódu:
{"boolean":true}
Výpis složek
Tato operace je založená na volání rozhraní REST API WebHDFS, které je definované tady.
Použijte následující příkaz cURL. Nahraďte <yourstorename> názvem účtu Data Lake Storage Gen1.
curl -i -X GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS'
V předchozím příkazu nahraďte položku <REDACTED
> autorizačním tokenem, který jste získali dříve.
Pokud se operace úspěšně dokončí, měla by se zobrazit odpověď podobná následujícímu fragmentu kódu:
{
"FileStatuses": {
"FileStatus": [{
"length": 0,
"pathSuffix": "mytempdir",
"type": "DIRECTORY",
"blockSize": 268435456,
"accessTime": 1458324719512,
"modificationTime": 1458324719512,
"replication": 0,
"permission": "777",
"owner": "<GUID>",
"group": "<GUID>"
}]
}
}
Nahrání dat
Tato operace je založená na volání rozhraní REST API WebHDFS, které je definované tady.
Použijte následující příkaz cURL. Nahraďte <yourstorename> názvem účtu 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'
V předchozí syntaxi je parametr -T umístění nahrávaného souboru.
Výstup je podobný následujícímu fragmentu kódu:
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
...
Čtení dat
Tato operace je založená na volání rozhraní REST API WebHDFS, které je definované tady.
Čtení dat z účtu Data Lake Storage Gen1 je dvoustupňový proces.
- Nejdřív odešlete požadavek GET na koncový bod
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN
. Toto volání vrátí umístění, na které je nutné odeslat další požadavek GET. - Potom odešlete požadavek GET na koncový bod
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true
. Toto volání zobrazí obsah souboru.
Vstupní parametry v prvním a druhém kroku se ale nijak neliší, a proto můžete parametr -L
použít k odeslání prvního požadavku. Možnost -L
v podstatě kombinuje dva požadavky do jednoho. Výsledkem je, že cURL zopakuje požadavek na novém umístění. Nakonec se zobrazí výstup ze všech volání požadavků, který bude vypadat přibližně jako v následujícím fragmentu kódu. Nahraďte <yourstorename> názvem účtu Data Lake Storage Gen1.
curl -i -L GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN'
Zobrazený výstup by měl vypadat přibližně jako následující fragment kódu:
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!
Přejmenování souboru
Tato operace je založená na volání rozhraní REST API WebHDFS, které je definované tady.
Pokud chcete přejmenovat soubor, použijte následující příkaz cURL. Nahraďte <yourstorename> názvem účtu 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'
Zobrazený výstup by měl vypadat přibližně jako následující fragment kódu:
HTTP/1.1 200 OK
...
{"boolean":true}
Odstranění souboru
Tato operace je založená na volání rozhraní REST API WebHDFS, které je definované tady.
Pokud chcete odstranit soubor, použijte následující příkaz cURL. Nahraďte <yourstorename> názvem účtu Data Lake Storage Gen1.
curl -i -X DELETE -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile1.txt?op=DELETE'
Zobrazený výstup by měl vypadat asi takto:
HTTP/1.1 200 OK
...
{"boolean":true}