错误

将 Az.Storage 6.0.0 PowerShell 模块与 Cloud Builder 11.2 及更低版本生成的项目配合使用时,将返回错误:“无法下载部署内容”

Last Published: August 5, 2025

错误消息

将 Microsoft Az.Storage 6.0.0 或更高版本的 PowerShell 与 ArcGIS Enterprise for Microsoft Azure Cloud Builder 11.2 或更低版本生成的自动化项目配合使用以在 Microsoft Azure 上启动 ArcGIS 部署时,会返回以下错误消息:

New-AzResourceGroupDeployment : <TimeStamp> - Error: Code=MultipleErrorsOccurred; 
Message=Multiple error occurred: BadRequest,BadRequest. Please see details.
New-AzResourceGroupDeployment : <TimeStamp> - Error: Code=InvalidContentLink; 
Message=Unable to download deployment content from '<SASURL>***Sanitized Azure Storage Account Shared Access Signature***'. The tracking Id is '<Tracking-Id>'. Please see https://aka.ms/arm-deploy-resources for usage details.

原因

自 6.0.0 版本起,New-AzStorageContainerSASToken​ cmdlet 中的一项更改移除了 SAS 令牌中的前导问号 (?)。 较早版本 Cloud Builder 生成的自动化项目未考虑此更改。

解决方案或解决方法

在部署之前,请编辑 Deploy-AzureResourceGroup.ps1 或 Upgrade-AzureResourceGroup.ps1 自动化项目。 将示例 1 中显示的现有 $OptionalParameters 行替换为示例 2 中显示的文本,然后保存项目文件。

示例 1

$OptionalParameters[$ArtifactsLocationSasTokenName] = ConvertTo-SecureString -AsPlainText -Force `
            (New-AzStorageContainerSASToken -Container $StorageContainerName -Context $StorageAccount.Context -Permission r -ExpiryTime (Get-Date).AddHours(4))

示例 2

$SASToken = (New-AzStorageContainerSASToken -Container $StorageContainerName -Context $StorageAccount.Context -Permission r -ExpiryTime (Get-Date).AddHours(4))
if(-not($SASToken.StartsWith('?'))){
    $SASToken = '?' + $SASToken
}

$OptionalParameters[$ArtifactsLocationSasTokenName] = ConvertTo-SecureString $SASToken -AsPlainText -Force

文章 ID: 000032660

获得人工智能支持

使用 Esri Support AI Chatbot 快速解决您的问题。

立即开始聊天

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

立即开始聊天

转至下载选项