我们如何在天蓝色资源(VM,DB,功能应用程序)上创建新标签或更新现有标签。 AWS具有实例,图像。的create_tags。.azure中有这种方法吗?
谢谢
答案 0 :(得分:2)
是的,您可以通过两种方式做到这一点。
(i) Using Powershell Cmdlet 下面添加新标签或使用新值更新现有标签。
Set-AzureRmResource -Tag @( @{ Name="tag_name"; Value="tag_value" }) -ResourceId <resource_id>
(ii)使用C#
using Microsoft.Azure.Management.Resources;
using Microsoft.Azure.Management.Resources.Models;
//MyResourceOperation implemented interface IResourcesOperations
MyResourceOperation resourceOpertion = new MyResourceOperation();
//Get a resource belonging to a resource group
Resource myResource = resourceOpertion.Get("resourceGroupName", "resourceProviderNamespace", "parentResourcePath", "resourceType", "resourceName", "apiVersion");
//update the assigned tag with a new value
myResource.Tags.Add("tagName", "updatedValue");
答案 1 :(得分:1)
如4c74356b41所述,您可以使用Azure rest Api为天蓝色资源创建标签。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}?api-version=2019-08-01
对于下面的示例,我使用az rest cli为我的Azure SQL日期库创建标签。
az login --service-principal --username "<clientid>" --password "<clientpassword>" --tenant "<tenantid>"
$subscriptionId ="<subscriptionId >"
$resourceGroupName="<resourceGroupName>"
$uri = "/subscriptions/$subscriptionId/resourcegroups/$resourceGroupName/providers/Microsoft.Sql/servers/levi-sql-server/databases/levi_sql_database?api-version=2019-06-01-preview"
$body = '{\"tags\": {\"name\":\"firstdatabasetag\"},\"location\":\"westcentralus\"}'
az rest --method put --uri $uri --body $body
经过测试,我发现某些资源api可能不支持最新的api-version=2019-08-01
。以上用于更新数据库标记的api仅支持api-version=2019-06-01-preview
及更早版本。但是没有必要打错,如果使用了不受支持的api版本,则会收到警告。
有关调用天蓝色api的其他方法,您可以参考this blog。
还有其他方法,例如azure powershell命令(如Sajeetharan所述)和az cli,可让您使用其更新命令来设置标签属性。
答案 2 :(得分:1)
试图解决几天特定Azure资源的标签问题,文档尚不清楚,无法理解如何使用该线程中的解决方案来做到这一点。
最终通过运行powershell命令进行相同的操作来弄清楚(具有更好的示例here文档,并使用fiddler捕获了API调用以找出所使用的格式。
使用我的解决方案更新线程,以便对其他人有用。
REST API文档在下面的链接中。我向Azure支持寻求帮助,但他们在过去1周没有回来。
https://docs.microsoft.com/en-us/rest/api/resources/tags/updateatscope
为虚拟机添加/编辑标签的示例。基本上需要使用PATCH操作。 PUT操作将替换所有现有标签。
修补程序https://management.azure.com/subscriptions/>subscriptionId resourcegrp VM名称
$Body =
{
"operation": "merge",
"properties": {
"tags": {
"testtag": "testvalue",
"testtag2": "",
"existingtag": "updatedtagvalue"
}
}
}
注意:“合并”操作对于合并或编辑标签很重要。 “删除”用于删除特定的现有标签,“替换”用于将现有标签替换为新标签。