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