عمليات نظام الملفات على 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، أدخل CreateADLApplication، ثم حدد إنشاء.

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

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

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

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

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

      أغلق مدير الحِزَم NuGet.

  5. افتح البرنامج.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.

راجع أيضًا

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