/// <summary>
 /// Initializes a new instance of the <see cref="AzureStorageManager" /> class.
 /// </summary>
 /// <param name="credential">The credential.</param>
 /// <param name="region">The region.</param>
 /// <param name="useHttps">The use HTTPS.</param>
 public AzureStorageManager(StorageCredentials credential, AzureServiceProviderRegion region = AzureServiceProviderRegion.Global, bool useHttps = true)
     : this(new CloudStorageAccount(
         credential,
         GetStorageEndpointUri(useHttps, credential.AccountName, "blob", region),
         GetStorageEndpointUri(useHttps, credential.AccountName, "queue", region),
         GetStorageEndpointUri(useHttps, credential.AccountName, "table", region),
         GetStorageEndpointUri(useHttps, credential.AccountName, "file", region)))
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AzureBlobOperator" /> class.
 /// </summary>
 /// <param name="credential">The credential.</param>
 /// <param name="region">The region.</param>
 /// <param name="useHttps">The use HTTPS.</param>
 public AzureBlobOperator(StorageCredentials credential, AzureServiceProviderRegion region = AzureServiceProviderRegion.Global, bool useHttps = true)
     : this(credential.ToCloudStorageAccount(region, useHttps))
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AzureBlobOperator"/> class.
 /// </summary>
 /// <param name="endpoint">The endpoint.</param>
 /// <param name="region">The region.</param>
 protected AzureBlobOperator(ApiEndpoint endpoint, AzureServiceProviderRegion region)
     : this(AzureStorageExtension.ToCloudStorageAccount(endpoint, region))
 {
 }
        /// <summary>
        /// Gets the storage endpoint URI.
        /// </summary>
        /// <param name="useHttps">if set to <c>true</c> [use HTTPS].</param>
        /// <param name="accountName">Name of the account.</param>
        /// <param name="feature">The feature.</param>
        /// <param name="region">The region.</param>
        /// <returns>Uri.</returns>
        protected static Uri GetStorageEndpointUri(bool useHttps, string accountName, string feature, AzureServiceProviderRegion region)
        {
            string uriFormat;

            switch (region)
            {
                case AzureServiceProviderRegion.China:
                    uriFormat = "{0}://{1}.{2}.core.chinacloudapi.cn";
                    break;
                default:
                    uriFormat = "{0}://{1}.{2}.core.windows.net";
                    break;
            }

            return new Uri(string.Format(uriFormat, useHttps ? "https" : "http", accountName, feature));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="AzureQueueOperator{T}" /> class.
 /// </summary>
 /// <param name="credential">The credential.</param>
 /// <param name="queueName">Name of the queue.</param>
 /// <param name="encodeMessage">if set to <c>true</c> [encode message].</param>
 /// <param name="region">The region.</param>
 /// <param name="useHttps">The use HTTPS.</param>
 public AzureQueueOperator(StorageCredentials credential, string queueName, bool encodeMessage, AzureServiceProviderRegion region = AzureServiceProviderRegion.Global, bool useHttps = true)
     : this(credential.ToCloudStorageAccount(region, useHttps), queueName, encodeMessage)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AzureQueueOperator{T}" /> class.
 /// </summary>
 /// <param name="endpoint">The endpoint.</param>
 /// <param name="region">The region.</param>
 /// <param name="queueName">Name of the queue.</param>
 /// <param name="encodeMessage">if set to <c>true</c> [encode message].</param>
 protected AzureQueueOperator(ApiEndpoint endpoint, AzureServiceProviderRegion region, string queueName, bool encodeMessage)
     : this(AzureStorageExtension.ToCloudStorageAccount(endpoint, region), queueName, encodeMessage)
 {
 }
Exemple #7
0
        /// <summary>
        /// Gets the storage endpoint URI.
        /// </summary>
        /// <param name="useHttps">if set to <c>true</c> [use HTTPS].</param>
        /// <param name="accountName">Name of the account.</param>
        /// <param name="feature">The feature.</param>
        /// <param name="region">The region.</param>
        /// <returns>Uri.</returns>
        internal static Uri GetStorageEndpointUri(bool useHttps, string accountName, string feature, AzureServiceProviderRegion region)
        {
            string uriFormat;

            switch (region)
            {
            case AzureServiceProviderRegion.China:
                uriFormat = "{0}://{1}.{2}.core.chinacloudapi.cn";
                break;

            default:
                uriFormat = "{0}://{1}.{2}.core.windows.net";
                break;
            }

            return(new Uri(string.Format(uriFormat, useHttps ? HttpConstants.HttpProtocols.Https : HttpConstants.HttpProtocols.Http, accountName, feature)));
        }
Exemple #8
0
 /// <summary>
 /// To the cloud storage account.
 /// </summary>
 /// <param name="credential">The credential.</param>
 /// <param name="region">The region.</param>
 /// <param name="useHttps">if set to <c>true</c> [use HTTPS].</param>
 /// <returns></returns>
 internal static CloudStorageAccount ToCloudStorageAccount(this StorageCredentials credential, AzureServiceProviderRegion region = AzureServiceProviderRegion.Global, bool useHttps = true)
 {
     return(new CloudStorageAccount(
                credential,
                GetStorageEndpointUri(useHttps, credential.AccountName, "blob", region),
                GetStorageEndpointUri(useHttps, credential.AccountName, "queue", region),
                GetStorageEndpointUri(useHttps, credential.AccountName, "table", region),
                GetStorageEndpointUri(useHttps, credential.AccountName, "file", region)));
 }
Exemple #9
0
        /// <summary>
        /// To the cloud storage account.
        /// </summary>
        /// <param name="endpoint">The endpoint.</param>
        /// <param name="region">The region.</param>
        /// <returns>Microsoft.WindowsAzure.Storage.CloudStorageAccount.</returns>
        public static CloudStorageAccount ToCloudStorageAccount(this Api.ApiEndpoint endpoint, AzureServiceProviderRegion region)
        {
            if (endpoint != null)
            {
                var useHttps         = endpoint.Protocol.SafeEquals(HttpConstants.HttpProtocols.Https, StringComparison.InvariantCultureIgnoreCase);
                var accountKey       = endpoint.Token;
                var accountName      = endpoint.Account;
                var customBlobDomain = endpoint.Host;

                return(new CloudStorageAccount(
                           new StorageCredentials(accountName, accountKey),
                           string.IsNullOrWhiteSpace(customBlobDomain)
                        ? GetStorageEndpointUri(useHttps, accountName, "blob", region)
                        : new Uri(customBlobDomain),
                           GetStorageEndpointUri(useHttps, accountName, "queue", region),
                           GetStorageEndpointUri(useHttps, accountName, "table", region),
                           GetStorageEndpointUri(useHttps, accountName, "file", region)));
            }

            return(null);
        }