عمليات نظام الملفات على 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. راجع الحصول على الإصدار التجريبي المجاني من Azure .
Azure Data Lake Storage حساب Gen1. اتبع الإرشادات في بدء Azure Data Lake Storage Gen1 باستخدام مدخل Microsoft Azure.
cURL. تستخدم هذه المقالة cURL لتوضيح كيفية إجراء استدعاءات واجهة برمجة تطبيقات REST ضد حساب Data Lake Storage Gen1.
كيف أعمل المصادقة باستخدام Azure Active Directory؟
يمكنك استخدام نهجين للمصادقة باستخدام Azure Active Directory.
- للحصول على مصادقة المستخدم النهائي لتطبيقك (التفاعلي)، راجع مصادقة المستخدم النهائي باستخدام Data Lake Storage Gen1 باستخدام .NET SDK.
- للحصول على مصادقة من خدمة إلى خدمة للتطبيق الخاص بك (غير تفاعلي)، راجع مصادقة الخدمة إلى الخدمة باستخدام Data Lake Storage Gen1 باستخدام .NET SDK.
إنشاء مجلدات
تستند هذه العملية إلى استدعاء واجهة برمجة تطبيقات 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}