عمليات نظام الملفات على Azure Data Lake Storage Gen1 باستخدام واجهة برمجة تطبيقات REST

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

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

كيف أعمل المصادقة باستخدام Azure Active Directory؟

يمكنك استخدام نهجين للمصادقة باستخدام Azure Active Directory.

إنشاء مجلدات

تستند هذه العملية إلى استدعاء واجهة برمجة تطبيقات WebHDFS REST المحدد هنا.

استخدم الأمر cURL التالي. استبدل <اسم متجرك باسم> حسابك Data Lake Storage Gen1.

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

في الأمر السابق، استبدل <REDACTED> الرمز المميز للتخويل الذي قمت باسترداده سابقا. ينشئ هذا الأمر دليلا يسمى mytempdir ضمن المجلد الجذر لحساب Data Lake Storage Gen1 الخاص بك.

إذا اكتملت العملية بنجاح، من المفترض أن ترى استجابة مثل المقتطف التالي:

{"boolean":true}

قائمة المجلدات

تستند هذه العملية إلى استدعاء واجهة برمجة تطبيقات WebHDFS REST المحدد هنا.

استخدم الأمر cURL التالي. استبدل <اسم متجرك باسم> حسابك Data Lake Storage Gen1.

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

في الأمر السابق، استبدل <REDACTED> الرمز المميز للتخويل الذي قمت باسترداده سابقا.

إذا اكتملت العملية بنجاح، من المفترض أن ترى استجابة مثل المقتطف التالي:

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

تحميل البيانات

تستند هذه العملية إلى استدعاء واجهة برمجة تطبيقات WebHDFS REST المحدد هنا.

استخدم الأمر cURL التالي. استبدل <اسم متجرك باسم> حسابك Data Lake Storage Gen1.

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'

في المعلمة السابقة لبناء الجملة -T هو موقع الملف الذي تقوم بتحميله.

يشبه الإخراج المقتطف التالي:

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

قراءة البيانات

تستند هذه العملية إلى استدعاء واجهة برمجة تطبيقات WebHDFS REST المحدد هنا.

قراءة البيانات من حساب Data Lake Storage Gen1 هي عملية من خطوتين.

  • يمكنك أولا إرسال طلب GET مقابل نقطة https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPENالنهاية . ترجع هذه المكالمة موقعا لإرسال طلب GET التالي إليه.
  • ثم ترسل طلب GET مقابل نقطة https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=trueالنهاية . تعرض هذه المكالمة محتويات الملف.

ومع ذلك، نظرا لعدم وجود فرق في معلمات الإدخال بين الخطوتين الأولى والثانية، يمكنك استخدام المعلمة -L لإرسال الطلب الأول. -L الخيار يجمع بشكل أساسي بين طلبين في طلب واحد ويجعل cURL يعيد الطلب على الموقع الجديد. أخيرا ، يتم عرض الإخراج من جميع مكالمات الطلب ، كما هو موضح في المقتطف التالي. استبدل <اسم متجرك باسم> حسابك Data Lake Storage Gen1.

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

يجب أن يظهر لك ناتج مشابه للقصاصة البرمجية التالية:

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!

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

تستند هذه العملية إلى استدعاء واجهة برمجة تطبيقات WebHDFS REST المحدد هنا.

استخدم الأمر cURL التالي لإعادة تسمية ملف. استبدل <اسم متجرك باسم> حسابك Data Lake Storage Gen1.

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

يجب أن يظهر لك ناتج مشابه للقصاصة البرمجية التالية:

HTTP/1.1 200 OK
...

{"boolean":true}

حذف ملف

تستند هذه العملية إلى استدعاء واجهة برمجة تطبيقات WebHDFS REST المحدد هنا.

استخدم الأمر cURL التالي لحذف ملف. استبدل <اسم متجرك باسم> حسابك Data Lake Storage Gen1.

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

من المفترض أن ترى مخرجا مثل ما يلي:

HTTP/1.1 200 OK
...

{"boolean":true}

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

راجع أيضًا