Bagikan melalui


Operasi sistem file pada Azure Data Lake Storage Gen1 menggunakan REST API

Dalam artikel ini, Anda mempelajari cara menggunakan API WEBHDFS REST dan API REST Data Lake Storage Gen1 untuk melakukan operasi sistem file pada Azure Data Lake Storage Gen1. Untuk petunjuk tentang cara melakukan operasi manajemen akun pada Data Lake Storage Gen1 menggunakan REST API, lihat Operasi manajemen akun di Data Lake Storage Gen1 menggunakan REST API.

Prasyarat

Bagaimana cara mengautentikasi menggunakan Microsoft Entra ID?

Anda dapat menggunakan dua pendekatan untuk mengautentikasi menggunakan Microsoft Entra ID.

Membuat folder

Operasi ini didasarkan pada panggilan REST API yang ditentukan di sini.

Menggunakan perintah cURL berikut. Ganti <nama penyimpanan Anda> dengan nama akun Data Lake Storage Gen1 Anda.

curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/?op=MKDIRS'

Dalam perintah sebelumnya, ganti <REDACTED> dengan token otorisasi yang Anda ambil sebelumnya. Perintah ini membuat direktori yang disebut mytempdir di bawah folder root akun Data Lake Storage Gen1 Anda.

Jika operasi berhasil diselesaikan, Anda akan melihat respons seperti cuplikan berikut:

{"boolean":true}

Daftar folder

Operasi ini didasarkan pada panggilan REST API yang ditentukan di sini.

Menggunakan perintah cURL berikut. Ganti <nama penyimpanan Anda> dengan nama akun Data Lake Storage Gen1 Anda.

curl -i -X GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS'

Dalam perintah sebelumnya, ganti <REDACTED> dengan token otorisasi yang Anda ambil sebelumnya.

Jika operasi berhasil diselesaikan, Anda akan melihat respons seperti cuplikan berikut:

{
"FileStatuses": {
    "FileStatus": [{
        "length": 0,
        "pathSuffix": "mytempdir",
        "type": "DIRECTORY",
        "blockSize": 268435456,
        "accessTime": 1458324719512,
        "modificationTime": 1458324719512,
        "replication": 0,
        "permission": "777",
        "owner": "<GUID>",
        "group": "<GUID>"
    }]
}
}

Mengunggah data

Operasi ini didasarkan pada panggilan REST API yang ditentukan di sini.

Menggunakan perintah cURL berikut. Ganti <nama penyimpanan Anda> dengan nama akun Data Lake Storage Gen1 Anda.

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'

Dalam parameter sintaks -T sebelumnya adalah lokasi file yang Anda unggah.

Outputnya serupa dengan cuplikan berikut:

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
...

Membaca data

Operasi ini didasarkan pada panggilan REST API yang ditentukan di sini.

Membaca data dari akun Azure Data Lake Storage Gen1 adalah proses dua langkah.

  • Anda pertama kali mengirimkan permintaan GET terhadap titik akhir https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN. Panggilan ini mengembalikan lokasi untuk mengirimkan permintaan GET berikutnya.
  • Anda kemudian mengirimkan permintaan GET terhadap titik akhir https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true. Panggilan ini menampilkan isi berkas.

Namun, karena tidak ada perbedaan parameter input antara langkah pertama dan kedua, Anda dapat menggunakan -L parameter untuk mengirimkan permintaan pertama. -L opsi pada dasarnya menggabungkan dua permintaan menjadi satu dan membuat cURL mengulangi permintaan pada lokasi baru. Terakhir, output dari semua panggilan permintaan ditampilkan, seperti yang ditunjukkan dalam cuplikan berikut. Ganti <nama penyimpanan Anda> dengan nama akun Data Lake Storage Gen1 Anda.

curl -i -L GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN'

Anda akan mendapatkan output yang mirip dengan cuplikan berikut:

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!

Mengganti nama file

Operasi ini didasarkan pada panggilan WebHDFS REST API yang ditentukan di sini.

Gunakan perintah cURL berikut untuk mengganti nama file. Ganti <nama penyimpanan Anda> dengan nama akun Data Lake Storage Gen1 Anda.

curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=RENAME&destination=/mytempdir/myinputfile1.txt'

Anda akan mendapatkan output yang mirip dengan cuplikan berikut:

HTTP/1.1 200 OK
...

{"boolean":true}

Hapus file

Operasi ini didasarkan pada panggilan WebHDFS REST API yang ditentukan di sini.

Gunakan perintah cURL berikut untuk menghapus nama file. Ganti <nama penyimpanan Anda> dengan nama akun Data Lake Storage Gen1 Anda.

curl -i -X DELETE -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile1.txt?op=DELETE'

Anda akan melihat output seperti teks di bawah ini:

HTTP/1.1 200 OK
...

{"boolean":true}

Langkah berikutnya

Lihat juga