Dosya hizmetini kullanarak Enerji için Azure Data Manager'da dosyaları karşıya yükleme
Bu makalede, Microsoft Azure Data Manager for Energy'de Dosya hizmeti API'sini kullanarak büyük dosyaları (~5 GB) karşıya yüklemeyi biliyorsunuz. Karşıya yükleme işlemi, Dosya API'sinden imzalı bir URL'yi getirmeyi ve ardından imzalı URL'yi kullanarak dosyayı Azure Blob Depolama
İmzalı URL oluşturma
Azure Cloud Bash'te aşağıdaki curl komutunu çalıştırarak Enerji için Azure Data Manager kaynağınızın belirli bir veri bölümü için dosya hizmetinden imzalı bir URL alın.
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'
Örnek isteği
"dp1" adlı bir veri bölümüyle "medstest" adlı bir Enerji için Azure Data Manager kaynağını düşünün
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'
Örnek yanıt
{
"FileID": "2c5e7ac738a64eaeb7c0bc8bd47f90b6",
"Location": {
"SignedURL": "https://dummy.bloburl.com",
"FileSource": "/osdu-user/1686647303778-2023-06-13-09-08-23-778/2c5e7ac738a64eaeb7c0bc8bd47f90b6"
}
}
Yanıt nesnesindeki SignedURL anahtarı daha sonra dosyaları Azure Blob Depolama yüklemek için kullanılabilir. Dosya hizmeti ve Veri Kümesi hizmeti için SignedURL hizmetinin bitiş süresi, OSDU'nun güvenlik geliştirmelerine göre 1 saattir.
Boyutu 5 GB'tan küçük dosyaları karşıya yükleme
5 GB'tan küçük dosya boyutlarını karşıya yüklemek için put blob API çağrısını kullanarak dosyalarını doğrudan Azure Blob Depolama
Örnek Curl İsteği
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>'
Karşıya yükleme başarılı olursa yanıt olarak bir 201 Created
durum kodu alacağız
Boyutu 5 GB'a eşit veya daha büyük olan dosyaları karşıya yükleme
Boyutları >= 5 GB olan dosyaları karşıya yüklemek için azcopyyardımcı programı gerekir çünkü tek bir PUT blob çağrısı 5 GB'tan büyük belge bağlantısı olamaz
Adımlar
Dosyanızı karşıya yüklemek için bu komutu çalıştırın
azcopy copy "<path_to_file>" "signed_url"
- Örnek yanıt
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
Sonraki adımlar
Enerji için Azure Data Manager kaynağınıza veri alarak yolculuğunuza başlayın.