عمليات نظام الملفات على Data Lake Storage Gen1 باستخدام .NET SDK

في هذه المقالة، ستتعلم كيفية تنفيذ عمليات نظام الملفات على Data Lake Storage Gen1 باستخدام .NET SDK. تتضمن عمليات نظام الملفات إنشاء مجلدات في حساب Data Lake Storage Gen1 وتحميل الملفات وتنزيل الملفات وما إلى ذلك.

للحصول على إرشادات حول كيفية إجراء عمليات إدارة الحساب على Data Lake Storage Gen1 باستخدام .NET SDK، راجع عمليات إدارة الحساب على Data Lake Storage Gen1 باستخدام .NET SDK.

المتطلبات الأساسية

إنشاء تطبيق .NET

يرشدك نموذج التعليمات البرمجية المتوفر على GitHub خلال عملية إنشاء الملفات في المتجر، وتسلسل الملفات، وتنزيل ملف، وحذف بعض الملفات في المتجر. يرشدك هذا القسم من المقالة عبر الأجزاء الرئيسية من التعليمات البرمجية.

  1. في Visual Studio، حدد القائمة ملف ، جديد، ثم Project.

  2. اختر تطبيق وحدة التحكم (.NET Framework)، ثم حدد التالي.

  3. في Project name، أدخل CreateADLApplication، ثم حدد Create.

  4. أضف حزم NuGet إلى مشروعك.

    1. انقر بزر الماوس الأيمن فوق اسم المشروع في مستكشف الحلول وانقر فوق إدارة حزم NuGet.

    2. في علامة التبويب NuGet Package Manager ، تأكد من تعيين مصدر الحزمة إلى nuget.org. تأكد أيضا من تحديد خانة الاختيار تضمين الإصدار التجريبي .

    3. ابحث عن حزم NuGet التالية وقم بتثبيتها:

      • Microsoft.Azure.DataLake.Store - تستخدم هذه المقالة الإصدار 1.0.0.
      • Microsoft.Rest.ClientRuntime.Azure.Authentication - تستخدم هذه المقالة الإصدار 2.3.1.

      أغلق NuGet Package Manager.

  5. افتح Program.cs، واحذف التعليمات البرمجية الموجودة، ثم قم بتضمين العبارات التالية لإضافة مراجع إلى مساحات الأسماء.

    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. قم بتعريف المتغيرات كما هو موضح أدناه، وقم بتوفير قيم العناصر النائبة. تأكد أيضا من وجود المسار المحلي واسم الملف الذي توفره هنا على الكمبيوتر.

    namespace SdkSample
    {
        class Program
        {
            private static string _adlsg1AccountName = "<DATA-LAKE-STORAGE-GEN1-NAME>.azuredatalakestore.net";
        }
    }
    

في الأقسام المتبقية من المقالة، يمكنك معرفة كيفية استخدام أساليب .NET المتوفرة للقيام بعمليات مثل المصادقة وتحميل الملفات وما إلى ذلك.

المصادقة

إنشاء كائن العميل

تنشئ القصاصة البرمجية التالية كائن عميل نظام ملفات Data Lake Storage Gen1، والذي يستخدم لإصدار طلبات للخدمة.

// Create client objects
AdlsClient client = AdlsClient.CreateClient(_adlsg1AccountName, adlCreds);

إنشاء ملف ودليل

أضف القصاصة البرمجية التالية إلى التطبيق الخاص بك. تضيف هذه القصاصة البرمجية ملفا وأي دليل أصل غير موجود.

// 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);
}

إلحاق إلى ملف

تلحق القصاصة البرمجية التالية البيانات بملف موجود في حساب 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);
}

قراءة الملف

تقرأ القصاصة البرمجية التالية محتويات ملف في 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);
    }
}

الحصول على خصائص الملف

ترجع القصاصة البرمجية التالية الخصائص المقترنة بملف أو دليل.

// Get file properties
var directoryEntry = client.GetDirectoryEntry(fileName);
PrintDirectoryEntry(directoryEntry);

يتوفر تعريف PrintDirectoryEntry الأسلوب كجزء من العينة على GitHub.

إعادة تسمية ملف

تعيد القصاصة البرمجية التالية تسمية ملف موجود في حساب Data Lake Storage Gen1.

// Rename a file
string destFilePath = "/Test/testRenameDest3.txt";
client.Rename(fileName, destFilePath, true);

تعداد دليل

تعدد القصاصة البرمجية التالية الدلائل في حساب Data Lake Storage Gen1.

// Enumerate directory
foreach (var entry in client.EnumerateDirectory("/Test"))
{
    PrintDirectoryEntry(entry);
}

يتوفر تعريف PrintDirectoryEntry الأسلوب كجزء من العينة على GitHub.

حذف الدلائل بشكل متكرر

تحذف القصاصة البرمجية التالية دليلا وجميع دلائله الفرعية بشكل متكرر.

// Delete a directory and all its subdirectories and files
client.DeleteRecursive("/Test");

عينات

فيما يلي بعض العينات التي توضح كيفية استخدام Data Lake Storage Gen1 Filesystem SDK.

راجع أيضًا

الخطوات التالية