API для добавления свойств в настройки приложения Azure Webapp

У меня есть одно веб-приложение, работающее по плану службы приложений Azure. Веб-приложение имеет множество настроек, определенных в настройках приложения веб-приложения. Теперь я хочу воспроизвести это веб-приложение со всеми его настройками. Я получил REST API, чтобы перечислить все настройки, доступные для любого веб-приложения (/ api / settings). Хотя есть вызов POST для добавления / обновления настроек, но он не обновляет настройки приложения.

Есть ли какой-либо REST API для добавления / обновления параметров приложения в веб-приложении Azure?

Спасибо, Абхирам


person user2768967    schedule 11.12.2017    source источник


Ответы (2)


Есть ли какой-либо REST API для добавления / обновления параметров приложения в веб-приложении Azure?

Да, мы можем обновить настройки приложения с помощью следующих параметров обновления приложения REST API

Put https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource group}/providers/Microsoft.Web/sites/{WebAppName}/config/appsettings?api-version=2016-08-01

Тело

{
  "id": "subscriptions/{subscriptionId}/resourceGroups/{resource group}/providers/Microsoft.Web/sites/{WebAppName}/config/appsettings",
  "name": "appsettings",
  "type": "Microsoft.Web/sites/config",
  "location": "South Central US",
  "tags": {
    "hidden-related:/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/tomfreePlan": "empty"
  },
  "properties": {
    "WEBSITE_NODE_DEFAULT_VERSION": "6.9.1",
    "Test1": "testValue1" //Added value
  }
}

введите здесь описание изображения

Примечание. мы могли бы использовать следующие List Application Settings REST API post способ перечислить тело приложения.

 Post https://management.azure.com/subscriptions/{subscription}/resourceGroups/CXP-{resourceGroup}/providers/Microsoft.Web/sites/{WebAppName}/config/appsettings/list?api-version=2016-08-01
person Tom Sun - MSFT    schedule 12.12.2017
comment
Для этого REST API требуется идентификатор подписки и группа ресурсов. Также требуется проверка подлинности учетной записи Azure. Но у меня есть только учетные данные для развертывания сайтов, я контролирую только сайт, а не в учетной записи Azure. Kudus API / api / settings говорит, что он может удалять настройки, но не может - person user2768967; 06.07.2018
comment
@ user2768967 Как вы упомянули, если вы хотите обновить параметры приложения Azure WebApp, потребуется проверка подлинности учетной записи Azure. Kudus API / api / settings просто параметры конфигурации веб-сайта kudu, а не параметры приложения веб-приложения. Вы можете перепутать два API. - person Tom Sun - MSFT; 06.07.2018

Насколько мне известно, нет. Но задумывались ли вы о создании сценария настроек своего веб-приложения с использованием шаблона ARM? Это именно то, для чего предназначены шаблоны ARM.

Пример раздела свойств шаблона ARM веб-приложения, который позволяет создавать сценарии appSettings и connectionStrings, приведен ниже:

"properties": {
    "name": "YourWebAppsName",
    "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', YourAppServicePlanName)]",
    "siteConfig": {
        "appSettings": [
            {
              "name": "someAppSettingKey",
              "value": "someAppSettingValue"
            },
            {
              "name": "someOtherAppSettingKey",
              "value": "someOtherAppSettingValue"
            }
        ],
        "connectionStrings": [
            {
              "name": "defautlConnection",
              "connectionString": "YourConnectionString",
              "type": "2"
            },
        ]
    }

При развертывании шаблона ARM Azure гарантирует, что настройки целевого ресурса соответствуют тем, что указаны в вашем шаблоне.

В Visual Studio есть тип проекта для их разработки и развертывания. Это тип проекта группы ресурсов Azure, расположенный под узлом «Облако» в шаблонах проектов.

В качестве дополнительного бонуса вы можете проверить эти шаблоны ARM в системе управления версиями вместе с кодом.

person Rob Reagan    schedule 11.12.2017