获取 Azure 高级存储帐户属性

Get Azure premium storage account properties

我正在尝试使用下一个方法获取高级存储帐户(经典)属性:

public ServiceProperties GetStorageAccountProperties(string accountName, string accountKey)
    {
        var connectionString = string.Format("DefaultEndpointsProtocol=http;AccountName={0};AccountKey={1};", accountName, accountKey);
        var account = CloudStorageAccount.Parse(connectionString);
        CloudBlobClient bloblClient = account.CreateCloudBlobClient();
        return bloblClient.GetServiceProperties();
    }

但是,它抛出 StorageException: 远程服务器返回错误:(400) 错误请求。 扩展错误信息包含:请求 URI 中指定的查询参数之一的值无效。 (QueryParameterName=restype 查询参数值=服务) 此方法适用于其他标准(经典)帐户。

可能是因为高级存储帐户的限制。但是我如何使用 CloudBlobClient 来处理这种类型的存储帐户?

GetServiceProperties 进行 Get Blob Service Properties REST API 调用,用于获取 CORSStorage Analytics 设置。由于 Premium 存储帐户不支持 CORSStorage Analytics,因此您会收到此错误。

But how can I use CloudBlobClient for work with this type of storage account?

您可以使用 CloudBlobClient 进行高级存储帐户上所有支持的操作。例如,您可以为 Blob Container 创建一个引用并使用它创建一个容器。