【问题标题】:How to get all files and folder from azure storage account folder , zip and upload to other blob storage in node js如何从 azure 存储帐户文件夹中获取所有文件和文件夹,压缩并上传到节点 js 中的其他 blob 存储
【发布时间】:2018-04-18 08:55:34
【问题描述】:

我有一个要求,假设在 azure blob 存储中 A ,我的文件夹结构如下

CNS -> master -> 123-456 -> cm -> cm 内部存在多个文件和文件夹。

我需要从 cm 文件夹中获取所有文件和文件夹,压缩并上传到 blob 存储 B。

谁能提供最好的解决方案,我如何仅使用 java 脚本来执行此操作。

提前致谢

【问题讨论】:

  • 请编辑您的问题并包括:1)它是用于文件存储还是 Blob 存储以及 2)到目前为止您尝试了什么?向我们展示您编写的一些代码以及您遇到的问题。最后,为什么要标记azure-functions
  • 这方面我没怎么尝试。我没有找到任何东西。我正在使用的 Azure 时间触发功能,这就是它被标记的原因。它是一个blob存储
  • 你必须尝试一下。让我通过打破您在以下任务中的要求来使这对您来说更容易一些:1)首先列出 blob。 2)您下载blob。 3) 压缩下载的文件和 4) 上传 zip 文件。我建议您使用 Node SDK for Azure 来执行 1、2 和 4。对于 3,您需要找到一个 Nod 包来为您压缩文件。 HTH。

标签: azure azure-storage azure-functions


【解决方案1】:

有关如何在 node.js 中创建每小时运行的计时器触发函数,请参阅此文档:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer

示例function.json文件内容:

{
  "bindings": [
    {
        "schedule": "0 0 * * * *",
        "name": "myTimer",
        "type": "timerTrigger",
        "direction": "in"
    }
  ],
  "disabled": false
}

关于如何在 JavaScript 中使用 blob 存储 API,请参阅以下文档:https://docs.microsoft.com/en-us/azure/storage/blobs/storage-nodejs-how-to-use-blob-storage

特别是,以下主题似乎与您要完成的任务相关:

至于如何进行文件压缩,这里有另一个StackOverflow帖子中的相关主题:Zip archives in node.js

【讨论】:

  • 但该方法似乎非常耗时,我正在寻找性能更好的方法,因为有多个文件和文件夹不仅需要压缩一次,而且需要针对不同的实例进行压缩。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 2022-11-30
  • 2021-11-19
  • 2021-04-30
  • 1970-01-01
  • 2015-05-08
  • 2020-12-16
相关资源
最近更新 更多