全部产品
云市场

如何创建 App

更新时间:2018-12-04 19:46:07

下面以控制台操作为例,介绍如何创建一个 App。

create_app_start

在批量计算控制台,通过 App 列表的创建 App 按钮进入创建页面,各参数的含义如下:

  • Name:App 的名称【必填参数】。
  • Daemonize:在 App 执行时,是否只需要启动一次并保持后台运行,而不是每次都要重新启动。默认值 False【必填参数】。
  • CommandLine:执行 App 时的命令行,可以是运行一个程序或脚本【必填参数】。
  • 镜像类型:App 的运行环境,可以是 VM,或者是 Docker【必填参数】。
    • VM:虚拟机镜像,需要填充镜像 ID,可以是批量计算官方提供的镜像类型,也可以是自定义的镜像。
    • Docker:docker 镜像,需要填充 Docke 镜像名称和 Registry 路径。
  • Description:App 的描述信息【选填参数】。

create_app_basic1

  • Config:App 的配置信息【选填参数】,包含了如下参数:
    • ResourceType:资源类型,有按需、包月和竞价类型。
    • InstanceType:App 运行的实例类型。
    • InstanceCount:App 运行的实例个数。
    • MinDiskSize:App 运行的最小系统盘大小。
    • DiskType:App 运行的盘类型。
    • MaxRetryCount:App 的某个实例失败后最大的重试次数。
    • Timeout:App 的实例运行的超时时间。

create_app_config1

注意:以上 Config 中的所有参数,创建 App 时通过默认值指定为某种配置,但是可以设置允许覆盖(OverWritable),表示在提交这个 App 的作业时是否可以用新的配置覆盖原有配置。提交作业时如果用户不指定这些参数,任务运行时会使用默认配置,创建 AutoCluster,运行完成后自动释放掉。对于允许覆盖的(Overwriteable)参数,提交作业时可以使用自定义的配置来覆盖默认值。

  • InputParameters:App 的自定义输入参数。创建 App 时可以自定义一个或多个 String 或 Number 类型的入参。如果是来自 OSS 的输入数据,还可以通过指定 LocalPath 和本地路径做映射。
  • OutputParameters:App 的自定义输出数据的路径。创建 App 时可以自定义一个或多个 String 或 Number 类型的输出参数。同样的,如果是来自 OSS 的路径,可以通过指定 LocalPath 和本地路径做映射。

create_app_input_output1

注意:对于输入输出参数,可以用环境变量的方式来使用,比如:

  • 命令行访问:在 App 的命令行中采用 ${inputparam} 的方式传入每一个 input/output 参数,对于有 LocalPath 的路径,在命令行执行时,批量计算会将其替换成本地路径。
  • 代码中使用:如果 App 的命令行是执行一段代码,可以在代码中用相关的接口获取环境变量。
  • EnvVars:环境变量。使用 map<String, String> 的形式提供的环境变量,可以在 App 运行中使用。

create_app_envvar

关于环境变量的使用,参考 环境变量 中的详细介绍。