想象一下,我们有 2 个 Azure 存储帐户,其中一个是常规帐户,另一个是政府帐户(或德国、中国等)。以下是我们创建 CloudBlobClient 的方式:
private const string ConnectionStringTemplate = "DefaultEndpointsProtocol={0};AccountName={1};AccountKey={2};";
public static CloudBlobClient Create(string protocol, string accountName, string accountKey)
{
var connectionString = string.Format(CultureInfo.InvariantCulture, ConnectionStringTemplate, protocol, accountName, accountKey);
var account = CloudStorageAccount.Parse(connectionString);
return account.CreateCloudBlobClient();
}
此代码适用于普通账户,但对于政府账户则不行。我们应该指定 EndpointSuffix(core.usgovcloudapi.net 而不是默认的 core.windows.net),连接字符串应该是这样的:
"DefaultEndpointsProtocol={0};AccountName={1};AccountKey={2};EndpointSuffix={3}";
所以,问题是,如果只有 AccountName 和 AccountKey,我怎么知道是哪个账户?是否有一些 API 方法可以检查它们的帐户类型或端点后缀?