我正在生成SAS令牌以访问我的ARM部署中的链接模板。我将SAS令牌作为参数替代传递给az部署命令。原来我的模板部署失败,并显示错误“无法从'https://myLinkedTemplateURL?SASToken']下载部署内容”
首先,我获取存储在密钥库中的storageAccountKey:
$storeKey = az keyvault secret show --name "myStorageSecretName" --vault-name "myKeyVaultName" --query value $storeKey = $storeKey.Replace('"','')
然后,这是我生成SAS令牌的两种方法:
通过此方法生成的SAS令牌成功部署
$ context = New-AzureStorageContext -StorageAccountName'myStorageAccountName'-StorageAccountKey $ storeKey$ tokenval = New-AzureStorageContainerSASToken-容器构建-Permission rwdl -Context $ context
此方法生成的SAS令牌使部署失败
$ tokenval = az存储容器generate-sas --account-key $ storeKey --account-name“ myStorageAccountName” --name“ testcontainer” --permissions acdlrw --expiry(Get-Date).AddMinutes(30)。 ToString(“ yyyy-MM-dTH:mZ”)
此外,我观察到第二种方法生成的SASToken的长度比第一种方法短。
有人可以帮助阐明上述两种方法之间的区别以及为什么一种方法失败而另一种方法成功吗?
我正在生成SAS令牌以访问我的ARM部署中的链接模板。我将SAS令牌作为参数替代传递给az部署命令。原来我的模板...
$tokenval = az storage container generate-sas --account-key $storeKey --account-name "myStorageAccountName" --name "testcontainer" --permissions acdlrw --expiry (Get-Date).AddMinutes(30).ToString("yyyy-MM-dTH:mZ")