Operasi Sistem file pada Data Lake Storage Gen1 menggunakan .NET SDK
Dalam artikel ini, Anda akan mempelajari cara menggunakan .NET SDK untuk melakukan operasi sistem file di Azure Data Lake Storage Gen1. Operasi sistem file termasuk membuat folder di akun Data Lake Storage Gen1, mengunggah file, mengunduh file, dll.
Untuk petunjuk terkait cara melakukan operasi manajemen akun pada Data Lake Storage Gen1 menggunakan .NET SDK, lihat Operasi manajemen akun di Data Lake Storage Gen1 menggunakan .NET SDK.
Prasyarat
Visual Studio 2013 atau yang lebih baru. Petunjuk dalam artikel ini menggunakan Visual Studio 2019.
Langganan Azure. Lihat Dapatkan uji coba gratis Azure.
Akun Azure Data Lake Storage Gen1. Untuk petunjuk pembuatan akun, lihat Memulai Azure Data Lake Storage Gen1.
Membuat aplikasi .NET
Kode sampel yang tersedia di GitHub memandu Anda dalam proses pembuatan file di penyimpanan, menggabungkan file, mengunduh file, dan menghapus beberapa file di penyimpanan. Pada artikel, bagian ini akan memandu Anda melalui bagian utama kode.
Di Visual Studio, pilih menu file, Baru, lalu Proyek.
Pilih Aplikasi Konsol (.NET Framework) , lalu pilih Berikutnya.
Di Nama proyek, masukkan
CreateADLApplication
, dan lalu pilih Buat.Tambahkan paket NuGet ke proyek Anda.
Klik kanan nama proyek di Penjelajah Solusi dan klik Kelola Paket NuGet.
Di tab Manajer Paket NuGet, pastikan bahwa Sumber Paket diatur menjadi nuget.org. Pastikan juga untuk mencentang kotak Sertakan prarilis.
Cari dan pasang paket NuGet berikut:
-
Microsoft.Azure.DataLake.Store
- Artikel ini menggunakan v1.0.0. -
Microsoft.Rest.ClientRuntime.Azure.Authentication
- Artikel ini menggunakan v2.3.1.
Tutup Manajer Paket NuGet.
-
Buka Program.cs, hapus kode yang ada, lalu sertakan pernyataan berikut untuk menambahkan referensi ke namespace.
using System; using System.IO;using System.Threading; using System.Linq; using System.Text; using System.Collections.Generic; using System.Security.Cryptography.X509Certificates; // Required only if you're using an Azure AD application created with certificates using Microsoft.Rest; using Microsoft.Rest.Azure.Authentication; using Microsoft.Azure.DataLake.Store; using Microsoft.IdentityModel.Clients.ActiveDirectory;
Nyatakan variabel yang ada di bawah ini dan berikan nilai untuk tempat penampung. Pastikan juga jalur lokal dan nama file yang Anda masukkan di sini ada di komputer.
namespace SdkSample { class Program { private static string _adlsg1AccountName = "<DATA-LAKE-STORAGE-GEN1-NAME>.azuredatalakestore.net"; } }
Di bagian setelah ini, Anda dapat melihat cara menggunakan metode .NET yang tersedia untuk melakukan operasi seperti autentikasi, pengunggahan file, dll.
Autentikasi
- Untuk autentikasi pengguna akhir aplikasi Anda, lihat Autentikasi pengguna akhir dengan Data Lake Storage Gen1 menggunakan .NET SDK.
- Untuk autentikasi layanan-ke-layanan aplikasi Anda, lihat Autentikasi layanan-ke-layanan dengan Data Lake Storage Gen1 menggunakan .NET SDK.
Membuat objek klien
Cuplikan berikut membuat objek klien sistem file Data Lake Storage Gen1 yang digunakan untuk mengeluarkan permintaan ke pelayanan.
// Create client objects
AdlsClient client = AdlsClient.CreateClient(_adlsg1AccountName, adlCreds);
Membuat file dan direktori
Tambahkan cuplikan di bawah ini ke aplikasi Anda. Cuplikan ini menambahkan file dan direktori induk apa pun yang tidak ada.
// Create a file - automatically creates any parent directories that don't exist
// The AdlsOutputStream preserves record boundaries - it does not break records while writing to the store
using (var stream = client.CreateFile(fileName, IfExists.Overwrite))
{
byte[] textByteArray = Encoding.UTF8.GetBytes("This is test data to write.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
textByteArray = Encoding.UTF8.GetBytes("This is the second line.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
}
Menambahkan ke file
Cuplikan berikut menambahkan data ke file yang ada dalam akun Data Lake Storage Gen1.
// Append to existing file
using (var stream = client.GetAppendStream(fileName))
{
byte[] textByteArray = Encoding.UTF8.GetBytes("This is the added line.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
}
Membaca file
Cuplikan berikut membaca konten dari file di Data Lake Storage Gen1.
//Read file contents
using (var readStream = new StreamReader(client.GetReadStream(fileName)))
{
string line;
while ((line = readStream.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
Mendapatkan properti file
Cuplikan berikut menampilkan properti yang terkait dengan file atau direktori.
// Get file properties
var directoryEntry = client.GetDirectoryEntry(fileName);
PrintDirectoryEntry(directoryEntry);
Definisi dari metode PrintDirectoryEntry
ini tersedia sebagai bagian dari sampel di GitHub.
Mengganti nama file
Cuplikan berikut mengganti nama dari file yang ada pada akun Data Lake Storage Gen1.
// Rename a file
string destFilePath = "/Test/testRenameDest3.txt";
client.Rename(fileName, destFilePath, true);
Menghitung direktori
Cuplikan berikut menghitung direktori yang ada dalam akun Data Lake Storage Gen1.
// Enumerate directory
foreach (var entry in client.EnumerateDirectory("/Test"))
{
PrintDirectoryEntry(entry);
}
Definisi dari metode PrintDirectoryEntry
ini tersedia sebagai bagian dari sampel di GitHub.
Menghapus direktori secara rekursif
Cuplikan berikut menghapus direktori dan semua subdirektori secara rekursif.
// Delete a directory and all its subdirectories and files
client.DeleteRecursive("/Test");
Sampel
Berikut adalah beberapa sampel yang menunjukkan cara menggunakan SDK Sistem file Data Lake Storage Gen1.
Lihat juga
- Operasi pengelolaan akun pada Data Lake Storage Gen1 menggunakan .NET SDK
- Referensi .NET SDK Data Lake Storage Gen1