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

使用New-AzureStorageContext时如何设置自定义路径实现Blob指定目录上传

解决方法

New-AzureStorageContext 是用于创建存储账号级别的身份上下文对象,本身没有可以直接指定容器内子路径的参数,你需要手动将目标路径拼接在生成的容器SAS URI后面即可实现指定目录上传。

具体修改步骤:

  1. 生成容器级SAS URI的逻辑保持不变,之后直接把你需要的目标路径(test/demo,注意Blob路径用正斜杠而非反斜杠)拼接在SAS URI的末尾即可
  2. 注意拼接格式:需要先把容器基础地址和SAS令牌拆分,在两者之间插入目标路径再重新拼接

代码示例:

# Set AzStorageContext
$destinationContext = New-AzureStorageContext -ConnectionString "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxx;EndpointSuffix=xxx;"

# Generate container SAS URI
$containerSASURI = New-AzureStorageContainerSASToken -Context $destinationContext -ExpiryTime (get-date).AddSeconds(3600) -FullUri -Name "xxx" -Permission rw -Protocol HttpsOnly

# 拆分SAS URI为容器基础地址和SAS令牌部分,拼接目标路径
$uriParts = $containerSASURI -split "\?", 2
$targetSASURI = "$($uriParts[0])/test/demo?$($uriParts[1])"

对应AzCopy命令:

直接使用拼接后的URI作为目标地址即可,文件会自动上传到test/demo目录下:

azcopy copy "本地文件路径" $targetSASURI

如果目标路径在容器中不存在,AzCopy会自动创建该层级目录,无需提前手动创建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:54:03