場景
當資源上有個標簽鍵: 部門,標簽值:零售,由于部門資源整合要把標簽(鍵: 部門,值:零售)修改為標簽(鍵: 部門,值:新零售),如何快速批量修改標簽呢?
背景信息
運維編排服務OOS通過模板定義您需要編排的運維任務。模板內容支持YAML和JSON兩種格式,模版分為公共模版和自定義模版兩種類型。為了方便您快速使用OOS,OOS提供了公共模板供您直接使用和參考。。在使用模板前您需要仔細審查模板所要執行的運維任務,并優先在測試環境觀察使用效果。
您也可以編寫自定義模板來編寫您所需要的運維任務。更多詳情,請參見模板結構。本文中的TagResourcesFilterByTags是自定義模板
操作步驟
登錄ECS管理控制臺。
在左側導航欄,選擇?運維與監控?>?運維編排。
在頂部狀態欄處,選擇地域。
選擇?我的模板?點擊?創建模版
選擇JSON
以下示例是針對ecs實例及redis實例進行標簽值的更新
operateId : 操作ID,區分每次操作使用
tagKey:標簽鍵,用來過濾資源
tagValue:標簽值,用來過濾資源
tagKey:標簽鍵,要修改目標標簽鍵
newTagValue:新標簽值,要修改后的標簽值
{"Description": "根據標簽查找資源并更新標簽","FormatVersion": "OOS-2019-06-01","Parameters": {"operateId": {"Description": "操作ID,調用者自定義","Type": "String","MinLength": 1,"MaxLength": 64},"tagKey": {"Description": "當前key","Type": "String","MinLength": 1,"MaxLength": 64},"tagValue": {"Description": "當前value","Type": "String","MinLength": 1,"MaxLength": 64},"newTagValue": {"Description": "更新后value","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}}"}},{"OnError": "ACS::NEXT","Name": "DescribeInstances_REDIS","Action": "ACS::ExecuteApi","Description": {"zh-cn": "通過標簽過濾REDIS實例","en": "filter redis(kvstore) instances by tags"},"Properties": {"Service": "R-kvstore","API": "DescribeInstances","AutoPaging": true,"Parameters": {"Tags": [{"Key": "{{ tagKey }}","Value": "{{ tagValue }}"}]}},"Outputs": {"Instances": {"Type": "List","ValueSelector": "Instances.KVStoreInstance[].InstanceId"}}},{"Name": "TagResources_REDIS_Instances","Action": "ACS::ExecuteAPI","Description": {"zh-cn": "更新REDIS實例標簽","en": "tag redis instances"},"Properties": {"Service": "R-kvstore","API": "TagResources","Parameters": {"Tags": [{"Key": "{{ tagKey }}","Value": "{{ newTagValue }}"}],"ResourceType": "Instance","ResourceIds": ["{{ACS::TaskLoopItem}}"]}},"Loop": {"MaxErrors": "100%","Concurrency": 20,"Items": "{{DescribeInstances_REDIS.Instances}}"}}],"Outputs": {}
}
創建執行:
執行詳情:
當執行狀態顯示成功,表示運維任務已完成。
當執行狀態顯示失敗,您可以單擊操作列下的詳情查看執行日志,并根據日志信息分析和調整執行內容。
可以根據本文的代碼修改為自己需要的cases。
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的基于OOS批量修改资源标签值的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。