这至少是令人困惑的。
我想重命名这些组以便具有一定的语义意义。我还想将相关的SQL数据库和网站分组到同一个资源组中。
然而,我没有看到任何方法可以完成这两个任务。这可行吗?
1)重命名资源组? 2)将现有的SQL数据库和网站合并到一个资源组中?
编辑:您无法重命名Azure资源组。
您可以将您的资源移动到一个新的资源组。将资源组A中的所有资源移到资源组B中是一种简单粗暴的更名方式。
不幸的是,并非所有的资源提供程序都允许在资源组之间移动资源,即使有些允许也可能会附加条件,只能在特定条件下移动资源。
对于Azure Web应用程序(以前称为Azure网站),您目前只能在单个调用中移动与所有网站相关的资源。这个“所有网站相关的资源”指的是位于“Microsoft.Web”提供程序下的所有资源。这包括源资源组中的所有网站、应用程序托管平台和证书。
通过门户
点击“移动”选项卡,将显示如下内容,允许您选择或创建新的资源组:
通过Azure Powershell
最简单的方法是使用Move-AzureRmResource PowerShell cmdlet。
该命令的格式如下:
Get-AzureRmResource -ResourceGroupName <sourceResourceGroupName> | Move-AzureRmResource -DestinationResourceGroupName <destResourceGroupName>
来源:https://azure.microsoft.com/zh-cn/documentation/articles/resource-group-move-resources/
另一种方法是使用 MoveResource Rest API 或 ArmClient。
这是您需要进行的 API 调用:
POST https://<endpoint>/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/moveResources?api-version={api-version}
其中,{resourceGroupName}
是源资源组名称。
我很确定终结点应该是 "https://management.azure.com",但如果您使用 ArmClient 工具,则会自动为您处理终结点。
请求正文:
{
"targetResourceGroup": "/subscriptions/{subscriptionId}/resourceGroups/{targetResourceGroupNameName}",
"resources":
[
"/subscriptions/{id}/resourceGroups/{source}/providers/{namespace}/{type}/{name}",
"/subscriptions/{id}/resourceGroups/{source}/providers/{namespace}/{type}/{name}"
]
}
Set-AzureResource
的文档中指出:“您无法使用此cmdlet更改资源的资源组”,而资源组本身似乎不是可以修改的资源。您能否详细说明如何使用Set-AzureResource
重命名资源组? - Brant Bobby