عمليات نظام الملفات على 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.

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

كيف أعمل المصادقة باستخدام Microsoft Entra ID؟

يمكنك استخدام نهجين للمصادقة باستخدام Microsoft Entra ID.

إنشاء مجلدات

تستند هذه العملية إلى استدعاء 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}

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

راجع أيضًا