Настройка ролей для облачной службы Azure в Visual Studio

Примечание.

Эта статья относится к Azure Облачные службы (классической), которая теперь устарела для новых клиентов и будет прекращена 31 августа 2024 года. Существующие службы, созданные с помощью этой технологии, по-прежнему поддерживаются с помощью Azure Облачные службы (расширенная поддержка). Для новой разработки рекомендуется использовать более новый тип службы, предназначенный для конкретной цели, например службу приложение Azure, Функции Azure или приложения контейнеров Azure. Последний список доступных служб см . в каталоге продуктов Azure.

Облачной службе Azure можно назначить одну или несколько рабочих ролей или веб-ролей. Для каждой роли нужно определить способ настройки, а также настроить способ выполнения.

Эта информация для облачной службы хранится в следующих файлах.

  • ServiceDefinition.csdef — файл определения службы определяет параметры времени выполнения для облачной службы, включая необходимые роли, конечные точки и размер виртуальной машины. Данные хранящиеся в файле ServiceDefinition.csdef, нельзя изменить во время выполнения роли.
  • ServiceConfiguration.cscfg — файл конфигурации службы, в котором задано количество выполняемых экземпляров роли и значения параметров, определенных для роли. Данные, хранящиеся в файле ServiceConfiguration.cscfg, можно изменить во время выполнения роли.

Для хранения различных значений параметров, контролирующих выполнение роли, можно задать несколько конфигураций службы. Разные конфигурации службы можно использовать для разных сред развертывания. Например, можно настроить учетную запись хранения строка подключения использовать локальный эмулятор служба хранилища Azure в конфигурации локальной службы и создать другую конфигурацию службы для использования служба хранилища Azure в облаке.

При создании облачной службы Azure в среде Visual Studio к вашему проекту Azure добавляются две автоматически созданные конфигурации службы:

  • ServiceConfiguration.Cloud.cscfg
  • ServiceConfiguration.Local.cscfg

Необходимые компоненты

Настройка облачной службы Azure

В среде Visual Studio можно настроить облачную службу Azure, используя обозреватель решений, как описано ниже.

  1. Создайте или откройте проект облачной службы Azure в среде Visual Studio.

  2. В обозревателе решений щелкните проект правой кнопкой мыши и в контекстном меню выберите пункт Свойства.

    Solution Explorer project context menu

  3. На странице свойств проекта выберите вкладку Разработка.

    Project properties page - development tab

  4. В списке Конфигурация службы выберите имя конфигурации службы, которую нужно изменить. (Если нужно изменить все конфигурации службы для этой роли, выберите пункт Все конфигурации.)

    Внимание

    При выборе конкретной конфигурации службы некоторые ее свойства будут отключены, так как их можно задать только для всех конфигураций. Чтобы изменить эти свойства, выберите пункт Все конфигурации.

    Service Configuration list for an Azure cloud service

Изменение количества экземпляров роли

Чтобы повысить производительность облачной службы, можно изменить количество запущенных экземпляров роли в зависимости от количества пользователей или нагрузки, ожидаемой для определенной роли. При запуске облачной службы в Azure для каждого экземпляра роли создается отдельная виртуальная машина. От этого зависят выставленные счета за развертывание этой облачной службы. Дополнительные сведения о плате за использование Azure см. в статье Расшифровка счета за использование Microsoft Azure.

  1. Создайте или откройте проект облачной службы Azure в среде Visual Studio.

  2. В обозревателе решений разверните узел проекта. В узле Роли щелкните правой кнопкой мыши роль, которую нужно обновить, и в контекстном меню выберите пункт Свойства.

    Solution Explorer Azure role context menu

  3. Перейдите на вкладку Конфигурация.

    Configuration tab

  4. В списке Конфигурация службы выберите конфигурацию службы, которую нужно обновить.

    Service Configuration list 1

  5. В поле Количество экземпляров введите количество экземпляров, которые будут запущены для этой роли. Каждый экземпляр выполняется на отдельной виртуальной машине при публикации облачной службы в Azure.

    Updating the Instance Count

  6. На панели инструментов Visual Studio щелкните Сохранить.

Управление строками подключения для учетных записей хранения

Вы можете добавлять, удалять или изменять строки подключения для конфигураций службы. Например, вы можете использовать строку локального подключения для конфигурации локальной службы, которая имеет значение UseDevelopmentStorage=true. Можно также настроить конфигурацию облачной службы, которая использует учетную запись хранения в Azure.

Предупреждение

При вводе сведений о ключе служба хранилища Azure учетной записи хранения для строка подключения эта информация хранится локально в файле конфигурации службы. Тем не менее эти сведения в настоящее время не хранятся в виде зашифрованного текста.

Использование разных значений для разных конфигураций службы избавляет от необходимости использовать разные строки подключения в облачной службе или изменять код при публикации этой службы в Azure. Для строки подключения в коде можно использовать одно и то же имя и разные значения в зависимости от конфигурации службы, выбранной при сборке или публикации облачной службы.

  1. Создайте или откройте проект облачной службы Azure в среде Visual Studio.

  2. В обозревателе решений разверните узел проекта. В узле Роли щелкните правой кнопкой мыши роль, которую нужно обновить, и в контекстном меню выберите пункт Свойства.

    Solution Explorer Azure role context menu

  3. Выберите вкладку Параметры.

    Settings tab

  4. В списке Конфигурация службы выберите конфигурацию службы, которую нужно обновить.

    Service Configuration

  5. Чтобы добавить строку подключения, нажмите кнопку Добавить параметр.

    Add connection string

  6. После добавления в список нового параметра введите необходимые сведения в строку списка.

    New connection string

    • Поле Имя. Введите имя, которое будет использоваться для строки подключения.
    • Тип — выберите строку Подключение ion в раскрывающемся списке.
    • Поле Значение. Здесь вы можете ввести строку подключения непосредственно в ячейку Значение или щелкнуть многоточие (…), чтобы продолжить работу в диалоговом окне Создание строки подключения к хранилищу.
  7. В диалоговом окне Создание строки подключения к хранилищу выберите один из вариантов для параметра Подключиться с помощью. Затем следуйте инструкциям для выбранного варианта.

    • служба хранилища Microsoft Azure Эмулятор. Если выбрать этот параметр, остальные параметры в диалоговом окне отключены, так как они применяются только к Azure. Нажмите ОК.
    • Подписка . Если выбрать этот параметр, используйте раскрывающийся список для выбора и входа в учетную запись Майкрософт или добавления учетной записи Майкрософт. Выберите подписку и учетную запись хранения Azure. Нажмите ОК.
    • Введенные вручную учетные данные. Введите имя учетной записи хранения, а также первичный или вторичный ключ. Выберите параметр Подключение ion (HTTPS рекомендуется для большинства сценариев.) Нажмите кнопку "ОК".
  8. Чтобы удалить строку подключения, выберите ее, а затем нажмите кнопку Удалить параметр.

  9. На панели инструментов Visual Studio щелкните Сохранить.

Программный доступ к строке подключения

Ниже показано, как получить программный доступ к строке подключения с помощью C#.

  1. Добавьте следующие директивы using в файл C#, в котором планируется использовать параметр:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. В следующем примере показано, как получить доступ к строке подключения. Замените <заполнитель Подключение ionStringName> соответствующим значением.

    // Setup the connection to Azure Storage
    var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
    

Добавление пользовательских параметров для использования в облачной службе Azure

Пользовательские параметры в файле конфигурации службы позволяют добавлять имя и значение строки для конкретной конфигурации службы. Можно использовать этот параметр, чтобы настроить функцию в облачной службе: значение параметра считывается и используется для управления логикой в коде. Вы можете изменять эти значения конфигурации службы без необходимости выполнять повторную сборку пакета служб, а также при запуске облачной службы. Ваш код может проверять наличие уведомлений об изменении параметра. Дополнительные сведения см. в разделе RoleEnvironment.Changing Event.

Вы можете добавлять, удалять или изменять пользовательские параметры для конфигураций службы. Также можно использовать разные значения этих строк для разных конфигураций службы.

Использование разных значений для разных конфигураций службы избавляет от необходимости использовать разные строки в облачной службе или изменять код при публикации этой службы в Azure. Для строки в коде можно использовать одно и то же имя и разные значения в зависимости от конфигурации службы, выбранной при сборке или публикации облачной службы.

  1. Создайте или откройте проект облачной службы Azure в среде Visual Studio.

  2. В обозревателе решений разверните узел проекта. В узле Роли щелкните правой кнопкой мыши роль, которую нужно обновить, и в контекстном меню выберите пункт Свойства.

    Solution Explorer Azure role context menu

  3. Выберите вкладку Параметры.

    Settings tab

  4. В списке Конфигурация службы выберите конфигурацию службы, которую нужно обновить.

    Service Configuration list 2

  5. Чтобы добавить пользовательский параметр, нажмите кнопку Добавить параметр.

    Add custom setting

  6. После добавления в список нового параметра введите необходимые сведения в строку списка.

    New custom setting

    • В поле Имя введите имя параметра.
    • Тип — выберите строку из раскрывающегося списка.
    • В поле Значение задайте значение параметра. Вы можете ввести значение непосредственно в ячейку Значение или щелкнуть многоточие (…), чтобы задать значение в диалоговом окне Изменить строку.
  7. Чтобы удалить пользовательский параметр, сначала выберите его, а затем нажмите кнопку Удалить параметр.

  8. На панели инструментов Visual Studio щелкните Сохранить.

Программный доступ к значению пользовательского параметра

Ниже показано, как получить программный доступ к пользовательскому параметру с помощью C#.

  1. Добавьте следующие директивы using в файл C#, в котором планируется использовать параметр:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. В следующем примере показано, как получить доступ к пользовательскому параметру. Замените <заполнитель SettingName> соответствующим значением.

    var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
    

Управление локальным хранилищем для каждого экземпляра роли

Каждому экземпляру роли можно назначить хранилище локальной файловой системы. Данные, находящиеся в этом хранилище, недоступны для других экземпляров роли, для которой хранятся данные, или для других ролей.

  1. Создайте или откройте проект облачной службы Azure в среде Visual Studio.

  2. В обозревателе решений разверните узел проекта. В узле Роли щелкните правой кнопкой мыши роль, которую нужно обновить, и в контекстном меню выберите пункт Свойства.

    Solution Explorer Azure role context menu

  3. Перейдите на вкладку Локальное хранилище.

    Local storage tab

  4. Убедитесь, что в списке Конфигурация службы выбран параметр Все конфигурации, так как локальные параметры хранилища применяются ко всем конфигурациям службы. Если выбрано любое другое значение, это приведет к отключению параметров во всех полях ввода данных на странице.

    Service Configuration list 3

  5. Для добавления записи локального хранилища щелкните Добавить локальное хранилище.

    Add local storage

  6. После добавления в список новой записи локального хранилища введите необходимые сведения в строку списка.

    New local storage entry

    • В поле Имя введите имя, которое будет использоваться для нового локального хранилища.
    • В поле Размер (МБ) задайте необходимый размер нового локального хранилища в мегабайтах.
    • В поле Очистить при повторном использовании роли установите флажок, чтобы удалить данные из нового локального хранилища при перезапуске виртуальной машины для этой роли.
  7. Чтобы удалить запись локального хранилища, выберите запись, а затем нажмите кнопку Удалить локальное хранилище.

  8. На панели инструментов Visual Studio щелкните Сохранить.

Программный доступ к локальному хранилищу

В этом разделе показано, как получить программный доступ к локальному хранилищу, написав тестовый текстовый файл MyLocalStorageTest.txt с помощью C#.

Написание текстового файла для локального хранилища

В следующем примере показано, как написать текстовый файл для локального хранилища. Замените <заполнитель Local служба хранилища Name> соответствующим значением.

// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("<LocalStorageName>");

//Define the file name and path
string[] paths = { localResource.RootPath, "MyLocalStorageTest.txt" };
String filePath = Path.Combine(paths);

using (FileStream writeStream = File.Create(filePath))
{
    Byte[] textToWrite = new UTF8Encoding(true).GetBytes("Testing Web role storage");
    writeStream.Write(textToWrite, 0, textToWrite.Length);
}

Поиск файла, написанного для локального хранилища

Чтобы просмотреть файл, созданный с помощью кода из предыдущего раздела, выполните следующие действия:

  1. В области уведомлений Windows щелкните правой кнопкой мыши значок Azure и в контекстном меню выберите пункт Show Compute Emulator UI (Показать пользовательский интерфейс эмулятора вычислений).

    Show Azure compute emulator

  2. Выберите веб-роль.

    Azure compute emulator

  3. В меню Эмулятор вычислений Microsoft Azure выберите Средства>Open local store (Открыть локальное хранилище).

    Open local store menu item

  4. Когда откроется окно проводника Windows, введите в текстовое поле поиска запрос "MyLocalStorageTest.txt'' и нажмите клавишу ВВОД, чтобы начать поиск.

Дополнительные сведения о проектах Azure в Visual Studio см. в статье Настройка проекта облачной службы в Visual Studio. Дополнительные сведения о схеме облачной службы см. в статье Справка по схемам Windows Azure.