Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:Criar um modelo

Última atualização: Jun 28, 2026

Este tópico descreve como criar um modelo personalizado no console do CloudOps Orchestration Service (OOS). Neste exemplo, o modelo personalizado é criado com base no modelo ACS-OOS-ExampleBulkyExecuteCommandsInEcs.CloudOps Orchestration Service (OOS)

  1. Faça login no console do CloudOps Orchestration Service.

  2. No painel de navegação à esquerda, escolha Automated Task > Custom Template. Na página Custom Template, clique em Create Template.image

  3. Use um modelo de exemplo ou um arquivo local para criar o modelo.

    • Selecione ACS-OOS-ExampleBulkyExecuteCommandsInEcs no parâmetro O&M Template e clique em Next Step.image

    • Caso tenha criado um arquivo de modelo .yaml ou .json para executar comandos em várias instâncias do Elastic Compute Service (ECS) simultaneamente, selecione Crie por arquivo local e carregue o arquivo. Após carregar o arquivo, clique em Next Step.image

      Conteúdo do arquivo de modelo

      FormatVersion: OOS-2019-06-01
      Description: Run commands on multiple ECS instances at the same time.
      Parameters:
        targets:
          Label:
            en: TargetInstance
             
          Type: Json
          AssociationProperty: Targets
          AssociationPropertyMetadata:
            ResourceType: ALIYUN::ECS::Instance
            RegionId: regionId
        rateControl:
          Label:
            en: RateControl
             
          Type: Json
          AssociationProperty: RateControl
          Default:
            Mode: Concurrency
            MaxErrors: 0
            Concurrency: 10
      Tasks:
        - Name: getInstance
          Description: Obtain ECS instances.
          Action: ACS::SelectTargets
          Properties:
            ResourceType: ALIYUN::ECS::Instance
            Filters:
              - '{{ targets }}'
          Outputs:
            instanceIds:
              Type: List
              ValueSelector: Instances.Instance[].InstanceId
        - Name: runCommand
          Action: ACS::ECS::RunCommand
          Description: Run Cloud Assistant commands.
          Properties:
            instanceId: '{{ ACS::TaskLoopItem }}'
            commandType: RunShellScript
            commandContent: |-
              #!/bin/bash
      
               
              function job_start()
              {
                  now=`date +'%Y-%m-%d %H:%M:%S'`
                  echo "[$now][$$] job_start"
              }
      
               
              job_start
            regionId: '{{ ACS::RegionId }}'
            workingDir: /root
            enableParameter: false
            timeout: 600
            username: ''
            parameters: {}
            windowsPasswordName: ''
          Outputs:
            invocationOutput:
              Type: String
              ValueSelector: invocationOutput
          Loop:
            Items: '{{ getInstance.instanceIds }}'
            RateControl: '{{ rateControl }}'
            Outputs:
              invocationOutputs:
                AggregateType: Fn::ListJoin
                AggregateField: invocationOutput
      Outputs:
        invocationOutputs:
          Type: List
          Value: '{{ runCommand.invocationOutputs }}'
      
      {
        "FormatVersion": "OOS-2019-06-01",
        "Description": "Run commands on multiple ECS instances at the same time",
        "Parameters": {
          "targets": {
            "Label": {
              "en": "TargetInstance",
               
            },
            "Type": "Json",
            "AssociationProperty": "Targets",
            "AssociationPropertyMetadata": {
              "ResourceType": "ALIYUN::ECS::Instance",
              "RegionId": "regionId"
            }
          },
          "rateControl": {
            "Label": {
              "en": "RateControl",
               
            },
            "Type": "Json",
            "AssociationProperty": "RateControl",
            "Default": {
              "Mode": "Concurrency",
              "MaxErrors": 0,
              "Concurrency": 10
            }
          }
        },
        "Tasks": [
          {
            "Name": "getInstance",
            "Description": “Obtain ECS instances",
            "Action": "ACS::SelectTargets",
            "Properties": {
              "ResourceType": "ALIYUN::ECS::Instance",
              "Filters": [
                "{{ targets }}"
              ]
            },
            "Outputs": {
              "instanceIds": {
                "Type": "List",
                "ValueSelector": "Instances.Instance[].InstanceId"
              }
            }
          },
          {
            "Name": "runCommand",
            "Action": "ACS::ECS::RunCommand",
            "Description": "Run Cloud Assistant commands",
            "Properties": {
              "instanceId": "{{ ACS::TaskLoopItem }}",
              "commandType": "RunShellScript",
              "commandContent": "#!/bin/bash\n\n \nfunction job_start()\n{\n    now=`date +'%Y-%m-%d %H:%M:%S'`\n    echo \"[$now][$$] job_start\"\n}\n\n
              "regionId": "{{ ACS::RegionId }}",
              "workingDir": "/root",
              "enableParameter": false,
              "timeout": 600,
              "username": "",
              "parameters": {},
              "windowsPasswordName": ""
            },
            "Outputs": {
              "invocationOutput": {
                "Type": "String",
                "ValueSelector": "invocationOutput"
              }
            },
            "Loop": {
              "Items": "{{ getInstance.instanceIds }}",
              "RateControl": "{{ rateControl }}",
              "Outputs": {
                "invocationOutputs": {
                  "AggregateType": "Fn::ListJoin",
                  "AggregateField": "invocationOutput"
                }
              }
            }
          }
        ],
        "Outputs": {
          "invocationOutputs": {
            "Type": "List",
            "Value": "{{ runCommand.invocationOutputs }}"
          }
        }
      }
  4. Opcional. As configurações da etapa da tarefa getInstance são predefinidas. Para modificá-las, clique em targets na seção Template Parameters.

    Nota

    Selecione as instâncias do ECS nas quais deseja executar os comandos e configure as informações da instância ao criar uma execução. Para mais informações, consulte Criar uma execução.

  5. Na aba Process Configuration, insira o command content no editor de código e clique em Create Template.

    image

  6. Na caixa de diálogo Template Basic Information, defina o parâmetro Template Name e clique em OK.image

Referências

  • Após criar um modelo, você pode criar e iniciar uma execução com base nele. Para mais informações, consulte Criar uma execução.

  • Se você compreender os riscos de todas as tarefas de um modelo, defina o parâmetro Execution Mode como Automatic ao criar a execução. Para mais informações, consulte Executar uma execução automática.

  • Para iniciar uma execução manualmente, defina o parâmetro Execution Mode como Manual ao criar a execução. Para mais informações, consulte Execução passo a passo.