/// <summary> /// Get storage account and use specific azure environment /// </summary> /// <param name="credential">Storage credentail</param> /// <param name="storageAccountName">Storage account name, it's used for build end point</param> /// <param name="useHttps">Use secure Http protocol</param> /// <param name="azureEnvironmentName">Environment name</param> /// <returns>A storage account</returns> internal CloudStorageAccount GetStorageAccountWithAzureEnvironment(StorageCredentials credential, string storageAccountName, bool useHttps, string azureEnvironmentName = "") { AzureEnvironment azureEnvironment = null; if (string.IsNullOrEmpty(azureEnvironmentName)) { azureEnvironment = AzureSession.CurrentContext.Environment; } else { try { azureEnvironment = DefaultProfileClient.GetEnvironmentOrDefault(azureEnvironmentName); } catch (ArgumentException e) { throw new ArgumentException(e.Message + " " + string.Format(CultureInfo.CurrentCulture, Resources.ValidEnvironmentName, EnvironmentName.AzureCloud, EnvironmentName.AzureChinaCloud)); } } Uri blobEndPoint = azureEnvironment.GetStorageBlobEndpoint(storageAccountName, useHttps); Uri queueEndPoint = azureEnvironment.GetStorageQueueEndpoint(storageAccountName, useHttps); Uri tableEndPoint = azureEnvironment.GetStorageTableEndpoint(storageAccountName, useHttps); Uri fileEndPoint = azureEnvironment.GetStorageFileEndpoint(storageAccountName, useHttps); return(new CloudStorageAccount(credential, blobEndPoint, queueEndPoint, tableEndPoint, fileEndPoint)); }
/// <summary> /// Get storage account and use specific azure environment /// </summary> /// <param name="credential">Storage credential</param> /// <param name="storageAccountName">Storage account name, it's used for build end point</param> /// <param name="useHttps">Use secure Http protocol</param> /// <param name="azureEnvironmentName">Environment name</param> /// <returns>A storage account</returns> internal CloudStorageAccount GetStorageAccountWithAzureEnvironment(StorageCredentials credential, string storageAccountName, bool useHttps, string azureEnvironmentName = "") { AzureEnvironment azureEnvironment = null; if (null != SMProfile) { if (DefaultContext != null && string.IsNullOrEmpty(azureEnvironmentName)) { azureEnvironment = DefaultContext.Environment; if (null == azureEnvironment) { azureEnvironmentName = EnvironmentName.AzureCloud; } } if (null == azureEnvironment) { try { var profileClient = new ProfileClient(SMProfile); azureEnvironment = profileClient.GetEnvironmentOrDefault(azureEnvironmentName); } catch (ArgumentException e) { throw new ArgumentException(e.Message + " " + string.Format(CultureInfo.CurrentCulture, Resources.ValidEnvironmentName, EnvironmentName.AzureCloud, EnvironmentName.AzureChinaCloud)); } } } if (null != azureEnvironment) { try { Uri blobEndPoint = azureEnvironment.GetStorageBlobEndpoint(storageAccountName, useHttps); Uri queueEndPoint = azureEnvironment.GetStorageQueueEndpoint(storageAccountName, useHttps); Uri tableEndPoint = azureEnvironment.GetStorageTableEndpoint(storageAccountName, useHttps); Uri fileEndPoint = azureEnvironment.GetStorageFileEndpoint(storageAccountName, useHttps); return(new CloudStorageAccount(credential, blobEndPoint, queueEndPoint, tableEndPoint, fileEndPoint)); } catch (ArgumentNullException) { // the environment may not have value for StorageEndpointSuffix, in this case, we'll still use the default domain of "core.windows.net" } } return(GetStorageAccountWithEndPoint(credential, storageAccountName, useHttps, Resources.DefaultDomain)); }
/// <summary> /// Get storage account and use specific azure environment /// </summary> /// <param name="credential">Storage credentail</param> /// <param name="storageAccountName">Storage account name, it's used for build end point</param> /// <param name="useHttps">Use secure Http protocol</param> /// <param name="azureEnvironmentName">Environment name</param> /// <returns>A storage account</returns> internal CloudStorageAccount GetStorageAccountWithAzureEnvironment(StorageCredentials credential, string storageAccountName, bool useHttps, string azureEnvironmentName = "") { AzureEnvironment azureEnvironment = null; if (string.IsNullOrEmpty(azureEnvironmentName)) { azureEnvironment = AzureSession.CurrentContext.Environment; } else { azureEnvironment = defaultProfileClient.GetEnvironmentOrDefault(azureEnvironmentName); } Uri blobEndPoint = azureEnvironment.GetStorageBlobEndpoint(storageAccountName, useHttps); Uri queueEndPoint = azureEnvironment.GetStorageQueueEndpoint(storageAccountName, useHttps); Uri tableEndPoint = azureEnvironment.GetStorageTableEndpoint(storageAccountName, useHttps); Uri fileEndPoint = azureEnvironment.GetStorageFileEndpoint(storageAccountName, useHttps); return(new CloudStorageAccount(credential, blobEndPoint, queueEndPoint, tableEndPoint, fileEndPoint)); }
/// <summary> /// Get storage account and use specific azure environment /// </summary> /// <param name="credential">Storage credential</param> /// <param name="storageAccountName">Storage account name, it's used for build end point</param> /// <param name="useHttps">Use secure Http protocol</param> /// <param name="azureEnvironmentName">Environment name</param> /// <returns>A storage account</returns> internal CloudStorageAccount GetStorageAccountWithAzureEnvironment(StorageCredentials credential, string storageAccountName, bool useHttps, string azureEnvironmentName = "") { AzureEnvironment azureEnvironment = null; if (null != DefaultContext) { if (string.IsNullOrEmpty(azureEnvironmentName)) { azureEnvironment = DefaultContext.Environment; if (null == azureEnvironment) { azureEnvironmentName = EnvironmentName.AzureCloud; } } } if (null != azureEnvironment) { try { Uri blobEndPoint = azureEnvironment.GetStorageBlobEndpoint(storageAccountName, useHttps); Uri queueEndPoint = azureEnvironment.GetStorageQueueEndpoint(storageAccountName, useHttps); Uri tableEndPoint = azureEnvironment.GetStorageTableEndpoint(storageAccountName, useHttps); Uri fileEndPoint = azureEnvironment.GetStorageFileEndpoint(storageAccountName, useHttps); return(new CloudStorageAccount(credential, blobEndPoint, queueEndPoint, tableEndPoint, fileEndPoint)); } catch (ArgumentNullException) { // the environment may not have value for StorageEndpointSuffix, in this case, we'll still use the default domain of "core.windows.net" } } return(GetStorageAccountWithEndPoint(credential, storageAccountName, useHttps, Resources.DefaultDomain)); }