Cara mengunggah file di Azure Data Manager for Energy menggunakan layanan File
Dalam artikel ini, Anda tahu cara mengunggah file besar (~5GB) menggunakan API layanan File di Microsoft Azure Data Manager for Energy. Proses pengunggahan melibatkan pengambilan URL yang ditandatangani dari File API lalu menggunakan URL yang ditandatangani untuk menyimpan file ke Azure Blob Storage
Membuat URL yang ditandatangani
Jalankan perintah curl di bawah ini di Azure Cloud Bash untuk mendapatkan URL yang ditandatangani dari layanan file untuk partisi data tertentu dari sumber daya Azure Data Manager for Energy Anda.
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'
Permintaan sampel
Pertimbangkan Azure Data Manager untuk sumber daya Energi bernama "medstest" dengan partisi data bernama "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'
Respon sampel
{
"FileID": "2c5e7ac738a64eaeb7c0bc8bd47f90b6",
"Location": {
"SignedURL": "https://dummy.bloburl.com",
"FileSource": "/osdu-user/1686647303778-2023-06-13-09-08-23-778/2c5e7ac738a64eaeb7c0bc8bd47f90b6"
}
}
Kunci SignedURL dalam objek respons kemudian dapat digunakan untuk mengunggah file ke Azure Blob Storage
Unggah file dengan ukuran kurang dari 5 GB
Untuk mengunggah ukuran file kurang dari 5 GB, seseorang dapat langsung menggunakan panggilan API blob PUT untuk mengunggah file mereka ke Azure Blob Storage
Sampel Permintaan 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>'
Jika unggahan berhasil, kami mendapatkan kode status sebagai 201 Created
respons
Unggah file dengan ukuran lebih besar atau sama dengan 5 GB
Untuk mengunggah file dengan ukuran >= 5 GB, kita memerlukan utilitas azcopykarena satu panggilan blob PUT tidak boleh lebih besar dari tautan dokumen 5 GB
Langkah-langkah
azcopy copy "<path_to_file>" "signed_url"
- Respon sampel
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
Langkah berikutnya
Mulai perjalanan Anda dengan menyerap data ke sumber daya Azure Data Manager for Energy Anda.