Can someone give me an example when the console application accesses the azure repository

I am trying to access Azure Storage from a console application as follows:

CloudStorageAccount storageAccount = CloudStorageAccount.FromConfigurationSetting("myConnectionString");  

where the connection string looks something like this:

DefaultEndpointsProtocol = https; AccountName = XXX; AccountKey = XXX

but I get an exception:

Fixed System.Runtime.InteropServices.SEHException Message = External component throws an exception. Source = msshrtmi ErrorCode = -2147467259

Stacktrace:

   at RoleEnvironmentGetConfigurationSettingValueW(UInt16* , UInt16* , UInt64 , UInt64* )

   at  Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropRoleManager.GetConfigurationSetting(String name, String& ret)

   at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetConfigurationSettingValue(String configurationSettingName)

   at AzureUpload.Program.<Init>b__2(String configName, Func`2 configSetter) in C:\Users\siddjain\Documents\Visual Studio 2010\Projects\ConsoleAplication1\Program.cs:line 51

   at Microsoft.WindowsAzure.CloudStorageAccount.StorageAccountConfigurationSetting..ctor(String configurationSettingName)

   at Microsoft.WindowsAzure.CloudStorageAccount.FromConfigurationSetting(String settingName)

   at AzureUpload.Program.UploadBlob(String directory, String searchPattern, String container) in C:\Users\siddjain\Documents\Visual Studio 2010\Projects\ConsoleApplication1\Program.cs:line 87

InnerException

Do I need to run azure services or something else before starting my application?

+3
source share
2 answers

, Azure, .

, Azure Azure, . . app.config/web.config.

CodeProject, . . , OnStart:

CloudStorageAccount.SetConfigurationSettingPublisher(
    StorageAccountFactory.GetConfigurationSettingPublisher()
);

factory, , / , , Azure (RoleEnvironment.IsAvailable):

public static Action<string, Func<string,bool>> GetConfigurationSettingPublisher()
{
    if (RoleEnvironment.IsAvailable)
      return (configName, configSetter) => 
    configSetter(RoleEnvironment.GetConfigurationSettingValue(configName));
    return (configName, configSetter) => 
    configSetter(ConfigurationManager.AppSettings[configName]);
}
+4

FromConfigurationSetting API- , . Windows Azure.

CloudStorageAccount.Parse("<myConnectionString>") . ( app.config - , Parse()).

+3

Source: https://habr.com/ru/post/1755586/


All Articles