Azure存储将图像从blob复制到blob

时间:2015-08-24 19:40:47

标签: node.js azure azure-storage azure-storage-blobs

我正在使用Azure Storage Nodejs,我需要做的是将图像从一个blob复制到另一个blob 首先,我尝试getBlobToFile将图像放在磁盘中的临时位置,然后从该临时位置获取createBlockBlobFromFile。这种方法完成了任务,但出于某种原因,在10%的情况下它并没有完全复制 我试图使用getBlobToText并将其结果放入createBlockBlobFromText,同时尝试将需要blob的选项放入图像容器中。该方法完全失败,复制后图像甚至没有打开 也许有一种方法可以复制blob文件并将其粘贴到其他blobl中,但我没有找到该方法。 我还能做什么?

2 个答案:

答案 0 :(得分:3)

我不确定你的特定拷贝错误是什么,但是......对于getLocalBlobToFile(),你实际上是将blob内容从blob存储移动到你的VM(或本地机器),然后用createBlockBlobFromLocalFile()您将整个内容推回到blob存储,这导致两次物理网络移动。

Azure存储系统支持blob-copy作为第一类操作。虽然它可以通过REST API调用获得,但它也包含在您使用的相同SDK中,方法BlobService.startCopyBlob()(源代码here)。这将指示存储完全在存储系统内启动异步复制操作(意味着无需下载+上传)。您将能够设置源和目标,设置超时等。(所有参数都在源代码中完整记录)。

答案 1 :(得分:0)

虽然方法是正确的,但已接受答案中的链接已被破坏:方法startCopyBlob在此处记录https://docs.microsoft.com/en-us/javascript/api/azure-storage/BlobService?view=azure-node-latest#azure_storage_BlobService_createBlockBlobFromLocalFile

相关问题