我花了一天時間試圖從模板存儲帳戶部署一些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)有影響希望有道理,並再次感謝您的幫助:) –