下面以控制台操作为例,介绍如何创建一个 App。
在批量计算控制台,通过 App 列表的创建 App 按钮进入创建页面,各参数的含义如下:
- Name:App 的名称【必填参数】。
- Daemonize:在 App 执行时,是否只需要启动一次并保持后台运行,而不是每次都要重新启动。默认值 False【必填参数】。
- CommandLine:执行 App 时的命令行,可以是运行一个程序或脚本【必填参数】。
- 镜像类型:App 的运行环境,可以是 VM,或者是 Docker【必填参数】。
- VM:虚拟机镜像,需要填充镜像 ID,可以是批量计算官方提供的镜像类型,也可以是自定义的镜像。
- Docker:docker 镜像,需要填充 Docker 镜像名称和 Registry 路径。
- Description:App 的描述信息【选填参数】。
Config:App 的配置信息【选填参数】,包含了如下参数:
- ResourceType:资源类型,有按需、包月和竞价类型。
- InstanceType:App 运行的实例类型。
- InstanceCount:App 运行的实例个数。
- MinDiskSize:App 运行的最小系统盘大小。
- DiskType:App 运行的盘类型。
- MaxRetryCount:App 的某个实例失败后最大的重试次数。
- Timeout:App 的实例运行的超时时间。
注意:以上 Config 中的所有参数,创建 App 时通过默认值指定为某种配置,但是可以设置允许覆盖(OverWritable),表示在提交这个 App 的作业时是否可以用新的配置覆盖原有配置。提交作业时如果用户不指定这些参数,任务运行时会使用默认配置,创建 AutoCluster,运行完成后自动释放掉。对于允许覆盖的(Overwriteable)参数,提交作业时可以使用自定义的配置来覆盖默认值。
- InputParameters:App 的自定义输入参数。创建 App 时可以自定义一个或多个 String 或 Number 类型的入参。如果是来自 OSS 的输入数据,还可以通过指定 LocalPath 和本地路径做映射。
- OutputParameters:App 的自定义输出数据的路径。创建 App 时可以自定义一个或多个 String 或 Number 类型的输出参数。同样的,如果是来自 OSS 的路径,可以通过指定 LocalPath 和本地路径做映射。
注意:对于输入输出参数,可以用环境变量的方式来使用,比如:
- 命令行访问:在 App 的命令行中采用 ${inputparam} 的方式传入每一个 input/output 参数,对于有 LocalPath 的路径,在命令行执行时,批量计算会将其替换成本地路径。
- 代码中使用:如果 App 的命令行是执行一段代码,可以在代码中用相关的接口获取环境变量。
- EnvVars:环境变量。使用
map<String, String>
的形式提供的环境变量,可以在 App 运行中使用。
关于环境变量的使用,参考 环境变量 中的详细介绍。