首页 > 解决方案 > 如何在 azure 存储帐户中创建子文件夹并使用 azure function App 复制文件

问题描述

我的存储帐户中有两个文件夹源文件夹和目标文件夹我想在我的源文件夹中添加演示文件夹,我想将我的源文件夹文件复制到演示文件夹并在复制到存档文件夹后删除我的所有源文件夹文件

  1. 如何在另一个文件夹中创建一个文件夹
  2. 如何将文件从一个文件夹复制到另一个文件夹

如何添加我以这种方式传递的文件夹:

 var directory2 = container.GetDirectoryReference("csvfile / Source Folder / Archieve Folder");
        CloudBlockBlob blockBlob2 = directory2.GetBlockBlobReference("empchange1.csv");
  1. 容器名称-csv 文件
  2. 文件夹源
  3. 子文件夹-归档

标签: azureazure-functionsazure-function-appazure-functions-runtimeazure-function-async

解决方案


Azure Blob 存储中没有(物理)文件夹之类的东西。只有虚拟文件夹的概念。通过/在名称中使用 a,您将创建一个虚拟文件夹。例如,一个名为的 blobvirtualfolder/myblob.ext被放置在一个名为 的虚拟文件夹中virtualfolder

如果要创建虚拟子文件夹,只需将名称放在 blob 中并使用“/”作为分隔符,如下所示:

virtualfolder/subfolder/myblob.ext

如果您查看cloudblobdirectory 的文档,也会提到虚拟文件夹的概念

表示 Blob 的虚拟目录,由分隔符指定。

也就是说,将 blob 移动到不同的文件夹因此与将 blob 重命名为otherfolder/myblob.ext. 不幸的是,没有允许您重命名 blob 的 API。解决方案是下载 blob 内容并使用不同的名称上传。


推荐阅读