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

如何使用PowerShell在存储账户中从变量内容直接创建Blob?

基于内存变量直接创建Azure Blob的方法

你不需要先将$fileContents写入本地临时文件再上传,直接使用Azure PowerShell Az 模块的 Set-AzStorageBlobContent cmdlet 的 -Content 参数,即可直接把内存中的内容写入Blob存储。

操作步骤及完整代码

  1. 首先确保你已经安装了Az.Storage模块,若未安装可执行以下命令安装:
Install-Module -Name Az.Storage -Scope CurrentUser -Force
  1. 完整执行代码示例:
# 你已定义的内容变量
$fileContents= @"
{
'my data':'lots of stuff'
}
"@

# 登录Azure账号,若已登录可跳过该步骤
Connect-AzAccount

# 切换到存储账户所在的订阅,若只有一个订阅可跳过
Set-AzContext -Subscription "替换为实际的订阅ID或订阅名称"

# 获取存储账户上下文,两种常用方式选择其一即可
# 方式1:使用存储账户密钥验证
$context = New-AzStorageContext -StorageAccountName "替换为你的存储账户名称" -StorageAccountKey "替换为你的存储账户访问密钥"
# 方式2:使用当前登录的Azure AD账号验证(更安全,要求账号有容器的Blob写入权限)
# $context = New-AzStorageContext -StorageAccountName "替换为你的存储账户名称" -UseConnectedAccount

# 直接基于内存内容创建Blob
Set-AzStorageBlobContent -Container "替换为目标容器名称" `
                         -Blob "自定义Blob名称,例如test.json" `
                         -Content $fileContents `
                         -Context $context `
                         -Properties @{ContentType = "application/json"} `
                         -Encoding UTF8

参数说明

  • -Blob:你要创建的Blob的完整名称,支持包含路径前缀,例如folder1/data.json
  • ContentType:可以根据你的内容类型调整,比如纯文本填text/plain,此处示例是JSON内容所以设置为application/json,不指定的话默认会设为通用的application/octet-stream
  • -Encoding UTF8:如果内容包含中文、特殊符号等非ASCII字符,添加该参数可避免出现乱码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:36:05