Развертывание Azure Cosmos DB, службы приложений Azure и веб-приложения из GitHub с помощью шаблона Azure Resource Manager

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

В этом руководстве показано, как выполнить «бесконтактное» развертывание веб-приложения, которое подключается к Azure Cosmos DB при первом запуске, без необходимости вырезать и вставлять сведения о подключении из Azure Cosmos DB в appsettings.json или в параметры приложения, размещенного службе приложений на портале Azure. Все эти действия выполняются с помощью шаблона Azure Resource Manager за одну операцию. В этом примере мы развернем приложение Azure Cosmos DB TODO Sample из Руководства по веб-приложениям.

Диспетчер ресурсов шаблоны имеют гибкие настройки и позволяют создавать сложные развертывания в любой службе в Azure. Сюда входят такие задачи продвинутого уровня, как развертывание приложений из GitHub и добавление сведений о подключении в параметры приложений, размещенных в Службе приложений Azure на портале Azure. В этом руководстве показано, как выполнить следующие действия с помощью одного шаблона диспетчера ресурсов:

  • Разверните учетную запись Azure Cosmos DB.
  • развертывание плана размещения Службы приложений Azure;
  • развертывание Службы приложений Azure;
  • Вставьте конечную точку и ключи из учетной записи Azure Cosmos DB в параметры приложения Служба приложений в портал Azure.
  • развертывание веб-приложения из репозитория GitHub в Службе приложений.

Полученное развертывание включает в себя полностью функциональное веб-приложение, которое может подключаться к Azure Cosmos DB без необходимости вырезать и вставлять URL-адрес конечной точки Azure Cosmos DB или ключи проверки подлинности с портала Azure.

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

Совет

Хотя это руководство не требует наличия опыта работы с шаблонами Azure Resource Manager или JSON, если возникнет необходимость изменить ссылки шаблонов или варианты развертывания, потребуются знания в каждой из этих областей.

Шаг 1. Развертывание шаблона

Нажмите кнопку Развернуть в Azure, чтобы открыть портал Azure для создания пользовательского развертывания. Шаблоны Azure Resource Manager также доступны в Коллекции шаблонов быстрого запуска Azure.

Button to deploy the Resource Manager template to Azure.

На портале Azure выберите подписку для развертывания, а затем выберите или создайте новую группу ресурсов. Заполните следующие значения:

Screenshot of the template deployment UI

  • Регион — это обязательный параметр для диспетчера ресурсов. Введите регион, указанный в качестве местоположения ресурсов.
  • Имя приложения — это имя используется всеми ресурсами развертывания. Обязательно выберите уникальное имя, чтобы избежать конфликтов с существующими учетными записями Azure Cosmos DB и службы приложений.
  • Местоположение — регион, в котором развернуты ресурсы.
  • Уровень плана службы приложений — ценовая категория плана Службы приложений.
  • Экземпляры плана Службы приложений — количество рабочих ролей для плана Службы приложений.
  • URL-адрес репозитория — репозиторий для веб-приложения на GitHub.
  • Ветвь — ветвь для репозитория GitHub.
  • Имя базы данных — имя базы данных Azure Cosmos DB.
  • Имя контейнера — имя контейнера Azure Cosmos DB.

После заполнения значений нажмите кнопку Создать, чтобы приступить к развертыванию. Выполнение этого шага займет 5-10 минут.

Совет

Шаблон не проверяет, является ли имя службы приложение Azure и имя учетной записи Azure Cosmos DB, введенной в шаблоне, допустимы и доступны. Перед началом развертывания настоятельно рекомендуется проверить доступность имен, которые планируется использовать.

Шаг 2. Изучение ресурсов

Просмотр развернутых ресурсов

После развертывания ресурсов в шаблоне их можно просматривать в группе ресурсов.

Resource Group

Просмотр конечной точки и ключей Azure Cosmos DB

Затем откройте учетную запись Azure Cosmos DB на портале. На следующем снимках экрана показаны конечная точка и ключи для учетной записи Azure Cosmos DB.

Azure Cosmos DB Keys

Просмотр ключей Azure Cosmos DB в параметрах приложения

Перейдите к службе приложений Azure в группе ресурсов. Перейдите на вкладку «Конфигурация», чтобы просмотреть параметры приложения для службы приложений. Приложение Параметры содержит учетные записи Azure Cosmos DB и значения первичного ключа, необходимые для подключения к Azure Cosmos DB, а также имен баз данных и контейнеров, переданных из развертывания шаблона.

Application Settings

Просмотр веб-приложения в Центре развертывания

Перейдите в Центр развертывания для службы приложений. В поле «Репозиторий» указана ссылка на репозиторий GitHub, переданный в шаблон. В поле «Состояние» указано успешное выполнение (активно) — это означает, что приложение успешно развернуто и запущено.

Deployment Center

Запуск веб-приложения

Чтобы открыть веб-приложение, щелкните кнопку Обзор в верхней части Центра развертывания. Откроется начальный экран веб-приложения. Щелкните Создать, затем введите данные в поля и нажмите кнопку «Сохранить». На полученном экране показаны данные, сохраненные в Azure Cosmos DB.

Home Screen

Шаг 3. Как это работает

Есть три элемента, которые необходимы для работы.

Чтение параметров приложения во время выполнения

Во-первых, приложению необходимо запросить конечную точку Azure Cosmos DB и ключ в классе в Startup веб-приложении ASP.NET MVC. Пример Список дел Azure Cosmos DB может выполняться локально, где можно ввести сведения о подключении в appsettings.json. Однако при развертывании этот файл будет развернут вместе с приложением. Если строки в красной рамке не могут получить доступ к параметрам, указанным в appsettings.js, будет предпринята попытка использовать параметры приложения, указанные в службе приложений Azure.

Screenshot shows a method with several string variables marked in red, including databaseName, containerName, account, and key.

Использование специальных функций управления ресурсами Azure

Чтобы эти значения были доступны приложению при развертывании, шаблон Azure Resource Manager может запрашивать эти значения из учетной записи Azure Cosmos DB с помощью специальных функций Управления ресурсами Azure, включая ссылки и listKeys , которые захватывают значения из учетной записи Azure Cosmos DB и вставляют их в значения параметров приложения с именами ключей, которые соответствуют используемым в приложении выше в разделе "{раздел: формат key}. Например, CosmosDb:Account.

Template Keys

Развертывание веб-приложений из GitHub

Наконец, необходимо развернуть веб-приложение из GitHub в службе приложений. Это делается с помощью приведенного ниже кода JSON. Есть два момента, на которые следует обратить внимание, — это тип и имя ресурса. Значения свойств "type": "sourcecontrols" и "name": "web" жестко запрограммированны, их нельзя изменить.

Deploy From GitHub

Следующие шаги

Поздравляем! Вы развернули Azure Cosmos DB, приложение Azure Service и пример веб-приложения, которое автоматически содержит сведения о подключении, необходимые для подключения к Azure Cosmos DB, все в одной операции и без необходимости вырезать и вставить конфиденциальную информацию. Используя этот шаблон в качестве отправной точки, вы можете вносить изменения и аналогичным образом развертывать собственные веб-приложения.