全部產品
Search
文件中心

Resource Management:使用OOS批量修改標籤值

更新時間:Jun 30, 2024

通過建立系統營運管理(OOS)自訂模板,您可以批量修改同一地區下的數百個資源的同一標籤的標籤值。

前提條件

已為ECS執行個體綁定一個標籤,詳情請參見建立並綁定自訂標籤

背景資訊

本文以ECS執行個體為例,建立一個OOS自訂模板,該模板支援一次性修改數百台ECS執行個體的同一標籤值。ECS執行個體綁定的源標籤索引值對為TagKey:OldTagValue,修改後將變為TagKey:NewTagValue

說明
  • 批量修改資源的數量上限為1000,資源數量大於1000時需要多次執行自訂模板。

  • OOS自訂模板可以修改同一地區下任何支援綁定標籤的資源,您只需要根據您的業務需求修改相應介面,支援綁定標籤的資源,詳情請參見支援標籤的雲端服務OOS支援的資源,詳情請參見OOS支援的雲產品列表

步驟一:建立模板

您可以參考以下步驟,建立批量修改標籤值的OOS自訂模板。

  1. 登入OOS控制台

  2. 在左側導覽列,選擇自動化任務 > 自訂工作範本

  3. 在頂部功能表列左上方處,選擇地區。

  4. 單擊建立模板

  5. 基本資料地區,輸入模板名稱。

  6. 單擊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": {}
    }
  7. 單擊建立模板

步驟二:執行模板

您可以參考以下步驟,執行步驟一:建立模板建立的模板,批量修改標籤值。

  1. 自訂工作範本頁面,找到步驟一:建立模板建立的模板,單擊操作列的建立執行

  2. 填寫執行描述,並選擇執行模式,然後單擊下一步:設定參數

  3. 輸入各項參數,然後單擊下一步:確定

    參數說明如下:

    • operateId:操作ID,用於區分每次操作,可自訂輸入。

    • tagKey:當前標籤鍵,本樣本為TagKey

    • tagValue:當前標籤值,即修改前的標籤值,本樣本為OldTagValue

    • newTagValue:新標籤值,即修改後的標籤值,本樣本為NewTagValue

  4. 單擊建立

    執行完成後將自動跳轉到執行詳情頁面,可查看執行結果。

    說明

    如果執行失敗,您可以通過查看執行日誌來定位失敗原因。