在 azure blob 子容器中从本地上传 zip

Posted

技术标签:

【中文标题】在 azure blob 子容器中从本地上传 zip【英文标题】:Upload zip from local in azure blob subcontainer 【发布时间】:2021-07-16 06:15:20 【问题描述】:

我正在使用带有 node js 的 azure 函数来创建一个 zip 文件(abc.zip),其中包含函数应用程序临时文件夹中的一些文件,下一步我需要将 zip 文件上传到天蓝色 blob 存储。问题是 blob 存储路径必须类似于“/xyz/pqr/ghk”。如何做到这一点?

【问题讨论】:

只需将文件夹路径添加到 blob 名称。例如,如果要在xyz/pqr 文件夹中上传abc.zip,只需将blob 的名称更改为xyz/pqr/abc.zip 在 azure blob 存储中,文件夹结构是虚拟的,因此您可以根据需要提供路径。例如 /xyz/pqr/ghk/test.zip => 将在文件夹内创建文件夹,然后添加 test.zip 【参考方案1】:

正如@GauravMantri 所说,试试这个:

const 
    BlobServiceClient
   = require("@azure/storage-blob");

  const connectionString = ''
  const container = ''
  const destBlobName = 'test.zip'
  const blob = 'xyz/pqr/ghk/' + destBlobName

  const zipFilePath = "<some function temp path>/<filename>.zip"

  const blobClient = BlobServiceClient.fromConnectionString(connectionString).getContainerClient(container).getBlockBlobClient(blob)
  blobClient.uploadFile(zipFilePath)

结果:

如果您还有其他问题,请告诉我:)

【讨论】:

感谢@StanleyGong 的代码 sn-ps...它帮助..

以上是关于在 azure blob 子容器中从本地上传 zip的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Azure 的子容器中获取 Blob 列表

Azure:使用容器创建存储帐户并在 Python 中将 blob 上传到其中

azure blob 存储“找不到有效的帐户信息组合”

如何在不将文件保存在本地存储上的情况下将对象传输到 Azure Blob 存储?

将存档上传到容器 blob Azure 中的特定文件夹

azure 会为容器中上传的所有 blob 计算 md5 校验和吗?