API Azure Rest - создание веб-приложения - неверный запрос - PullRequest
1 голос
/ 30 марта 2019

Я пытаюсь использовать API REST Azure для создания нового веб-приложения , как описано здесь .

Я использую токен Authorization = Bearer xxxx, созданный с помощью Scopeи ресурс https://management.azure.com/.

Зарегистрированное приложение имеет разрешение Microsoft Graph Api Sites.Manage.All и Application.ReadWrite.All.

Я делаю PUT на https://management.azure.com/subscriptions/{subID}/resourceGroups/{resGrp}/providers/Microsoft.Web/sites/{newName}?api-version=2016-08-01

Я указываю тип содержимого application/json со следующим телом:

{
    "location":"Central US",
    "properties":
    {
        "cloningInfo":
        {
            "sourceWebAppId":"subscriptions/{subID}/resourceGroups/{resGrp}/providers/Microsoft.Web/sites/{cloneFromName}",
            "overwrite":true,
            "ignoreQuotas":true,
            "correlationId":"some random text??"
        }
    }
}

Я также пробовал подобное тело

{
    "location":"Central US",
    "properties.cloningInfo":
    {
        "sourceWebAppId":"subscriptions/{subID}/resourceGroups/{resGrp}/providers/Microsoft.Web/sites/{cloneFromName}",
        "overwrite":true,
        "ignoreQuotas":true,
        "correlationId":"some random text??"
    }
}

Я могу успешно вызвать указанные списки сайтовв этой документации .

Я предполагаю, что у меня либо неверные разрешения Api, либо мне не хватает необходимой информации в теле.

1 Ответ

1 голос
/ 01 апреля 2019

Вы пропустили ServerFarmId в теле, тело должно быть

{
    "location":"Central US",
    "properties":
    {
        "cloningInfo":
        {
          "sourceWebAppId":"{Resource ID of the webpp you want to clone}",
            "overwrite":true,
            "ignoreQuotas":true,
            "correlationId":"correlationId1"
        },
      "ServerFarmId":"{Resource ID of the associated App Service plan}"
    }
}

Кроме того, вам необходимо подтвердить, поддерживает ли ваш тарифный план функцию приложения-клона. Приложение клонирования - это функция, которая доступна только для приложений, размещенных в стандартных тарифных планах приложений. Когда вы нажмете Clone App на портале Azure, вы найдете подсказку. enter image description here

Более подробную информацию вы также можете найти в ответе. enter image description here

...