كيفية تحميل الملفات في Azure Data Manager for Energy باستخدام خدمة الملفات
في هذه المقالة، تعرف كيفية تحميل ملفات كبيرة (~5 غيغابايت) باستخدام واجهة برمجة تطبيقات خدمة الملفات في Microsoft Azure Data Manager for Energy. تتضمن عملية التحميل إحضار عنوان URL موقع من File API ثم استخدام عنوان URL الموقع لتخزين الملف في Azure Blob Storage
إنشاء عنوان URL موقع
قم بتشغيل الأمر curl أدناه في Azure Cloud Bash للحصول على عنوان URL موقع من خدمة الملفات لقسم بيانات معين لمورد Azure Data Manager for Energy.
curl --location 'https://<URI>/api/file/v2/files/uploadURL' \
--header 'data-partition-id: <data-partition-id>' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: text/plain'
نموذج الطلب
ضع في اعتبارك Azure Data Manager لمورد الطاقة المسمى "medstest" مع قسم بيانات يسمى "dp1"
curl --location --request POST 'https://medstest.energy.azure.com/api/file/v2/files/uploadURL' \
--header 'data-partition-id: medstest-dp1' \
--header 'Authorization: Bearer eyxxxxxxx.........................' \
--header 'Content-Type: text/plain'
استجابة العينة
{
"FileID": "2c5e7ac738a64eaeb7c0bc8bd47f90b6",
"Location": {
"SignedURL": "https://dummy.bloburl.com",
"FileSource": "/osdu-user/1686647303778-2023-06-13-09-08-23-778/2c5e7ac738a64eaeb7c0bc8bd47f90b6"
}
}
يمكن بعد ذلك استخدام مفتاح SignURL في كائن الاستجابة لتحميل الملفات إلى Azure Blob Storage
تحميل الملفات بحجم أقل من 5 غيغابايت
لتحميل أحجام الملفات الأقل من 5 غيغابايت، يمكن للمرء استخدام استدعاء PUT blob API مباشرة لتحميل ملفاتهم إلى Azure Blob Storage
نموذج طلب Curl
curl --location --request PUT '<SIGNED_URL>' \
--header 'x-ms-blob-type: BlockBlob' \
--header 'Content-Type: <file_type>' \ # for instance application/zip or application/csv or application/json depending on file type
--data '@/<path_to_file>'
إذا نجح التحميل، نحصل على رمز الحالة استجابة 201 Created
تحميل الملفات بحجم أكبر أو يساوي 5 غيغابايت
لتحميل الملفات ذات الأحجام >= 5 غيغابايت، سنحتاج إلى الأداة المساعدة azcopyحيث لا يمكن أن يكون استدعاء PUT blob واحد أكبر من ارتباط مستند 5 غيغابايت
الخطوات
تنزيل
azcopy
باستخدام هذا الارتباطتشغيل هذا الأمر لتحميل الملف
azcopy copy "<path_to_file>" "signed_url"
- استجابة العينة
INFO: Could not read destination length. If the destination is write-only, use --check-length=false on the command line.
100.0 %, 1 Done, 0 Failed, 0 Pending, 0 Skipped, 1 Total
Job 624c59e8-9d5c-894a-582f-ef9d3fb3091d summary
Elapsed Time (Minutes): 0.1002
Number of File Transfers: 1
Number of Folder Property Transfers: 0
Number of Symlink Transfers: 0
Total Number of Transfers: 1
Number of File Transfers Completed: 1
Number of Folder Transfers Completed: 0
Number of File Transfers Failed: 0
Number of Folder Transfers Failed: 0
Number of File Transfers Skipped: 0
Number of Folder Transfers Skipped: 0
TotalBytesTransferred: 1367301
Final Job Status: Completed
الخطوات التالية
ابدأ رحلتك عن طريق استيعاب البيانات في Azure Data Manager لمورد الطاقة.