[英]Azure Storage copy an image from blob to blob
我正在使用Azure Storage Nodejs
,我需要做的是將圖像從一個 blob 復制到另一個 blob。
首先,我嘗試getBlobToFile
以獲取磁盤中臨時位置上的圖像,然后從該臨時位置createBlockBlobFromFile
。 該方法完成了任務,但由於某種原因,它在 10% 的情況下沒有完全復制。
我試圖使用getBlobToText
並將結果放入createBlockBlobFromText
,還嘗試將需要 blob 的選項作為圖像容器。 該方法完全失敗,復制后甚至無法打開圖像。
也許有一種方法可以復制 blob 文件並將其粘貼到其他 blobl 中,但我沒有找到該方法。 我還可以做些什么?
我不確定您的特定復制錯誤是什么,但是...使用getLocalBlobToFile()
,您實際上是將 blob 內容從 blob 存儲物理移動到您的 VM(或本地計算機),然后使用createBlockBlobFromLocalFile()
您將整個內容重新推送回 blob 存儲,這會導致兩次物理網絡移動。
Azure 存儲系統支持將 blob 復制作為第一類操作。 雖然它可以通過 REST API 調用獲得,但它也包含在您使用的相同 SDK 中,在BlobService.startCopyBlob()
方法中(源代碼在此)。 這將指示存儲啟動異步復制操作,完全在存儲系統內(意味着您這邊沒有下載+上傳)。 您將能夠設置源和目標、設置超時等(所有參數都完整記錄在源代碼中)。
盡管方法正確,但已接受答案中的鏈接已斷開:此處記錄了方法startCopyBlob
(更新:2020 年 1 月 3 日) https://docs.microsoft.com/en-us/javascript/api/azure-storage/BlobService?view=azure-node-latest#azure_storage_BlobService_createBlockBlobFromLocalFile
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.