0

我正在尝试找到一个 REST API / PowerShell cmdlet 来检索 Azure Web 应用程序实例的 VM 名称(以 RD 开头)。

我发现我可以按 Instance Id 列出进程 Id,然后使用Azure App Service获取 Instance Process 。该对象具有包括机器名称在内的详细信息。我想知道是否有更好的方法可以做到这一点,也许 API 调用较少。

背景:

我需要以编程方式重新启动 Azure Web 应用程序的特定实例。调用重启的用户只能在应用洞察中看到 Web 应用的 VM 名称或角色实例。我找到了列出实例的 API,但没有直接找到实例 ID 和 VM 名称之间的映射。

4

2 回答 2

0

你试试这个 API Virtual Machines - List吗?

通过使用此 api,您可以从 values[] 获取 id 和 name

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines?api-version=2018-06-01

结果示例:</p>

{
  "value": [
             {
               // ignore

               "id": "/subscriptions/{subscriptionsID}/resourceGroups/test-resource-group/providers/Microsoft.Compute/virtualMachines/my-vmname",
               "name": "my-vmname"
             }
  ]
}
于 2019-03-19T01:34:17.207 回答
0

您可以尝试使用 REST APIWeb Apps - List Instance Identifiers来获取应用程序的所有横向扩展实例。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances?api-version=2016-08-01

实际上,通过横向扩展的 WebApp 实例是针对其应用服务计划的。例如,我在 Azure 门户上将我的 webapp 的实例数扩大到​​ 4,然后其应用服务计划的实例数如下图所示。

在此处输入图像描述

我得到了来自 REST API 的 json 响应,如下所示。

在此处输入图像描述

于 2019-03-20T08:52:29.070 回答