You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure Blob文件上传至存储账户容器的嵌套文件夹?

解决Azure Blob上传至嵌套目录的问题

你的核心问题是误解了Azure Blob存储的容器与路径关系:容器名不能包含/分隔符,嵌套目录结构是通过Blob的名称(即文件路径)来实现的,而非修改容器名。

解决方案步骤:

  • 保持容器名正确为testblobupload,不要在容器名里添加TransactionalData/BACKTRACK这类路径
  • 在创建BlobClient时,把完整的嵌套路径拼接进Blob名称中

修改后的关键代码:

// 保持容器名不变,仍为testblobupload
var containerNameToUploadTheFile = applyConfirmPriceConfig.AzureBlobStorageContainerNameConfig;

// ... 其他代码不变 ...

fileName = $"{DateTime.UtcNow:yyyyMMddHHMM}_{sbmessage.Subject}_{sbmessage.MessageId}";
var memorystream = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(eventObject)));

// 拼接完整的嵌套路径到Blob名称中
BlobClient blobClient = containerClient.GetBlobClient($"TransactionalData/BACKTRACK/{DateTime.UtcNow:yyyyMMdd}/{fileName}");
await blobClient.UploadAsync(memorystream, options);

原理说明:

Azure Blob存储没有真实的文件夹结构,所谓的"嵌套目录"只是通过Blob名称中的/字符来模拟的。当你上传Blob时,只要名称包含/,Azure存储就会自动显示为目录结构,无需提前创建这些"目录"——上传Blob时会自动生成对应的层级结构。

内容的提问来源于stack exchange,提问作者Abhishek_Singh_Rana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 06:15:39