我正在尝试使用Azure REST API来创建新的Web应用as documented here。
我正在使用Authorization
= Bearer xxxx
令牌,该令牌是通过https://management.azure.com/
的范围和资源创建的。
已注册的应用程序具有Microsoft Graph Api权限Sites.Manage.All
和Application.ReadWrite.All
。
我正在对https://management.azure.com/subscriptions/{subID}/resourceGroups/{resGrp}/providers/Microsoft.Web/sites/{newName}?api-version=2016-08-01
进行PUT操作
我正在使用以下内容指定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??"
}
}
我能够成功呼叫在this documentation指定的列表站点。
我认为我要么具有错误的Api权限,要么体内缺少一些必需的信息。
答案 0 :(得分:1)
您在正文中错过了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}"
}
}
此外,您需要确认您的服务计划是否支持克隆应用程序功能。克隆应用程序是一项功能,仅适用于标准应用程序服务计划上托管的应用程序。在Azure门户上单击“克隆应用程序”时,您将找到提示。