使用Azure powershell在容器上列出现有SASTokens

时间:2015-12-22 08:14:27

标签: powershell azure azure-storage azure-powershell azure-blob-storage

通过powershell创建SASToken时,它会从New-AzureStorageContainerSASToken comdlet重新创建创建的SAS令牌URL。

$Context = New-AzureStorageContext -StorageAccountName $StorageAccount -StorageAccountKey $StorageAccountKey                                                        
$now = Get-Date

$sasUrl = New-AzureStorageContainerSASToken -Name mycontainer -Permission rwdl -StartTime $now.AddHours(-1) -ExpiryTime $now.AddMonths(1) -Context $context -FullUri  
echo $sasUrl 

但是如果我丢失了它,我怎么能列出现有的SASTokens?你可能在同一个容器上很少。

尝试了Get-AzureStorageContainer,但此信息不可用 使用其他Get-AzureStorage *但未能找到它。
是否通过PowerShell支持此操作?

3 个答案:

答案 0 :(得分:3)

无法获取SAS URL列表,因为它们不存储在Azure存储中的任何位置。

答案 1 :(得分:2)

可能有点晚......但在这个页面上: https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-shared-access-signature-part-1

它说: “Azure存储不会以任何方式跟踪存储客户端库生成的SAS令牌。您可以在客户端创建无限数量的SAS令牌。”

HTH! 保罗

答案 2 :(得分:0)

使用Powershell可能不会,但是使用REST API可能会:https://docs.microsoft.com/en-us/rest/api/storagerp/storageaccounts/listaccountsas

对于POST请求,需要填写一些请求正文参数,这将需要反复试验,因为您可能不记得SAS允许的持续时间。但是,如果https://docs.microsoft.com/en-us/rest/api/storagerp/storageaccounts/listaccountsas#request-body中的所有值都以某种方式记录在案,那么应该可以以编程方式获得SAS令牌本身。