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

Návody ověřování pomocí Microsoft Entra ID?

K ověřování pomocí Microsoft Entra ID můžete použít dva přístupy.

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}

Další kroky

Viz také