Bagikan melalui


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

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.

  1. Di Visual Studio, pilih menu file, Baru, lalu Proyek.

  2. Pilih Aplikasi Konsol (.NET Framework) , lalu pilih Berikutnya.

  3. Di Nama proyek, masukkan CreateADLApplication, dan lalu pilih Buat.

  4. Tambahkan paket NuGet ke proyek Anda.

    1. Klik kanan nama proyek di Penjelajah Solusi dan klik Kelola Paket NuGet.

    2. Di tab Manajer Paket NuGet, pastikan bahwa Sumber Paket diatur menjadi nuget.org. Pastikan juga untuk mencentang kotak Sertakan prarilis.

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

  5. 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;
    
  6. 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

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

Langkah berikutnya