我花了一天时间试图从模板存储帐户部署一些VM在Azure上。SAS令牌密钥不产生
我用Set-AzureRmCurrentStorageAccount
设置存储帐户,然后一个变量分配给$token = New-AzureStorageContainerSASToken
我得到的错误信息:
AuthenticationFailed
服务器无法 验证请求。确保授权标头 的值正确形成,包括签名。 请求ID:3408956-0001-00ea-4cd1-2135c2000000 时间:2017-08-12T21:27:54.6479108Z 签名不匹配。串签 用于为r 2017-08-12T22:26:51Z/BLOB/homeworktest/BLOB 2016年5月31日
PowerShell的错误消息是
Message=Unable to download deployment
content from 'https://storageaccountname.blob.core.windows.net/blob/azuredeploy.json'
当我拿到变量来自$ token,它显示了我随后通过显示上面消息的浏览器访问json文件的URI。
我正在使用的整个代码如下
Set-AzureRmContext -SubscriptionId "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx"
Set-AzureRmCurrentStorageAccount -ResourceGroupName "ResGp" -Name "Storageaccount"
$token2 = New-AzureStorageContainerSASToken -Name "json" -Permission r -ExpiryTime (Get-Date).AddMinutes(60.0)
New-AzureRmResourceGroupDeployment -name Demo -ResourceGroupName ResGp `
-TemplateFile "https://storageaccountname.blob.core.windows.net/blob/azuredeploy.json" `
-TemplateParameterFile "https://storageaccountname.blob.core.windows.net/blob/azuredeploy.parameters.json" -verbose
我不能看到我做错了什么,或者我的整个做法有缺陷?
任何帮助\指导,将不胜感激提前:)
嗨,感谢您的帮助,这工作的一种享受。如果可能的话,还有一个快速问题,生成此SAS令牌可以在“到期时间”字段中指定的时间内提供对容器的访问权限。这是否意味着当三个或四个人工授精使用相同的代码时,生成的SAS令牌在整个持续时间内仍然有效,直到到期时间?此外,这对SAS密钥(Key1和Key2)有影响希望有道理,并再次感谢您的帮助:) –