如何获取Azure中所有存储帐户的列表? (C#)

时间:2018-05-15 07:09:22

标签: c# azure azure-storage azure-functions

我找不到有关如何获取所有storage accounts的内容,我知道可以获取所有blob containersqueues,因此是否可以获取所有storage accounts通过Azure-Functions?

或者是否可以生成唯一SAS Token来访问所有storage Accounts,因此我可以使用StorageCredentials(string sasToken)

3 个答案:

答案 0 :(得分:2)

可以使用StorageManagementClient获取所有存储帐户(您必须安装Microsoft.WindowsAzure.Management.Storage NuGet包)。

设置身份验证和订阅后,您可以在List()属性上调用StorageAccounts方法。即G。 :

new StorageManagementClient().StorageAccounts.List()
  

列表存储帐户操作列出了存储帐户   可在指定的订阅中使用。

Source

答案 1 :(得分:2)

您可以使用Microsoft.Azure.Management.Fluent列出订阅中的所有存储帐户。

请参阅以下代码:

var credentials = SdkContext.AzureCredentialsFactory.FromFile(@"D:\azurecred.txt"); 
var azure = Azure       
    .Configure()
    .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
    .Authenticate(credentials)
    .WithDefaultSubscription();
var account = azure.StorageAccounts.List();

您需要在凭证文件中设置订阅,客户端,密钥,tenantId。

答案 2 :(得分:1)

获取订阅下所有存储帐户列表的另一个选项是使用REST API,请参阅Storage Accounts - List.

请注意, Bearer token 是必需的。