【问题标题】:Azure Storage copy an image from blob to blobAzure 存储将图像从 blob 复制到 blob
【发布时间】:2020-01-03 21:59:58
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    我不确定您的特定复制错误是什么,但是...使用getLocalBlobToFile(),您实际上是在将 blob 内容从 blob 存储物理移动到您的 VM(或本地计算机),然后使用 @987654324 @您将整个内容推回 blob 存储,这会导致两次物理网络移动。

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

    【讨论】:

    • 太棒了,没注意到。谢谢
    • 有什么好办法获取sourceUri吗? getBlobProperties 没有该信息。
    • @tim - 感谢您发布该链接,尽管这是 REST API 的专门文档(4 年前我没有将其包含在我的原始答案中)。由于源代码链接已过时,我只是将其更新为指向最新的 SDK 源(它仍然完整地记录了方法调用所需的所有参数)。
    【解决方案2】:
    猜你喜欢
    • 2021-04-24
    • 2016-02-12
    • 2020-08-18
    • 2021-01-16
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 2021-07-29
    相关资源
    最近更新 更多