【问题标题】:az deployment does not work with SAS tokens for template-uriaz deployment 不适用于 template-uri 的 SAS 令牌
【发布时间】:2018-11-16 11:38:46
【问题描述】:

我在 Windows 上的 powershell 中使用当前的 Azure CLI (2.0.50)。 我尝试使用存储在 azure blob 存储中的模板 uri 部署 ARM 模板。模板文件的这个 uri 包含一个 SAS 令牌...

如果我将带有 SAS 令牌的 uri 传递给 az group deployment create,则会出现以下错误: HTTP Error 404: The specified resource does not exist. Der Befehl "sp" ist entweder falsch geschrieben oder konnte nicht gefunden werden. Der Befehl "sv" ist entweder falsch geschrieben oder konnte nicht gefunden werden. Der Befehl "sr" ist entweder falsch geschrieben oder konnte nicht gefunden werden. Der Befehl "sig" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

模板 uri 如下所示: https://blobname.blob.core.windows.net/templates/resgroup/root.json?se=2018-11-16T11%3A58Z&sp=r&sv=2018-03-28&sr=c&sig=signature

看来参数分隔符(&)被当成特殊字符了……

如何将 SAS 令牌作为模板 uri 传递?

【问题讨论】:

  • 我认为它不允许根模板受到 sas 令牌的保护,对此不确定

标签: windows azure-resource-manager azure-cli azure-deployment


【解决方案1】:

将 --template-uri 参数的值放在单引号中。将该字符串中的每个与号放在双引号内。

--template-uri 'https://blobname.blob.core.windows.net/templates/resgroup/root.json?se=2018-11-16T11%3A58Z"&"sp=r"&"sv=2018-03-28"&"sr=c"&"sig=signature'

意味着您需要在调用 CLI 之前进行一些字符串处理。

使用 Azure cmdlet 也可以。无论如何,我很好奇您在 PS 中使用 CLI 的场景。

【讨论】:

  • 推荐的 az CLI 使用方法是什么?
  • CLI 是 Azure 的独立命令集 - 例如在 Windows 上,您可以运行 cmd.exe、powershell.exe 或任何其他 shell。在 Linux 上也是如此,您几乎可以在任何命令 shell 中运行它……这有帮助吗?
  • 嗯...我经常想重用 az 命令的结果...这在 cmd 中不是很容易... powershell 更好...或者推荐的方法是什么?
  • 我认为这是个人喜好 - 在 CLI 中重用输出,标准做法是输出 json 并操作该 json。 PowerShell“本机”使用对象,因此如果您不熟悉这些任务,IMO 会变得更简单。混合和匹配 PowerShell 和 CLI 可能更难,因为您必须在代码(和头部)中进行上下文切换。
【解决方案2】:

我可以重现您的问题,似乎& 是本地 windows powershell 中的敏感字符,您可以尝试使用azure cloud shell 部署它,请参阅文档并在 Azure Cloud Shell 中使用Bash,它在我这边工作得很好。

我的命令:

az group deployment create --resource-group 'joywebapp' --template-uri 'https://xxxxxx.blob.core.windows.net/templates/azuredeploy.json?sp=r&st=2018-11-19T01:36:04Z&se=2018-11-19T09:36:04Z&spr=https&sv=2017-11-09&sig=xxxxx&sr=b'

【讨论】:

    猜你喜欢
    • 2020-04-10
    • 1970-01-01
    • 2021-10-02
    • 2016-07-24
    • 2020-11-05
    • 1970-01-01
    • 2015-11-03
    • 2014-10-18
    • 1970-01-01
    相关资源
    最近更新 更多