更新时间:2024-04-17 GMT+08:00

AOS.Batch

模型说明

Batch是一个批处理对象,用于批量创建执行任务、部署等。Batch通过定义包含的子对象及批处理的次数来实现其批量化处理的功能。在所有包含对象的批量化处理操作都执行完成后,Batch才会判定为执行成功。目前Batch支持包含的子对象有CCE.Job、CCE.Deployment和AOS.Stack这三种。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

items

定义包含的子元素模板

参数类型:AOS.BatchItem数组

取值说明:用户自定义

取值约束:数组格式,至少1个对象,最多10个

使用建议:用户自定义,可参照https://support.huaweicloud.com/intl/zh-cn/tr-aos/datatypes-aos-batchitem.html

step

最大并发数

参数类型:integer

取值说明:默认不定义步长,即按照最大并发情况进行对象的批量创建。如果指定步长,Batch的批量对象之间会分阶段按批次执行。例如,一个batch对象包含了1个job,定义了步长为5,此时batch批量创建的job6将会依赖job1完成后才会执行,从而实现5的并发数。

取值约束:{u'in_range': [1, 100]}

使用建议:根据规格按需选择

values

定义子元素模板中使用的变量

参数类型:dict

取值说明:用户自定义。Batch对象在执行实例化时,会使用values中的值替换items中定义的properties相应的变量内容,包括内置的变量item、limit、offset。

默认值:{}

使用建议:根据规格按需选择

limit

批量执行的总次数

参数类型:integer

取值说明:用户自定义,取值范围为[1, 500]

取值约束:{u'in_range': [1, 500]}

使用建议:根据规格按需选择

关联关系

表2 关联关系说明

关系说明

关联节点

包含关系

AOS.Stack

包含关系

CCE.Deployment

包含关系

CCE.Job

依赖关系

CCE.Service

依赖关系

EVS.NonSharedVolume

依赖关系

CCE.Deployment

依赖关系

ServiceStage.Agent

依赖关系

SMN.Topic

依赖关系

CCI.Storage.EVS

依赖关系

VPC.VIP

依赖关系

APM.AutoScaler

依赖关系

ServiceStage.AppGroup

依赖关系

FGS.DmsEventMap

依赖关系

VPC.FirewallPolicy.Ingress

依赖关系

VPC.EIP

依赖关系

CDN.Source

依赖关系

RDS.MySQL.User

依赖关系

CCE.Ingress

依赖关系

CDN.Cache

依赖关系

CCI.ConfigMap

依赖关系

DIS.Stream

依赖关系

CCI.Namespace

依赖关系

CCE.Addon.AutoScaler

依赖关系

VPC.FirewallRule

依赖关系

CCE.Cluster

依赖关系

SFS.FileSystem

依赖关系

CDN.RefreshJob

依赖关系

EVS.SharedVolume

依赖关系

CCI.Job

依赖关系

AOS.Stack

依赖关系

FGS.TimerEventMap

依赖关系

NAT.Instance

依赖关系

FGS.ObsEventMap

依赖关系

OBS.Bucket

依赖关系

APIG.ApiGroup

依赖关系

AOS.Batch

依赖关系

CCE.Secret

依赖关系

CCE.Storage.EVS

依赖关系

CCE.Storage.SFS

依赖关系

CCE.HelmRelease

依赖关系

FGS.ApigEventMap

依赖关系

RDS.MySQL.DataBase

依赖关系

CCE.NodePool

依赖关系

IAM.UserGroup

依赖关系

CCI.Deployment

依赖关系

CDN.Domain

依赖关系

CCE.StatefulSet

依赖关系

VPCEndpoint.Endpoint

依赖关系

CCI.Ingress

依赖关系

CCE.Job

依赖关系

CCI.Secret

依赖关系

APIG.API

依赖关系

FGS.LtsEventMap

依赖关系

ServiceStage.ContainerComponent

依赖关系

CCI.Storage.SFS

依赖关系

VPC.FirewallGroup

依赖关系

CCI.StatefulSet

依赖关系

CCE.DaemonSet

依赖关系

RDS.PostgreSQL

依赖关系

ECS.KeyPair

依赖关系

ServiceStage.StatelessApplication

依赖关系

ServiceStage.StatefulApplication

依赖关系

IAM.Agency

依赖关系

FGS.CtsEventMap

依赖关系

DDS.CommunityReplicaSetOrSingle

依赖关系

FGS.DisEventMap

依赖关系

APIG.Throttle

依赖关系

CCE.Pod

依赖关系

DCS.Redis

依赖关系

CDN.Https

依赖关系

VPC.VPC

依赖关系

CDN.PreheatJob

依赖关系

CDN.Referer

依赖关系

ECS.CloudServer

依赖关系

SMN.Subscription

依赖关系

VPC.Subnet

依赖关系

CCE.ConfigMap

依赖关系

FGS.Function

依赖关系

VPC.FirewallPolicy.Egress

依赖关系

CCI.Service

依赖关系

CCE.Storage.OBS

依赖关系

ServiceStage.Job

依赖关系

CDN.Host

依赖关系

ECS.ServerGroup

依赖关系

RDS.MySQL

依赖关系

VPCEndpoint.EndpointService

依赖关系

FGS.SmnEventMap

输出

blueprint样例

tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:
  sample_list: #样本目录名
    default: A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
    type: string
  one_wgs_tpid: 
    description: 单样本处理模板的ID
  sleep_time: 
    default: 120
    label: wgs
node_templates:
  sample: #单样本处理
    type: HuaweiCloud.AOS.Stack
    properties:
      templateId: {get_input: one_wgs_tpid}
      inputs: 
        sleep_time: {get_input: sleep_time}
  sample-all: #对sample1步骤进行批量化
    type: HuaweiCloud.AOS.Batch
    properties:
      limit: {get_list_length: {split: [',', {get_input: sample_list}]}}  #批量个数
      step: 10
      items:
        - element: sample #对第每个样本进行批量
          values: #切分为数组 + 取数组元素.   <==============
            sample_name_list: {split: [',', {get_input: sample_list}]}
          properties: |
            templateId: {get_input: one_wgs_tpid}
            inputs:
              sleep_time: {get_input: sleep_time}
    requirements:
      - item:
          node: sample