كيفية تحميل الملفات في 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 غيغابايت

الخطوات

  1. تنزيل azcopy باستخدام هذا الارتباط

  2. تشغيل هذا الأمر لتحميل الملف

    azcopy copy "<path_to_file>" "signed_url"
  1. استجابة العينة
    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 لمورد الطاقة.