创建SAS令牌是目标,并且需要将所需存储设置为当前存储:
运行以下命令
Set-AzureRmCurrentStorageAccount -ResourceGroupName $StorResourceGroupName -Name $StorageAccountName
抛出错误:
Set-AzureRmCurrentStorageAccount:The Resource' Microsoft.Storage/storageAccounts/yoursites'在资源组' Default-Storage-EastUS'没找到。 在行:1个字符:1 + Set-AzureRmCurrentStorageAccount -ResourceGroupName $ StorResourceGroupName -Name ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:CloseError:(:) [Set-AzureRmCurrentStorageAccount],CloudException + FullyQualifiedErrorId:Microsoft.Azure.Commands.Management.Storage.SetAzureRmCurrentStorageAccount
这就是错误 New-AzureStorageBlobSASToken -Container $ StorageContainer -Blob $ blobname -Permission r -ExpiryTime(Get-Date).AddHours(2.0)-FullUri
如何绕过这个问题?
答案 0 :(得分:2)
我可以想到你可能会收到此错误的两个原因:
Classic
存储帐户(我猜的是资源组的名称)。请查看其中一个是否确实如此。
答案 1 :(得分:0)
我能够应用的简单替代方法是创建存储上下文并另外传递上下文参数。
示例: -
#Set Active Storage to Template Storage Context
$StorageKey = Get-AzureStorageKey -StorageAccountName $StorageAccountName;
$StorageContext = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageKey.Primary;
$now = Get-Date
#Create SAS token with temporary access
New-AzureStorageBlobSASToken -Container $servicetemplateStorageContainer -Blob $blobname -Context $StorageContext -Permission r -ExpiryTime (Get-Date).AddHours(2.0) -FullUri
希望这有助于为类似情景中的某人提供直接参考。