文档首页/ 工业数字模型驱动引擎/ API参考/ API/ 应用管理/ 创建应用 - CreateXdmApplication
更新时间:2026-07-31 GMT+08:00
分享

创建应用 - CreateXdmApplication

功能介绍

本接口用于在工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)中创建应用实例。应用是iDME-数据建模引擎(xDM Foundation,简称xDM-F)的核心资源载体,创建后可用于承载数据模型、业务逻辑及服务编排。每个租户下的应用数量受配额限制,请提前确保配额充足。

接口约束

  • 调用本接口前,系统会自动初始化租户默认配额,并校验当前配额是否充足。若配额不足(如应用数量已达上限),接口将返回配额不足错误,创建失败。

  • 除特定已开通白名单的区域外,其他区域租户必须先购买并开通iDME设计服务(STUDIO),才能调用本接口创建应用。如果当前租户未开通该服务,接口将返回未授权错误。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    dme:apps:create

    Write

    -

    -

    -

    -

URI

POST /v1/{project_id}/apps

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,用于标识资源所属的项目空间。

获取方式请参见获取项目ID

约束限制:

不涉及。

取值范围:

由英文字母和数字组成,长度为1-36个字符。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

IAM用户的认证Token,用于接口调用身份鉴权。

获取方式请参见获取IAM用户Token

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

app_name_cn

String

参数解释:

应用的中文名称,用于在中文界面展示应用名称。

约束限制:

不涉及。

取值范围:

仅支持中文、英文字母、数字、下划线(_)、短横线(-),且不能为“XDM”(不区分大小写),最大长度为128个字符。

默认取值:

不涉及。

app_name_en

String

参数解释:

应用的英文名称,用于系统内部标识和英文界面展示。

约束限制:

不涉及。

取值范围:

仅支持英文字母和数字,且必须以大写字母开头,且不能为“XDM”(不区分大小写),最大长度为128个字符。

默认取值:

不涉及。

app_desc

String

参数解释:

应用的中文描述,说明应用的用途、功能等信息。

约束限制:

不涉及。

取值范围:

仅支持中文、英文字母(大小写)、数字、括号、下划线(_)、短横线(-)、空格及常用标点符号,最大长度为1024个字符。

默认取值:

不涉及。

app_desc_en

String

参数解释:

应用的英文描述,说明应用的用途、功能等信息。

约束限制:

不涉及。

取值范围:

仅支持英文字母(大小写)、数字、下划线(_)、短横线(-)、空格及常用标点符号,最大长度为1024个字符。

默认取值:

不涉及。

app_env

String

参数解释:

应用部署的环境标识,用于区分不同生命周期的环境。

约束限制:

不涉及。

取值范围:

  • dev:用于开发环境。

  • sit:用于功能测试环境。

  • uat:用于用户测试环境。

  • train:用于培训环境。

  • beta:用于灰度部署环境。

  • production:用于生产环境。

默认取值:

不涉及。

database_type

String

参数解释:

应用使用的数据库类型,决定数据存储方案。

约束限制:

不涉及。

取值范围:

  • mysql:关系型数据库管理系统。

  • postgresql:对象-关系型数据库管理系统。

默认取值:

不涉及。

app_user_list

Array of AppUserList objects

参数解释:

应用责任人,用于指定应用的管理者和使用者。

约束限制:

必须填写当前租户下的IAM账户信息,且不能为空数组。

取值范围:

AppUserList对象数组,每个对象包含用户ID和用户名。

默认取值:

不涉及。

integration_mode

String

参数解释

应用的集成模式,定义外部系统访问应用的方式。

约束限制:

不涉及。

取值范围:

  • API:通过RESTful API接口集成。

  • SDK:通过SDK工具包集成。

默认取值:

不涉及。

app_type

String

参数解释:

应用的使用场景类型,区分不同的应用规模。

约束限制:

不涉及。

取值范围:

  • default:标准,适用于企业生产、商用和运营等标准化使用场景。

  • lite:轻量,适用于教学、培训、课程开发等轻量级应用场景。

默认取值:

default。

permission_control

String

参数解释:

应用的权限控制策略,用于数据访问安全控制。

约束限制:

不涉及。

取值范围:

  • NONE:关闭权限校验。租户下的所有IAM用户均可调用。

  • ALL:开启权限校验。

默认取值:

NONE。

id_type

String

参数解释:

应用的ID类型,用于应用运行态中数据模型内置ID的属性类型。

约束限制:

ID类型一经设置,仅支持由数值改为文本,不支持由文本改为数值,且文本类型的应用仅支持JDK17版本。

取值范围:

  • LONG:数值类型

  • STRING:文本类型

默认取值:

LONG。

表4 AppUserList

参数

是否必选

参数类型

描述

id

String

参数解释:

IAM用户的唯一标识,用于区分不同用户。

约束限制:

不涉及。

取值范围:

由英文字母和数字组成,长度为1-36个字符。

默认取值:

不涉及。

name

String

参数解释:

IAM用户的显示名称。

约束限制:

不涉及。

取值范围:

最大长度255个字符。

默认取值:

不涉及。

响应参数

状态码:200

表5 响应Body参数

参数

参数类型

描述

id

String

参数解释:

应用的唯一标识,由系统自动生成。

取值范围:

由英文和数字组成,且长度固定为32个字符。

project_id

String

参数解释:

项目ID,用于标识资源所属的项目空间。

取值范围:

由英文字母和数字组成,长度为1-36个字符。

mark_for_delete

Integer

参数解释:

逻辑删除标记,标识数据是否被标记删除。

取值范围:

  • 0:未删除

  • 1:删除

create_by

String

参数解释:

应用创建人的用户名。

取值范围

不涉及。

create_time

Long

参数解释:

应用的创建时间,格式为Unix时间戳(毫秒)。

取值范围:

不涉及。

update_by

String

参数解释:

最近一次更新应用的用户名。

取值范围:

不涉及。

update_time

Long

参数解释:

应用的最近更新时间,格式为Unix时间戳(毫秒)。

取值范围:

不涉及。

name_cn

String

参数解释:

应用的中文名称。

取值范围:

仅支持中文、英文字母、数字、下划线(_)、短横线(-),且不能为“XDM”(不区分大小写),最大长度为128个字符。

name_en

String

参数解释:

应用的英文名称。

取值范围:

仅支持英文字母和数字,且必须以大写字母开头,且不能为“XDM”(不区分大小写),最大长度为128个字符。

desc_cn

String

参数解释:

应用的中文描述。

取值范围:

仅支持中文、英文字母(大小写)、数字、括号、下划线(_)、短横线(-)、空格及常用标点符号,最大长度为1024个字符。

desc_en

String

参数解释:

应用的英文描述。

取值范围:

仅支持英文字母(大小写)、数字、下划线(_)、短横线(-)、空格及常用标点符号,最大长度为1024个字符。

database_type

String

参数解释:

应用的数据库类型。

取值范围:

  • mysql:关系型数据库管理系统。

  • postgresql:对象-关系型数据库管理系统。

environment

String

参数解释:

应用运行的环境标识。

取值范围:

  • dev:用于开发环境。

  • sit:用于功能测试环境。

  • uat:用于用户测试环境。

  • train:用于培训环境。

  • beta:用于灰度部署环境。

  • production:用于生产环境。

versions

Array of Version objects

参数解释:

应用版本信息。

取值范围:

不涉及。

migrating

Boolean

参数解释:

判断是否在迁移中。

取值范围:

true:迁移中。

false:未迁移。

migrate_status

String

参数解释:

迁移状态。

取值范围:

  • 0:未迁移

  • 1:迁移中

app_type

String

参数解释:

应用的使用场景类型,区分不同的应用规模。

取值范围:

  • default:标准,适用于企业生产、商用和运营等标准化使用场景。

  • lite:轻量,适用于教学、培训、课程开发等轻量级应用场景。

permission_control

String

参数解释:

应用的权限控制策略,用于数据访问安全控制。

取值范围:

  • NONE:关闭权限校验。租户下的所有IAM用户均可调用。

  • ALL:开启权限校验。

id_type

String

参数解释:

应用的ID类型,用于应用运行态中数据模型内置ID的属性类型。

取值范围:

  • LONG:数值类型

  • STRING:文本类型

表6 Version

参数

参数类型

描述

version

String

参数解释:

应用版本。

取值范围:

不涉及。

publish_time

Long

参数解释:

应用发布时间。

取值范围:

不涉及。

jdk_version

Integer

参数解释:

应用的JDK版本。

取值范围:

  • JDK17

  • JDK8

model_count

Integer

参数解释:

xDM-F版本模型数。

取值范围:

大于等于0的整数。

请求示例

创建一个中文名称为“测试应用”、英文名称为“TEST”、环境为“dev”的标准使用场景的应用。

POST https://{endpoint}/v1/71710b9f65b9496d96f53f4ef7f6128b/apps

{
  "app_name_cn" : "测试应用",
  "app_name_en" : "TEST",
  "app_env" : "dev",
  "app_desc" : "这是一个测试应用",
  "app_desc_en" : "This is a test application",
  "app_type" : "default",
  "permission_control" : "ALL",
  "database_type" : "mysql",
  "integration_mode" : "API",
  "app_user_list" : [ {
    "id" : "user001",
    "name" : "ADMIN"
  }, {
    "id" : "user002",
    "name" : "DEVELOPER"
  } ]
}

响应示例

状态码:200

表示创建应用成功。

{
  "id" : "",
  "project_id" : "71710b9f65b9496d96f53f4ef7f6128b",
  "mark_for_delete" : 0,
  "create_by" : "",
  "create_time" : 1685987901000,
  "update_by" : "",
  "update_time" : 1685987901000,
  "name_cn" : "测试应用",
  "name_en" : "TEST",
  "desc_cn" : "这是一个测试应用",
  "desc_en" : "This is a test application",
  "database_type" : "mysql",
  "environment" : "dev",
  "migrate_status" : "0",
  "app_type" : "default",
  "permission_control" : "NONE",
  "id_type" : "LONG",
  "versions" : null,
  "migrating" : false
}

状态码

状态码

描述

200

表示创建应用成功。

错误码

请参见错误码

相关文档