在azure文件共享中创建目录结构

时间:2017-03-13 07:18:24

标签: azure azure-storage azure-files

我正在尝试在azure文件共享中创建文件夹结构。我是从一个网络应用程序这样做的。我的代码如下所示:

CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(StorageConnectionString);

CloudFileClient cloudFileClient = cloudStorageAccount.CreateCloudFileClient();

//Get a reference for the share
CloudFileShare cloudFileShare = cloudFileClient.GetShareReference(VideosDirectoryName);  

// Get a reference to the root directory for the share.
CloudFileDirectory rootDir = cloudFileShare.GetRootDirectoryReference();

// Try to get a reference for the new folder
CloudFileDirectory sampleDir = rootDir.GetDirectoryReference(storagePath);

//create the directory structure
sampleDir.CreateAsync();
  

storagePath看起来像:2017 \ 03 \ 13 \ d68dd25587624b8691a05834466cfc11

当我运行此代码时,没有任何反应。抛出没有异常但没有创建文件夹。我做错了什么?

编辑:同时,我发现this answer表示我需要逐级创建。我会尝试的。

1 个答案:

答案 0 :(得分:1)

如果您在通过Azure存储SDK创建多级目录结构时使用fiddler捕获请求,您会发现它发送了这样的请求。

  

PUT https:// {storageaccount} .file.core.windows.net / {sharename} / 2017%5C03%5C13%5C0945682c-2214-49a5-93ba-10ac105532ea?restype = directory

,您会发现状态为 404

enter image description here

根据this documentation,我们可以发现在创建mydirectory之前,父目录必须已存在于共享中。