通过创建系统运维管理(OOS)自定义模板,您可以批量修改同一地域下的数百个资源的同一标签的标签值。
前提条件
已为ECS实例绑定一个标签,详情请参见创建并绑定自定义标签。
背景信息
本文以ECS实例为例,创建一个OOS自定义模板,该模板支持一次性修改数百台ECS实例的同一标签值。ECS实例绑定的源标签键值对为TagKey:OldTagValue
,修改后将变为TagKey:NewTagValue
。
批量修改资源的数量上限为1000,资源数量大于1000时需要多次执行自定义模板。
OOS自定义模板可以修改同一地域下任何支持绑定标签的资源,您只需要根据您的业务需求修改相应接口,支持绑定标签的资源,详情请参见支持标签的云服务。OOS支持的资源,详情请参见OOS支持的云产品列表。
步骤一:创建模板
您可以参考以下步骤,创建批量修改标签值的OOS自定义模板。
登录OOS控制台。
在左侧导航栏,选择 。
在顶部菜单栏左上角处,选择地域。
单击创建模板。
在基本信息区域,输入模板名称。
单击JSON页签,编写模板代码。
模板代码示例:
{ "Description": "批量修改资源的标签值", "FormatVersion": "OOS-2019-06-01", "Parameters": { "operateId": { "Description": "自定义您的操作ID", "Type": "String", "MinLength": 1, "MaxLength": 64 }, "tagKey": { "Description": "当前标签键", "Type": "String", "MinLength": 1, "MaxLength": 64 }, "tagValue": { "Description": "当前标签值", "Type": "String", "MinLength": 1, "MaxLength": 64 }, "newTagValue": { "Description": "修改后的标签值", "Type": "String", "MinLength": 1, "MaxLength": 64 } }, "Tasks": [ { "Name": "DescribeInstances_ECS", "Action": "ACS::ExecuteAPI", "Description": { "zh-cn": "通过标签过滤ECS实例", "en": "filter ecs instances by tags" }, "Properties": { "Service": "ECS", "API": "DescribeInstances", "AutoPaging": true, "Parameters": { "Tags": [ { "Key": "{{ tagKey }}", "Value": "{{ tagValue }}" } ] } }, "Outputs": { "Instances": { "Type": "List", "ValueSelector": "Instances.Instance[].InstanceId" } } }, { "Name": "TagResources_ECS_Instances", "Action": "ACS::ExecuteAPI", "Description": { "zh-cn": "更新ECS实例标签", "en": "tag ecs instances" }, "Properties": { "Service": "ECS", "API": "TagResources", "Parameters": { "Tags": [ { "Key": "{{ tagKey }}", "Value": "{{ newTagValue }}" } ], "ResourceType": "Instance", "ResourceIds": [ "{{ACS::TaskLoopItem}}" ] } }, "Loop": { "MaxErrors": "100%", "Concurrency": 20, "Items": "{{DescribeInstances_ECS.Instances}}" } } ], "Outputs": {} }
单击创建模板。
步骤二:执行模板
您可以参考以下步骤,执行步骤一:创建模板创建的模板,批量修改标签值。
在自定义任务模板页面,找到步骤一:创建模板创建的模板,单击操作列的创建执行。
填写执行描述,并选择执行模式,然后单击下一步:设置参数。
输入各项参数,然后单击下一步:确定。
参数说明如下:
operateId:操作ID,用于区分每次操作,可自定义输入。
tagKey:当前标签键,本示例为
TagKey
。tagValue:当前标签值,即修改前的标签值,本示例为
OldTagValue
。newTagValue:新标签值,即修改后的标签值,本示例为
NewTagValue
。
单击创建。
执行完成后将自动跳转到执行详情页面,可查看执行结果。
说明如果执行失败,您可以通过查看执行日志来定位失败原因。