使用powershell为Azure云存储帐户创建共享访问签名(SAS)
如何为我的整个云存储帐户创建SAS url使用powershell为Azure云存储帐户创建共享访问签名(SAS),azure,azure-storage,azure-powershell,Azure,Azure Storage,Azure Powershell,如何为我的整个云存储帐户创建SAS url 我注意到azure powershell cmdlet有很多方法可以为特定资源(例如blob、queue等)创建SAS URL,但我想使用powershell为所有这些资源创建一个SAS,我假设您想使用azure存储。详情请参阅 不,很遗憾,API并没有按预期工作。azure存储帐户有一个较旧的版本,您提到的API用于为其创建SAS令牌。我需要能够为当前版本的Azure Storages创建SAS令牌。请尝试使用Powershell命令New Azur
我注意到azure powershell cmdlet有很多方法可以为特定资源(例如blob、queue等)创建SAS URL,但我想使用powershell为所有这些资源创建一个SAS,我假设您想使用azure存储。详情请参阅
不,很遗憾,API并没有按预期工作。azure存储帐户有一个较旧的版本,您提到的API用于为其创建SAS令牌。我需要能够为当前版本的Azure Storages创建SAS令牌。请尝试使用Powershell命令New AzureStorageAccountSASToken-服务Blob、文件、表、队列-资源类型服务、容器、对象-权限racwdlup。这与帐户sas和服务sas有关。我已经尝试过此API。它不允许您指定为哪个Azure StorageAccount生成SAS。调用匹配的集合AzureStorageAccount只对旧的存储帐户有效,而对新的存储帐户无效。对不起,我已经尝试过这个API意味着什么?我已经更新了答案,并使用资源管理存储帐户对其进行了测试。感谢您坚持我的观点:我缺少了-Context参数。如果省略,则默认为之前通过set-AzureStorageAccount设置的内容。据我所知,Set-AzureStorageAccount只适用于RM资源,所以当我尝试它时,它不起作用。
New-AzureStorageAccountSASToken
-Service <SharedAccessAccountServices>
-ResourceType <SharedAccessAccountResourceTypes>
[-Permission <String>]
[-Protocol <SharedAccessProtocol>]
[-IPAddressOrRange <String>]
[-StartTime <DateTime>]
[-ExpiryTime <DateTime>]
[-Context <IStorageContext>]
[<CommonParameters>]
example : New-AzureStorageAccountSASToken -Service Blob,File,Table,Queue -ResourceType Service,Container,Object -Permission "racwdlup" -Context $ctx
$resourceGroup = "Resource group"
$storageAccountName = "account name "
Login-AzureRmAccount
$storageAccount = Get-AzureRmStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccountName
$ctx = $storageAccount.Context
$accountSAS = New-AzureStorageAccountSASToken -Service Blob,File,Table,Queue -ResourceType Service,Container,Object -Permission "racwdlup" -Context $ctx