internal CloudStorageAccount GetStorageAccountWithEndPoint(StorageCredentials credential,
string storageAccountName, bool useHttps, string endPoint = "")
{
if (String.IsNullOrEmpty(storageAccountName))
{
throw new ArgumentException(String.Format(Resources.ObjectCannotBeNull, StorageNouns.StorageAccountName));
}
if (string.IsNullOrEmpty(endPoint))
{
return GetStorageAccountWithAzureEnvironment(credential, storageAccountName, useHttps);
}
string blobEndpoint = string.Empty;
string tableEndpoint = string.Empty;
string queueEndpoint = string.Empty;
string fileEndpoint = string.Empty;
string domain = endPoint.Trim();
if (useHttps)
{
blobEndpoint = String.Format(Resources.HttpsBlobEndPointFormat, storageAccountName, domain);
tableEndpoint = String.Format(Resources.HttpsTableEndPointFormat, storageAccountName, domain);
queueEndpoint = String.Format(Resources.HttpsQueueEndPointFormat, storageAccountName, domain);
fileEndpoint = String.Format(Resources.HttpsFileEndPointFormat, storageAccountName, domain);
}
else
{
blobEndpoint = String.Format(Resources.HttpBlobEndPointFormat, storageAccountName, domain);
tableEndpoint = String.Format(Resources.HttpTableEndPointFormat, storageAccountName, domain);
queueEndpoint = String.Format(Resources.HttpQueueEndPointFormat, storageAccountName, domain);
fileEndpoint = String.Format(Resources.HttpFileEndPointFormat, storageAccountName, domain);
}
return new CloudStorageAccount(credential, new Uri(blobEndpoint), new Uri(queueEndpoint), new Uri(tableEndpoint), new Uri(fileEndpoint));
}