方法说明
创建一个App(createApp
)。
调用方法
CreateAppResponse createApp(AppDescription appDescription) throws ClientException;
CreateAppResponse createApp(CreateAppRequest req) throws ClientException;
CreateAppResponse createApp(AppDescription appDescription, String idempotentToken) throws ClientException;
参数说明
参数 |
类型 |
是否必需 |
说明 |
appDescription |
AppDescription |
是 |
创建App的描述。 |
下面类的包名都是: com.aliyuncs.batchcompute.pojo.v20151111
AppDescription 的属性
均有getter和setter方法。
属性 |
类型 |
是否必需 |
说明 |
name |
String |
是 |
App名称。 |
description |
String |
否 |
简短描述。 |
inputParameters |
Map<String, InputParameterValue> |
否 |
输入参数描述。 |
outputParameters |
Map<String, OutputParameterValue> |
否 |
输出参数描述。 |
docker |
AppDescription.Docker |
否 |
使用Docker配置。Docker和VM必须选一个配置。 |
vm |
AppDescription.VM |
否 |
使用ECS虚拟机相关配置。Docker和VM必须选一个配置。 |
commandLine |
String |
是 |
执行应用时的命令行。 |
envVars |
Map<String, String> |
否 |
环境变量。Map大小不能大于50,不能小于0。对于Key,允许的字符集为[a-zA-Z0-9_-],长度不能大于100。对于Value,长度不能大于1000。默认值:{} |
daemonize |
Boolean |
否 |
应用在执行时,是否每次都要重新启动。默认值:False |
config |
AppDescription.Config |
否 |
提交作业时的运行时参数 |
参数名称 |
类型 |
必选 |
描述 |
description |
string |
否 |
参数描述。长度不能大于1000。默认值:空 |
type |
string |
否 |
参数类型。枚举类型,可选值为:String、Number。默认值:String |
defaultValue |
Any |
否 |
参数默认值。类型必须与Type指定的类型相同。默认值:null |
localPath |
string |
否 |
LocalPath不为空说明该参数是OSS上的一个文件或者目录。在计算分析时,系统会将该参数值指定的OSS文件或者目录映射为本地LocalPath指定的文件或者目录。仅支持使用UTF-8编码。如果是目录,则必须以/结尾。长度不能大于1000。默认值:空 |
AppDescription.OutputParameterValue 的属性
参数名称 |
类型 |
必选 |
描述 |
description |
string |
否 |
参数描述。长度不能大于1000。默认值:空 |
type |
string |
否 |
参数类型。枚举类型,可选值为:String、Number。默认值:String |
localPath |
string |
否 |
LocalPath不为空说明该参数是OSS上的一个文件或者目录。在计算分析时,系统会将本地LocalPath指定的文件或者目录映射为该参数值指定的OSS文件或者目录。仅支持使用UTF-8编码。如果是目录,则必须以/结尾。长度不能大于1000。默认值:空 |
AppDescription.Docker 的属性
参数名称 |
类型 |
必选 |
描述 |
image |
string |
是 |
Docker镜像。长度不能大于1000 |
registryOSSPath |
string |
否 |
docker registry storage在OSS上的根目录。长度不能大于1000。默认值:空 |
AppDescription.VM 的属性
参数名称 |
类型 |
必选 |
描述 |
ECSImageId |
string |
是 |
ECS镜像Id。允许的字符集为[a-zA-Z0-9_-],长度不能大于100 |
AppDescription.Config 的属性
参数名称 |
类型 |
必选 |
描述 |
resourceType |
App.ConfigValue |
否 |
资源类型 |
instanceType |
App.ConfigValue |
否 |
实例类型 |
instanceCount |
App.ConfigValueInteger |
否 |
实例个数 |
minDiskSize |
App.ConfigValue |
否 |
最小系统磁盘大小(GB) |
diskType |
App.ConfigValue |
否 |
系统磁盘类型 |
maxRetryCount |
App.ConfigValueInteger |
否 |
某个Instance失败后,最大重试次数 |
timeout |
App.ConfigValueLong |
否 |
Instance的运行时超时时间,单位为秒 |
AppDescription.ConfigValue 的属性
参数名称 |
类型 |
必选 |
描述 |
description |
string |
否 |
给APP使用者的详细描述 |
defaultValue |
string |
否 |
参数默认值 |
overwritable |
boolean |
否 |
用户使用该APP提交作业时,是否可以覆盖掉默认值 |
AppDescription.ConfigValueInteger 的属性
参数名称 |
类型 |
必选 |
描述 |
description |
string |
否 |
给APP使用者的详细描述 |
defaultValue |
int |
否 |
参数默认值 |
overwritable |
boolean |
否 |
用户使用该APP提交作业时,是否可以覆盖掉默认值 |
AppDescription.ConfigValueLong 的属性
参数名称 |
类型 |
必选 |
描述 |
description |
string |
否 |
给APP使用者的详细描述 |
defaultValue |
long |
否 |
参数默认值 |
overwritable |
boolean |
否 |
用户使用该APP提交作业时,是否可以覆盖掉默认值 |
返回值说明
- 创建成功后返回一个CreateAppResponse实例,可以通过 response.getAppName() 获取创建的App名称。
类型 |
说明 |
CreateAppResponse |
可以获取创建成功的AppName。 |
CreateAppResponse的包名为:com.aliyuncs.batchcompute.model.v20151111,下面的其他Response都是在这个包下面。
- 创建失败后,抛出异常: ClientException。
代码示例
try{
CreateAppResponse response = client.createApp(appDescription);
String appName = response.getAppName();
//创建成功
}catch(ClientException e){
e.printStackTrace();
//创建失败
}