summaryrefslogtreecommitdiff
path: root/data/zh_cn/emr-serverless-spark
diff options
context:
space:
mode:
Diffstat (limited to 'data/zh_cn/emr-serverless-spark')
-rw-r--r--data/zh_cn/emr-serverless-spark/2023-08-08/api-docs.php18107
1 files changed, 7328 insertions, 10779 deletions
diff --git a/data/zh_cn/emr-serverless-spark/2023-08-08/api-docs.php b/data/zh_cn/emr-serverless-spark/2023-08-08/api-docs.php
index 0d13f08..baaa2a1 100644
--- a/data/zh_cn/emr-serverless-spark/2023-08-08/api-docs.php
+++ b/data/zh_cn/emr-serverless-spark/2023-08-08/api-docs.php
@@ -1,1160 +1,593 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'ROA',
- 'product' => 'emr-serverless-spark',
- 'version' => '2023-08-08',
- ],
+ 'info' => ['style' => 'ROA', 'product' => 'emr-serverless-spark', 'version' => '2023-08-08'],
'directories' => [
[
- 'id' => 389575,
- 'title' => '权限管理',
+ 'children' => ['AddMembers', 'ListMembers', 'GrantRoleToUsers'],
'type' => 'directory',
- 'children' => [
- 'AddMembers',
- 'ListMembers',
- 'GrantRoleToUsers',
- ],
+ 'title' => '权限管理',
+ 'id' => 144143,
],
[
- 'id' => 389579,
- 'title' => '会话管理',
+ 'children' => ['GetSessionCluster', 'CreateSessionCluster', 'StopSessionCluster', 'StartSessionCluster', 'ListSessionClusters'],
'type' => 'directory',
- 'children' => [
- 'GetSessionCluster',
- 'CreateSessionCluster',
- 'StopSessionCluster',
- 'StartSessionCluster',
- 'ListSessionClusters',
- ],
+ 'title' => '会话管理',
+ 'id' => 144133,
],
[
- 'id' => 389585,
- 'title' => 'Gateway',
- 'type' => 'directory',
'children' => [
[
- 'id' => 389586,
+ 'children' => ['ListKyuubiSparkApplications', 'CancelKyuubiSparkApplication', 'DeleteKyuubiToken', 'UpdateKyuubiToken', 'GetKyuubiToken', 'CreateKyuubiToken', 'ListKyuubiToken', 'ListKyuubiServices', 'CreateKyuubiService', 'GetKyuubiService', 'UpdateKyuubiService', 'DeleteKyuubiService', 'StartKyuubiService', 'StopKyuubiService'],
+ 'type' => 'directory',
'title' => 'Kyuubi Gateway',
+ 'id' => 144148,
+ ],
+ [
+ 'children' => ['ListLivyComputeSessions', 'DeleteLivyCompute', 'CreateLivyCompute', 'UpdateLivyCompute', 'ListLivyCompute', 'StartLivyCompute', 'RefreshLivyComputeToken', 'GetLivyComputeToken', 'CreateLivyComputeToken', 'DeleteLivyComputeToken', 'StopLivyCompute', 'ListLivyComputeToken', 'GetLivyCompute'],
'type' => 'directory',
- 'children' => [
- 'ListKyuubiSparkApplications',
- 'CancelKyuubiSparkApplication',
- 'DeleteKyuubiToken',
- 'UpdateKyuubiToken',
- 'GetKyuubiToken',
- 'CreateKyuubiToken',
- 'ListKyuubiToken',
- 'ListKyuubiServices',
- 'CreateKyuubiService',
- 'GetKyuubiService',
- 'UpdateKyuubiService',
- 'DeleteKyuubiService',
- 'StartKyuubiService',
- 'StopKyuubiService',
- ],
- ],
- [
- 'id' => 389601,
'title' => 'Livy Gateway',
- 'type' => 'directory',
- 'children' => [
- 'ListLivyComputeSessions',
- 'DeleteLivyCompute',
- 'CreateLivyCompute',
- 'UpdateLivyCompute',
- 'ListLivyCompute',
- 'StartLivyCompute',
- 'RefreshLivyComputeToken',
- 'GetLivyComputeToken',
- 'CreateLivyComputeToken',
- 'DeleteLivyComputeToken',
- 'StopLivyCompute',
- 'StopLivyCompute',
- 'ListLivyComputeToken',
- 'GetLivyCompute',
- ],
+ 'id' => 144156,
],
],
+ 'type' => 'directory',
+ 'title' => 'Gateway',
+ 'id' => 144147,
],
[
- 'id' => 389615,
- 'title' => '数据开发',
+ 'children' => ['TerminateSqlStatement', 'CreateSqlStatement', 'GetSqlStatement', 'ListSqlStatementContents'],
'type' => 'directory',
- 'children' => [
- 'GetTemplate',
- 'TerminateSqlStatement',
- 'CreateSqlStatement',
- 'GetSqlStatement',
- 'ListSqlStatementContents',
- ],
+ 'title' => '数据开发',
+ 'id' => 144127,
],
[
- 'id' => 389621,
- 'title' => '工作空间管理',
+ 'children' => ['ListWorkspaceQueues', 'EditWorkspaceQueue'],
'type' => 'directory',
- 'children' => [
- 'CreateWorkspace',
- 'ListWorkspaces',
- 'ListWorkspaceQueues',
- 'EditWorkspaceQueue',
- ],
+ 'title' => '工作空间管理',
+ 'id' => 144122,
],
[
- 'id' => 389626,
- 'title' => 'Spark版本管理',
+ 'children' => ['ListReleaseVersions'],
'type' => 'directory',
- 'children' => [
- 'ListReleaseVersions',
- ],
+ 'title' => 'Spark版本管理',
+ 'id' => 144112,
],
[
- 'id' => 389628,
- 'title' => 'Spark任务管理',
+ 'children' => ['ListJobExecutors', 'ListLogContents', 'GetCuHours', 'GetDoctorApplication', 'CancelJobRun', 'ListJobRuns', 'GetJobRun', 'StartJobRun', 'GetRunConfiguration'],
'type' => 'directory',
- 'children' => [
- 'ListJobExecutors',
- 'ListLogContents',
- 'GetCuHours',
- 'GetDoctorApplication',
- 'CancelJobRun',
- 'ListJobRuns',
- 'GetJobRun',
- 'StartJobRun',
- 'GetRunConfiguration',
- ],
+ 'title' => 'Spark任务管理',
+ 'id' => 144114,
],
[
- 'id' => 389638,
- 'title' => '任务编排',
+ 'children' => ['ListRayLogs', 'GetRayLog', 'CancelRayJob', 'SubmitRayJob', 'ListRayJob', 'GetRayJob'],
'type' => 'directory',
- 'children' => [
- 'StartProcessInstance',
- 'UpdateProcessDefinitionWithSchedule',
- 'CreateProcessDefinitionWithSchedule',
- 'GenerateTaskCodes',
- ],
+ 'title' => 'Ray任务管理',
+ 'id' => 453886,
],
[
- 'id' => 389643,
- 'title' => '集群管理',
+ 'children' => ['StartProcessInstance', 'UpdateProcessDefinitionWithSchedule', 'CreateProcessDefinitionWithSchedule', 'GenerateTaskCodes'],
'type' => 'directory',
+ 'title' => '任务编排',
+ 'id' => 144139,
+ ],
+ [
'children' => [
[
- 'id' => 389644,
- 'title' => 'Ray集群',
+ 'children' => ['UpdateRayCluster', 'GetRayCluster', 'ListRayCluster', 'StopRayCluster', 'StartRayCluster', 'DeleteRayCluster', 'CreateRayCluster'],
'type' => 'directory',
- 'children' => [
- 'UpdateRayCluster',
- 'GetRayCluster',
- 'ListRayCluster',
- 'StopRayCluster',
- 'StartRayCluster',
- 'DeleteRayCluster',
- 'CreateRayCluster',
- ],
+ 'title' => 'Ray集群',
+ 'id' => 384693,
],
],
+ 'type' => 'directory',
+ 'title' => '集群管理',
+ 'id' => 384692,
],
[
- 'id' => 389652,
- 'title' => '其他',
+ 'children' => ['ListNetworkServices', 'CreateNetworkService'],
'type' => 'directory',
- 'children' => [
- 'ListCatalogs',
- 'ListTemplate',
- ],
+ 'title' => '网络连接',
+ 'id' => 439891,
+ ],
+ [
+ 'children' => ['ListCatalogs', 'ListExecutorLogs', 'GetCacheCluster', 'StartCacheCluster', 'StopCacheCluster', 'ActivateAICenter', 'ChangeResourceGroup', 'CreateWorkspace', 'GetAICenterState', 'GetTemplate', 'ListTemplate', 'ListWorkspaces', 'UpdateWorkspace'],
+ 'type' => 'directory',
+ 'title' => '其他',
+ 'id' => 197154,
],
],
'components' => [
'schemas' => [
- 'Artifact' => [
+ 'CacheCluster' => [
+ 'title' => 'cache集群'."\n",
'type' => 'object',
'properties' => [
- 'fullPath' => [
- 'title' => '资源文件目录全路径',
+ 'clusterId' => ['title' => 'cache集群名称', 'type' => 'string'],
+ 'name' => ['title' => 'cache集群名称'."\n", 'type' => 'string'],
+ 'state' => ['title' => 'cache集群状态', 'type' => 'string'],
+ 'creator' => ['title' => '创建者uid', 'type' => 'string'],
+ 'modifier' => ['title' => '更新者uid', 'type' => 'string'],
+ 'paymentType' => ['title' => '付费模式', 'type' => 'string'],
+ 'resourceSpec' => [
+ 'title' => 'cache集群规格'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'bandWidth' => ['title' => '带宽'."\n", 'type' => 'integer', 'format' => 'int64'],
+ 'storage' => ['title' => '物理存储', 'type' => 'integer', 'format' => 'int64'],
+ 'ha' => ['type' => 'boolean'],
+ ],
+ ],
+ 'regionId' => ['type' => 'string'],
+ 'usedResourceSpec' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'bandWidth' => ['type' => 'integer', 'format' => 'int64'],
+ 'storage' => ['type' => 'integer', 'format' => 'int64'],
+ ],
+ ],
+ 'gmtCreated' => ['type' => 'integer', 'format' => 'int64'],
+ 'gmtModified' => ['type' => 'integer', 'format' => 'int64'],
+ 'configuration' => ['type' => 'string'],
+ 'resourceGroupId' => ['type' => 'string'],
+ 'cacheClusterId' => ['type' => 'string'],
+ 'createTime' => ['type' => 'string'],
+ 'cacheClusterName' => ['type' => 'string'],
+ 'version' => ['type' => 'string'],
+ 'configurations' => [
'type' => 'array',
'items' => [
- 'type' => 'string',
- 'example' => '目录名称',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => [
+ 'type' => 'string',
+ 'example' => 'cacheset.xml',
+ 'default' => 'cacheset.xml',
+ 'enum' => ['cacheset.xml'],
+ ],
+ 'content' => ['type' => 'string'],
+ ],
],
],
- 'gmtModified' => [
- 'title' => '创建时间',
- 'type' => 'string',
- 'required' => true,
- ],
- 'creator' => [
- 'title' => '创建者uid',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- ],
- 'credential' => [
- 'title' => '资源文件访问密钥',
- '$ref' => '#/components/schemas/Credential',
- ],
- 'gmtCreated' => [
- 'title' => '最后更新时间',
- 'type' => 'string',
- 'required' => true,
- ],
- 'modifier' => [
- 'title' => '最后更新者uid',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- ],
- 'bizId' => [
- 'title' => '资源文件业务id',
- 'type' => 'string',
- 'required' => true,
- ],
- 'name' => [
- 'title' => '资源文件名称',
- 'type' => 'string',
- 'required' => true,
+ 'bindedWorkspaces' => [
+ 'title' => '绑定工作空间',
+ 'type' => 'array',
+ 'items' => ['title' => '工作空间id', 'type' => 'string'],
],
- 'location' => [
- 'title' => '资源文件地址',
- 'type' => 'string',
- 'required' => true,
+ 'cachesets' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['type' => 'string'],
+ 'path' => ['type' => 'string'],
+ ],
+ ],
],
- 'catagoryBizId' => [
- 'title' => '资源文件所属目录',
- 'type' => 'string',
+ 'tags' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['type' => 'string'],
+ 'value' => ['type' => 'string'],
+ ],
+ ],
],
- 'modifierName' => [
- 'type' => 'string',
+ 'tables' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'catalogId' => ['type' => 'string'],
+ 'catalogProvider' => ['type' => 'string'],
+ 'database' => ['type' => 'string'],
+ 'table' => ['type' => 'string'],
+ 'workspaceId' => ['type' => 'string'],
+ ],
+ ],
],
+ 'extra' => ['type' => 'string'],
],
],
'Category' => [
'description' => '文件夹信息。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
'type' => [
'title' => '目录类型',
'description' => '文件夹类型。',
+ 'visibility' => 'Public',
'type' => 'string',
'required' => true,
'example' => 'TASK',
+ 'checkBlank' => true,
+ 'backendName' => 'type',
+ 'bizType' => 'normal',
+ 'trim' => true,
'default' => 'TASK',
- 'enum' => [
- 'TASK',
- 'ARTIFACT',
- ],
- ],
- 'gmtModified' => [
- 'title' => '最后更新时间',
- 'description' => '最后更新时间。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2025-03-10T02:02:41.000+00:00',
- ],
- 'creator' => [
- 'title' => '创建者uid',
- 'description' => '创建者UID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '150978934701****',
- ],
- 'gmtCreated' => [
- 'title' => '创建时间',
- 'description' => '创建时间。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2025-03-10T02:02:41.000+00:00',
- ],
- 'modifier' => [
- 'title' => '最后更新者uid',
- 'description' => '最后更新者UID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '150978934701****',
- ],
- 'bizId' => [
- 'title' => '目录业务id',
- 'description' => '文件夹ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d8********',
+ 'enum' => ['TASK', 'ARTIFACT'],
],
+ 'gmtModified' => ['title' => '最后更新时间', 'description' => '最后更新时间。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => '2025-03-10T02:02:41.000+00:00', 'backendName' => 'gmtModified'],
+ 'creator' => ['title' => '创建者uid', 'description' => '创建者UID。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '150978934701****', 'backendName' => 'creator'],
+ 'gmtCreated' => ['title' => '创建时间', 'description' => '创建时间。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => '2025-03-10T02:02:41.000+00:00', 'backendName' => 'gmtCreated'],
+ 'modifier' => ['title' => '最后更新者uid', 'description' => '最后更新者UID。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '150978934701****', 'backendName' => 'modifier'],
+ 'bizId' => ['title' => '目录业务id', 'description' => '文件夹ID。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'w-d8********', 'backendName' => 'bizId'],
'name' => [
- 'title' => '目录名臣',
- 'description' => '文件夹名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'name',
- 'maxLength' => 64,
- 'minLength' => 1,
- ],
- 'parentBizId' => [
- 'title' => '父目录业务id',
- 'description' => '父文件夹ID。',
- 'type' => 'string',
- 'example' => 'w-d6********',
+ 'title' => '目录名臣', 'description' => '文件夹名称。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'name', 'maxLength' => 64, 'minLength' => 1, 'checkBlank' => true, 'backendName' => 'name',
+ 'bizType' => 'normal', 'trim' => true,
],
+ 'parentBizId' => ['title' => '父目录业务id', 'description' => '父文件夹ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'w-d6********', 'backendName' => 'parentBizId'],
],
],
'Configuration' => [
'title' => 'A short description of struct',
'description' => '配置信息。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
- 'configFileName' => [
- 'title' => '配置文件名称',
- 'description' => '配置文件名称。',
- 'type' => 'string',
- 'example' => 'common.conf',
- ],
- 'configItemKey' => [
- 'title' => '配置项名称',
- 'description' => '配置项名称。',
- 'type' => 'string',
- 'example' => 'hive.metastore.type',
- ],
- 'configItemValue' => [
- 'title' => '配置项值',
- 'description' => '配置项值。',
- 'type' => 'string',
- 'example' => 'USER_RDS',
- ],
- ],
- ],
- 'ConfigurationOverrides' => [
- 'title' => 'A short description of struct',
- 'type' => 'object',
- 'properties' => [
- 'configurations' => [
- 'title' => 'configurations',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'configFileName' => [
- 'title' => 'configFileName',
- 'type' => 'string',
- ],
- 'configItemKey' => [
- 'title' => 'configItemKey',
- 'type' => 'string',
- ],
- 'configItemValue' => [
- 'title' => 'configItemValue',
- 'type' => 'string',
- ],
- ],
- ],
- ],
- ],
- ],
- 'Credential' => [
- 'type' => 'object',
- 'properties' => [
- 'securityToken' => [
- 'title' => 'sts token',
- 'type' => 'string',
- 'required' => true,
- ],
- 'accessId' => [
- 'title' => 'sts ak',
- 'type' => 'string',
- 'required' => true,
- ],
- 'signature' => [
- 'title' => 'oss访问签名',
- 'type' => 'string',
- 'required' => true,
- ],
- 'expire' => [
- 'title' => '超时时间',
- 'type' => 'string',
- 'required' => true,
- ],
- 'host' => [
- 'title' => 'oss域名',
- 'type' => 'string',
- 'required' => true,
- ],
- 'dir' => [
- 'title' => 'oss路径',
- 'type' => 'string',
- 'required' => true,
- ],
- 'policy' => [
- 'title' => 'oss访问策略',
- 'type' => 'string',
- 'required' => true,
- ],
+ 'configFileName' => ['title' => '配置文件名称', 'description' => '配置文件名称。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'common.conf', 'backendName' => 'configFileName'],
+ 'configItemKey' => ['title' => '配置项名称', 'description' => '配置项名称。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'hive.metastore.type', 'backendName' => 'configItemKey'],
+ 'configItemValue' => ['title' => '配置项值', 'description' => '配置项值。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'USER_RDS', 'backendName' => 'configItemValue'],
],
],
'JobDriver' => [
'title' => 'A short description of struct',
'description' => 'Spark作业提交配置信息。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
'sparkSubmit' => [
'title' => 'sparkSubmit',
'description' => 'SparkSubmit配置信息。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
- 'entryPoint' => [
- 'title' => 'entryPoint',
- 'description' => 'Spark主程序。',
- 'type' => 'string',
- 'example' => 'oss://bucket/path/to/entrypoint.jar',
- ],
+ 'entryPoint' => ['title' => 'entryPoint', 'description' => 'Spark主程序。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'oss://bucket/path/to/entrypoint.jar', 'backendName' => 'entryPoint'],
'entryPointArguments' => [
'title' => 'entryPointArguments',
'description' => 'Spark主程序参数列表。',
+ 'visibility' => 'Public',
'type' => 'array',
- 'items' => [
- 'description' => 'Spark主程序参数。',
- 'type' => 'string',
- 'example' => 'arg1',
- ],
+ 'items' => ['description' => 'Spark主程序参数。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'arg1', 'extendType' => 'true'],
'enumValueTitles' => [],
+ 'backendName' => 'entryPointArguments',
],
- 'sparkSubmitParameters' => [
- 'title' => 'sparkSubmitParameters',
- 'description' => 'SparkSubmit命令行参数。',
- 'type' => 'string',
- 'example' => '--conf spark.app.name=test',
- ],
- ],
- ],
- ],
- ],
- 'KerberosConf' => [
- 'type' => 'object',
- 'properties' => [
- 'gmtModified' => [
- 'type' => 'string',
- ],
- 'creator' => [
- 'type' => 'string',
- ],
- 'krb5Conf' => [
- 'type' => 'string',
- ],
- 'gmtCreated' => [
- 'type' => 'string',
- ],
- 'networkServiceId' => [
- 'type' => 'string',
- ],
- 'name' => [
- 'type' => 'string',
- ],
- 'kerberosConfId' => [
- 'type' => 'string',
- ],
- 'keytabs' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
+ 'sparkSubmitParameters' => ['title' => 'sparkSubmitParameters', 'description' => 'SparkSubmit命令行参数。', 'visibility' => 'Public', 'type' => 'string', 'example' => '--conf spark.app.name=test', 'backendName' => 'sparkSubmitParameters'],
],
- ],
- 'enabled' => [
- 'type' => 'boolean',
- ],
- 'workspaceId' => [
- 'type' => 'string',
+ 'backendName' => 'sparkSubmit',
],
],
],
'PrincipalAction' => [
'title' => 'A short description of struct',
'description' => 'ARN',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
- 'principalArn' => [
- 'title' => '主体Arn',
- 'description' => '主体ARN。',
- 'type' => 'string',
- 'example' => 'acs:emr::workspaceId:user/23759369154162****',
- ],
- 'actionArn' => [
- 'title' => '行为Arn',
- 'description' => '行为ARN。',
- 'type' => 'string',
- 'example' => 'acs:emr::workspaceId:action/create_queue',
- ],
- ],
- ],
- 'ReleaseVersionImage' => [
- 'title' => 'A short description of struct',
- 'description' => '主版本镜像',
- 'type' => 'object',
- 'properties' => [
- 'runtimeEngineType' => [
- 'title' => 'runtimeEngineType',
- 'type' => 'string',
- ],
- 'cpuArchitecture' => [
- 'title' => 'cpuArchitecture',
- 'type' => 'string',
- ],
- 'imageId' => [
- 'title' => 'imageId',
- 'type' => 'string',
- ],
+ 'principalArn' => ['title' => '主体Arn', 'description' => '主体ARN。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'acs:emr::workspaceId:user/23759369154162****', 'backendName' => 'principalArn'],
+ 'actionArn' => ['title' => '行为Arn', 'description' => '行为ARN。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'acs:emr::workspaceId:action/create_queue', 'backendName' => 'actionArn'],
],
],
'RunLog' => [
'title' => 'A short description of struct',
'description' => 'Spark运行日志信息。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
'driverStdOut' => [
'title' => 'driverStdOut',
'description' => 'stdout文件路径。',
+ 'visibility' => 'Public',
'type' => 'string',
'enumValueTitles' => [],
'example' => 'oss://bucket/path/to/stdout',
+ 'backendName' => 'driverStdOut',
],
- 'driverStdError' => [
- 'title' => 'driverStdError',
- 'description' => 'stderr文件路径。',
- 'type' => 'string',
- 'example' => 'oss://bucket/path/to/stderr',
- ],
- 'driverSyslog' => [
- 'title' => 'driverSyslog',
- 'description' => 'syslog文件路径。',
- 'type' => 'string',
- 'example' => 'oss://bucket/path/to/syslog',
- ],
- 'driverStartup' => [
- 'title' => 'driverStartup',
- 'description' => 'startup文件路径。',
- 'type' => 'string',
- 'example' => 'oss://bucket/path/to/startup',
- ],
+ 'driverStdError' => ['title' => 'driverStdError', 'description' => 'stderr文件路径。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'oss://bucket/path/to/stderr', 'backendName' => 'driverStdError'],
+ 'driverSyslog' => ['title' => 'driverSyslog', 'description' => 'syslog文件路径。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'oss://bucket/path/to/syslog', 'backendName' => 'driverSyslog'],
+ 'driverStartup' => ['title' => 'driverStartup', 'description' => 'startup文件路径。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'oss://bucket/path/to/startup', 'backendName' => 'driverStartup'],
],
],
'SparkConf' => [
'description' => 'Spark配置对象。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
- 'value' => [
- 'title' => 'spark conf value',
- 'description' => 'Spark Conf配置value。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test_application',
- ],
- 'key' => [
- 'title' => 'spark conf key',
- 'description' => 'Spark Conf配置key。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'spark.app.name',
- ],
- ],
- ],
- 'SqlOutput' => [
- 'title' => '结果集',
- 'type' => 'object',
- 'properties' => [
- 'schema' => [
- 'title' => '结果集结构',
- 'type' => 'object',
- 'properties' => [
- 'fields' => [
- 'title' => '结果集',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'name' => [
- 'title' => '名称',
- 'type' => 'string',
- ],
- 'type' => [
- 'title' => '类型',
- 'type' => 'string',
- ],
- 'nullable' => [
- 'title' => '是否可空',
- 'type' => 'boolean',
- ],
- ],
- ],
- ],
- ],
- ],
- 'rows' => [
- 'title' => '行',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'values' => [
- 'title' => '值列表',
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- 'example' => 'null',
- ],
- ],
- ],
- ],
+ 'value' => ['title' => 'spark conf value', 'description' => 'Spark Conf配置value。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'test_application', 'backendName' => 'value'],
+ 'key' => ['title' => 'spark conf key', 'description' => 'Spark Conf配置key。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'spark.app.name', 'backendName' => 'key'],
],
],
'Tag' => [
'description' => '标签信息。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
- 'key' => [
- 'title' => '标签key值。',
- 'description' => '标签键。',
- 'type' => 'string',
- 'example' => 'workflowId',
- ],
- 'value' => [
- 'title' => '标签key值。',
- 'description' => '标签值。',
- 'type' => 'string',
- 'example' => 'wf-123test',
- ],
+ 'key' => ['title' => '标签key值。', 'description' => '标签键。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'workflowId', 'backendName' => 'key'],
+ 'value' => ['title' => '标签key值。', 'description' => '标签值。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'wf-123test', 'backendName' => 'value'],
],
],
'Task' => [
'type' => 'object',
'properties' => [
- 'kernelId' => [
- 'type' => 'string',
- ],
- 'gmtModified' => [
- 'title' => '最后创建时间',
- 'type' => 'string',
- 'required' => true,
- ],
- 'defaultSqlComputeId' => [
- 'title' => '默认sql session id',
- 'type' => 'string',
- ],
- 'archives' => [
- 'title' => '--archives参数',
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- ],
- 'lastRunResourceQueueId' => [
- 'title' => '最后一次运行的资源队列id',
- 'type' => 'string',
- ],
- 'sparkLogLevel' => [
- 'title' => 'spark日志级别',
- 'type' => 'string',
- 'required' => true,
- ],
- 'gmtCreated' => [
- 'title' => '创建时间',
- 'type' => 'string',
- 'required' => true,
- ],
- 'sparkDriverMemory' => [
- 'title' => 'spark driver内存',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- ],
- 'modifier' => [
- 'title' => '最后一次更新者uid',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- ],
- 'jars' => [
- 'title' => '--jars参数',
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- ],
- 'sparkExecutorCores' => [
- 'title' => 'spark executor核数',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- ],
+ 'sparkArgs' => ['title' => 'spark参数', 'description' => 'spark参数', 'type' => 'string', 'example' => '100'],
+ 'sparkDriverMemory' => ['title' => 'spark driver内存', 'description' => 'spark driver内存', 'type' => 'integer', 'format' => 'int64', 'required' => true],
+ 'sparkVersion' => ['title' => 'spark版本', 'description' => 'spark版本', 'type' => 'string', 'required' => true],
+ 'sparkExecutorMemory' => ['title' => 'spark executor内存', 'description' => 'spark executor内存', 'type' => 'integer', 'format' => 'int64', 'required' => true],
+ 'sparkLogLevel' => ['title' => 'spark日志级别', 'description' => 'spark日志级别', 'type' => 'string', 'required' => true],
+ 'sparkEntrypoint' => ['title' => 'spark主类入口', 'description' => 'spark主类入口', 'type' => 'string', 'required' => false],
+ 'gmtModified' => ['title' => '最后创建时间', 'description' => '最后创建时间', 'type' => 'string', 'required' => true],
+ 'hasCommited' => ['title' => '是否已提交', 'description' => '是否已提交', 'type' => 'boolean', 'required' => true],
+ 'sparkLogPath' => ['title' => 'spark日志', 'description' => 'spark日志', 'type' => 'string', 'required' => true],
+ 'creator' => ['title' => '创建者uid', 'description' => '创建者uid', 'type' => 'integer', 'format' => 'int64', 'required' => true],
+ 'gmtCreated' => ['title' => '创建时间', 'description' => '创建时间', 'type' => 'string', 'required' => true],
+ 'name' => ['title' => 'task名称', 'description' => 'task名称', 'type' => 'string', 'required' => true],
+ 'sparkDriverCores' => ['title' => 'spark driver核数', 'description' => 'spark driver核数', 'type' => 'integer', 'format' => 'int32', 'required' => true],
+ 'type' => ['title' => 'task类型', 'description' => 'task类型', 'type' => 'string', 'required' => true],
+ 'sparkExecutorCores' => ['title' => 'spark executor核数', 'description' => 'spark executor核数', 'type' => 'integer', 'format' => 'int32', 'required' => true],
+ 'content' => ['title' => 'spark作业内容', 'description' => 'spark作业内容', 'type' => 'string', 'required' => false],
'extraArtifactIds' => [
'title' => 'spark额外资源id',
+ 'description' => 'spark额外资源id',
'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
+ 'items' => ['type' => 'string', 'description' => ''],
'required' => false,
],
- 'type' => [
- 'title' => 'task类型',
- 'type' => 'string',
- 'required' => true,
- ],
- 'content' => [
- 'title' => 'spark作业内容',
- 'type' => 'string',
- 'required' => false,
- ],
- 'timeout' => [
- 'title' => '任务超时时间',
- 'type' => 'integer',
- 'format' => 'int32',
- ],
- 'sparkVersion' => [
- 'title' => 'spark版本',
- 'type' => 'string',
- 'required' => true,
- ],
- 'sparkEntrypoint' => [
- 'title' => 'spark主类入口',
- 'type' => 'string',
- 'required' => false,
- ],
- 'sparkArgs' => [
- 'title' => 'spark参数',
- 'type' => 'string',
- 'example' => '100',
- ],
- 'environmentId' => [
- 'title' => '环境id',
- 'type' => 'string',
- ],
- 'credential' => [
- 'title' => '直传oss信息',
- 'type' => 'object',
- 'properties' => [
- 'accessId' => [
- 'title' => 'access id',
- 'type' => 'string',
- ],
- 'securityToken' => [
- 'title' => 'security token',
- 'type' => 'string',
- ],
- 'path' => [
- 'title' => '路径',
- 'type' => 'string',
- ],
- 'signature' => [
- 'title' => '签名',
- 'type' => 'string',
- ],
- 'accessUrl' => [
- 'title' => '访问链接',
- 'type' => 'string',
- ],
- 'expire' => [
- 'title' => '过期时间',
- 'type' => 'integer',
- 'format' => 'int64',
- ],
- 'host' => [
- 'title' => '域名',
- 'type' => 'string',
- ],
- 'policy' => [
- 'title' => 'policy',
- 'type' => 'string',
- ],
- ],
- ],
- 'hasChanged' => [
- 'title' => '最后一次提交后是否变更',
- 'type' => 'boolean',
- ],
- 'extraSparkSubmitParams' => [
- 'title' => '自定义spark submit配置参数',
- 'type' => 'string',
- ],
- 'deploymentId' => [
- 'title' => 'streaming任务部署id',
- 'type' => 'string',
- ],
- 'bizId' => [
- 'title' => '业务id',
- 'type' => 'string',
- 'required' => true,
- ],
- 'artifactUrl' => [
- 'title' => '资源文件访问临时url',
- 'type' => 'string',
- ],
- 'defaultResourceQueueId' => [
- 'title' => 'task默认队列id',
- 'type' => 'string',
- ],
- 'defaultDatabase' => [
- 'title' => '默认数据库',
- 'type' => 'string',
- ],
- 'creator' => [
- 'title' => '创建者uid',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- ],
- 'categoryBizId' => [
- 'title' => '目录业务id',
- 'type' => 'string',
- ],
- 'sessionClusterId' => [
- 'type' => 'string',
- ],
- 'sparkSubmitClause' => [
- 'title' => 'spark submit任务提交语句',
- 'type' => 'string',
- ],
+ 'lastRunResourceQueueId' => ['title' => '最后一次运行的资源队列id', 'description' => '最后一次运行的资源队列id', 'type' => 'string'],
+ 'modifier' => ['title' => '最后一次更新者uid', 'description' => '最后一次更新者uid', 'type' => 'integer', 'format' => 'int64', 'required' => true],
'sparkConf' => [
'title' => 'spark配置列表',
+ 'description' => 'spark配置列表',
'type' => 'array',
- 'items' => [
- '$ref' => '#/components/schemas/SparkConf',
- ],
+ 'items' => ['$ref' => '#/components/schemas/SparkConf', 'description' => ''],
],
- 'params' => [
+ 'bizId' => ['title' => '业务id', 'description' => '业务id', 'type' => 'string', 'required' => true],
+ 'categoryBizId' => ['title' => '目录业务id', 'description' => '目录业务id', 'type' => 'string'],
+ 'artifactUrl' => ['title' => '资源文件访问临时url', 'description' => '资源文件访问临时url', 'type' => 'string'],
+ 'defaultResourceQueueId' => ['title' => 'task默认队列id', 'description' => 'task默认队列id', 'type' => 'string'],
+ 'tags' => [
+ 'title' => '任务标签',
+ 'description' => '任务标签',
'type' => 'object',
- 'additionalProperties' => [
- 'type' => 'string',
- ],
+ 'required' => false,
+ 'additionalProperties' => ['type' => 'string', 'example' => 'tag key', 'description' => ''],
],
+ 'defaultDatabase' => ['title' => '默认数据库', 'description' => '默认数据库', 'type' => 'string'],
+ 'hasChanged' => ['title' => '最后一次提交后是否变更', 'description' => '最后一次提交后是否变更', 'type' => 'boolean'],
'pyFiles' => [
'title' => 'spark pyspark依赖pyfiles',
+ 'description' => 'spark pyspark依赖pyfiles',
'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
+ 'items' => ['type' => 'string', 'description' => ''],
'required' => false,
],
- 'tags' => [
- 'title' => '任务标签',
- 'type' => 'object',
- 'required' => false,
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => '标签键',
- ],
- ],
- 'defaultCatalogId' => [
- 'title' => '默认catalog id',
- 'type' => 'string',
- ],
- 'sparkExecutorMemory' => [
- 'title' => 'spark executor内存',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- ],
- 'fusion' => [
- 'title' => '是否开启fusion开关',
- 'type' => 'boolean',
- ],
- 'isStreaming' => [
- 'title' => '是否是streaming任务',
- 'type' => 'boolean',
- ],
- 'sparkDriverCores' => [
- 'title' => 'spark driver核数',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- ],
- 'sparkLogPath' => [
- 'title' => 'spark日志',
- 'type' => 'string',
- 'required' => true,
+ 'defaultCatalogId' => ['title' => '默认catalog id', 'description' => '默认catalog id', 'type' => 'string'],
+ 'defaultSqlComputeId' => ['title' => '默认sql session id', 'description' => '默认sql session id', 'type' => 'string'],
+ 'jars' => [
+ 'title' => '--jars参数',
+ 'description' => '--jars参数',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => ''],
],
- 'name' => [
- 'title' => 'task名称',
- 'type' => 'string',
- 'required' => true,
+ 'archives' => [
+ 'title' => '--archives参数',
+ 'description' => '--archives参数',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => ''],
],
'files' => [
'title' => '--files参数',
+ 'description' => '--files参数',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => ''],
+ ],
+ 'extraSparkSubmitParams' => ['title' => '自定义spark submit配置参数', 'description' => '自定义spark submit配置参数', 'type' => 'string'],
+ 'deploymentId' => ['title' => 'streaming任务部署id', 'description' => 'streaming任务部署id', 'type' => 'string'],
+ 'isStreaming' => ['title' => '是否是streaming任务', 'description' => '是否是streaming任务', 'type' => 'boolean'],
+ 'sparkSubmitClause' => ['title' => 'spark submit任务提交语句', 'description' => 'spark submit任务提交语句', 'type' => 'string'],
+ 'fusion' => ['title' => '是否开启fusion开关', 'description' => '是否开启fusion开关', 'type' => 'boolean'],
+ 'timeout' => ['title' => '任务超时时间', 'description' => '任务超时时间', 'type' => 'integer', 'format' => 'int32'],
+ 'credential' => [
+ 'title' => '直传oss信息',
+ 'description' => '直传oss信息',
+ 'type' => 'object',
+ 'properties' => [
+ 'accessId' => ['title' => 'access id', 'description' => 'access id', 'type' => 'string'],
+ 'securityToken' => ['title' => 'security token', 'description' => 'security token', 'type' => 'string'],
+ 'policy' => ['title' => 'policy', 'description' => 'policy', 'type' => 'string'],
+ 'signature' => ['title' => '签名', 'description' => '签名', 'type' => 'string'],
+ 'path' => ['title' => '路径', 'description' => '路径', 'type' => 'string'],
+ 'host' => ['title' => '域名', 'description' => '域名', 'type' => 'string'],
+ 'expire' => ['title' => '过期时间', 'description' => '过期时间', 'type' => 'integer', 'format' => 'int64'],
+ 'accessUrl' => ['title' => '访问链接', 'description' => '访问链接', 'type' => 'string'],
+ ],
+ ],
+ 'environmentId' => ['title' => '环境id', 'description' => '环境id', 'type' => 'string'],
+ 'sessionClusterId' => ['type' => 'string', 'description' => ''],
+ 'kernelId' => ['type' => 'string', 'description' => ''],
+ 'params' => [
+ 'type' => 'object',
+ 'additionalProperties' => ['type' => 'string', 'description' => ''],
+ 'description' => '',
+ ],
+ 'rayEntrypoint' => ['type' => 'string', 'description' => ''],
+ 'rayVersion' => ['type' => 'string', 'description' => ''],
+ 'rayNetworkServiceName' => ['type' => 'string', 'description' => ''],
+ 'rayRuntimeEnvJson' => ['type' => 'string', 'description' => ''],
+ 'rayWorkingDir' => ['type' => 'string', 'description' => ''],
+ 'rayMetadataJson' => ['type' => 'string', 'description' => ''],
+ 'raySubmissionMode' => ['type' => 'string', 'description' => ''],
+ 'rayEntrypointNumCpus' => ['type' => 'string', 'description' => ''],
+ 'rayEntrypointNumGpus' => ['type' => 'string', 'description' => ''],
+ 'rayEntrypointMemory' => ['type' => 'string', 'description' => ''],
+ 'rayEntrypointResources' => ['type' => 'string', 'description' => ''],
+ 'rayShutdownAfterJobFinishes' => ['type' => 'boolean', 'description' => ''],
+ 'rayTtlSecondsAfterFinished' => ['type' => 'integer', 'format' => 'int64', 'description' => ''],
+ 'rayActiveDeadlineSeconds' => ['type' => 'integer', 'format' => 'int64', 'description' => ''],
+ 'rayBackoffLimit' => ['type' => 'integer', 'format' => 'int32', 'description' => ''],
+ 'rayHeadSpec' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'replica' => ['type' => 'integer', 'format' => 'int32', 'description' => ''],
+ 'enableAutoScaling' => ['type' => 'boolean', 'description' => ''],
+ 'idleTimeoutSeconds' => ['type' => 'integer', 'format' => 'int64', 'description' => ''],
+ 'queueName' => ['type' => 'string', 'description' => ''],
+ 'cpu' => ['type' => 'string', 'description' => ''],
+ 'memory' => ['type' => 'string', 'description' => ''],
+ 'gpuSpec' => ['type' => 'string', 'description' => ''],
+ ],
+ 'description' => '',
+ ],
+ 'rayExtraParam' => ['type' => 'string', 'description' => ''],
+ 'rayVolumeIds' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => ''],
+ 'description' => '',
+ ],
+ 'rayWorkerSpec' => [
'type' => 'array',
'items' => [
- 'type' => 'string',
+ 'type' => 'object',
+ 'properties' => [
+ 'groupName' => ['type' => 'string', 'description' => ''],
+ 'replica' => ['type' => 'integer', 'format' => 'int32', 'description' => ''],
+ 'minReplica' => ['type' => 'integer', 'format' => 'int32', 'description' => ''],
+ 'maxReplica' => ['type' => 'integer', 'format' => 'int32', 'description' => ''],
+ 'queueName' => ['type' => 'string', 'description' => ''],
+ 'cpu' => ['type' => 'string', 'description' => ''],
+ 'memory' => ['type' => 'string', 'description' => ''],
+ 'gpuSpec' => ['type' => 'string', 'description' => ''],
+ ],
+ 'description' => '',
],
- ],
- 'hasCommited' => [
- 'title' => '是否已提交',
- 'type' => 'boolean',
- 'required' => true,
+ 'description' => '',
],
],
+ 'description' => '',
],
'TaskInstance' => [
'description' => '任务信息。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
- 'taskInfo' => [
- 'title' => '任务详细信息',
- 'description' => '任务详细信息。',
- 'required' => false,
- '$ref' => '#/components/schemas/Task',
- ],
- 'workspaceBizId' => [
- 'title' => '工作空间id',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-d2d82aa09151****',
- ],
- 'taskBizId' => [
- 'title' => '任务业务id',
- 'description' => '数据开发任务ID。',
- 'type' => 'string',
- 'example' => 'TSK-d87******************',
- ],
- 'taskStatus' => [
- 'title' => '任务实例状态',
- 'description' => '任务实例状态。',
- 'type' => 'string',
- 'example' => 'Running',
- ],
- 'bizId' => [
- 'title' => '任务实例业务id',
- 'description' => '目录业务ID。',
- 'type' => 'string',
- 'example' => 'w-d8********',
- ],
- 'fenixRunId' => [
- 'title' => 'fenix run id',
- 'description' => '任务运行ID。',
- 'type' => 'string',
- 'example' => 'jr-93d98d2f7061****',
- ],
- 'gmtCreated' => [
- 'title' => '创建时间',
- 'description' => '创建时间。',
- 'type' => 'string',
- 'example' => '2024-09-05T02:03:19Z',
- ],
- 'creator' => [
- 'title' => '创建者uid',
- 'description' => '创建者UID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '150978934701****',
- ],
- ],
- ],
- 'TaskSnapshot' => [
- 'type' => 'object',
- 'properties' => [
- 'commiter' => [
- 'title' => '提交者uid',
- 'type' => 'integer',
- 'format' => 'int64',
- ],
- 'item' => [
- 'title' => '任务信息',
- '$ref' => '#/components/schemas/Task',
- ],
- 'taskBizId' => [
- 'title' => '任务业务id',
- 'type' => 'string',
- ],
- 'message' => [
- 'title' => '提交信息',
- 'type' => 'string',
- ],
- 'version' => [
- 'title' => '提交版本',
- 'type' => 'string',
- ],
- 'gmtCreated' => [
- 'title' => '创建时间',
- 'type' => 'string',
- ],
- 'bizId' => [
- 'title' => '业务id',
- 'type' => 'string',
- ],
+ 'taskInfo' => ['title' => '任务详细信息', 'description' => '任务详细信息。', 'visibility' => 'Public', 'required' => false, 'backendName' => 'taskInfo', '$ref' => '#/components/schemas/Task'],
+ 'workspaceBizId' => ['title' => '工作空间id', 'description' => '工作空间ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'w-d2d82aa09151****', 'backendName' => 'workspaceBizId'],
+ 'taskBizId' => ['title' => '任务业务id', 'description' => '数据开发任务ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'TSK-d87******************', 'backendName' => 'taskBizId'],
+ 'taskStatus' => ['title' => '任务实例状态', 'description' => '任务实例状态。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'Running', 'backendName' => 'taskStatus'],
+ 'bizId' => ['title' => '任务实例业务id', 'description' => '目录业务ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'w-d8********', 'backendName' => 'bizId'],
+ 'fenixRunId' => ['title' => 'fenix run id', 'description' => '任务运行ID。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'jr-93d98d2f7061****', 'backendName' => 'fenixRunId'],
+ 'gmtCreated' => ['title' => '创建时间', 'description' => '创建时间。', 'visibility' => 'Public', 'type' => 'string', 'example' => '2024-09-05T02:03:19Z', 'backendName' => 'gmtCreated'],
+ 'creator' => ['title' => '创建者uid', 'description' => '创建者UID。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '150978934701****', 'backendName' => 'creator'],
],
],
'Template' => [
'description' => 'Spark任务模板对象。',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
- 'templateType' => [
- 'title' => '模板类型',
- 'description' => '模板类型。',
- 'type' => 'string',
- 'example' => 'TASK',
- ],
- 'gmtModified' => [
- 'title' => '最后更新时间',
- 'description' => '最后更新时间。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2025-03-10T02:02:41.000+00:00',
- ],
- 'creator' => [
- 'title' => '创建者uid',
- 'description' => '创建者UID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '150978934701****',
- ],
- 'sparkLogLevel' => [
- 'title' => 'spark日志级别',
- 'description' => 'Spark日志级别。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'INFO',
- ],
- 'gmtCreated' => [
- 'title' => '创建时间',
- 'description' => '创建时间。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2025-03-10T02:02:41.000+00:00'."\n",
- ],
- 'sparkDriverMemory' => [
- 'title' => 'spark driver内存',
- 'description' => 'Spark Driver内存。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '1073741824',
- ],
- 'modifier' => [
- 'title' => '最后更新者uid',
- 'description' => '最后更新者UID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '150978934701****'."\n",
- ],
- 'sparkExecutorCores' => [
- 'title' => 'spark executor核数',
- 'description' => 'Spark Executor核数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
+ 'templateType' => ['title' => '模板类型', 'description' => '模板类型。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'TASK', 'backendName' => 'templateType'],
+ 'gmtModified' => ['title' => '最后更新时间', 'description' => '最后更新时间。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => '2025-03-10T02:02:41.000+00:00', 'backendName' => 'gmtModified'],
+ 'creator' => ['title' => '创建者uid', 'description' => '创建者UID。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '150978934701****', 'backendName' => 'creator'],
+ 'sparkLogLevel' => ['title' => 'spark日志级别', 'description' => 'Spark日志级别。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'INFO', 'backendName' => 'sparkLogLevel'],
+ 'gmtCreated' => ['title' => '创建时间', 'description' => '创建时间。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => '2025-03-10T02:02:41.000+00:00'."\n", 'backendName' => 'gmtCreated'],
+ 'sparkDriverMemory' => ['title' => 'spark driver内存', 'description' => 'Spark Driver内存。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1073741824', 'backendName' => 'sparkDriverMemory'],
+ 'modifier' => ['title' => '最后更新者uid', 'description' => '最后更新者UID。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '150978934701****'."\n", 'backendName' => 'modifier'],
+ 'sparkExecutorCores' => ['title' => 'spark executor核数', 'description' => 'Spark Executor核数。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'backendName' => 'sparkExecutorCores'],
'sparkConf' => [
'title' => 'spark conf',
'description' => 'Spark Conf',
+ 'visibility' => 'Public',
'type' => 'array',
- 'items' => [
- 'description' => 'Spark配置对象。',
- '$ref' => '#/components/schemas/SparkConf',
- ],
- ],
- 'sparkVersion' => [
- 'title' => 'spark内部release版本',
- 'description' => 'Spark内部release版本。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'esr-4.1.1',
- ],
- 'sparkExecutorMemory' => [
- 'title' => 'spark executor内存',
- 'description' => 'Spark Executor内存。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '1073741824',
- ],
- 'fusion' => [
- 'title' => '是否开启fusion开关',
- 'description' => '是否开启fusion开关。',
- 'type' => 'boolean',
- 'example' => 'false'."\n",
- ],
- 'isDefault' => [
- 'type' => 'boolean',
- ],
- 'sparkDriverCores' => [
- 'title' => 'spark driver核数',
- 'description' => 'Spark Driver核数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
- 'displaySparkVersion' => [
- 'title' => 'SparkVersion展示名',
- 'description' => 'Spark引擎显示版本。',
- 'type' => 'string',
- 'example' => 'esr-4.1.1',
- ],
- 'sparkLogPath' => [
- 'title' => 'spark日志路径',
- 'description' => 'Spark日志路径。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'oss://your_bucket/path/to/your/log',
- ],
- 'name' => [
- 'type' => 'string',
- ],
- 'bizId' => [
- 'type' => 'string',
+ 'items' => ['description' => 'Spark配置对象。', 'visibility' => 'Public', 'extendType' => 'true', '$ref' => '#/components/schemas/SparkConf'],
+ 'backendName' => 'sparkConf',
],
+ 'sparkVersion' => ['title' => 'spark内部release版本', 'description' => 'Spark内部release版本。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'esr-4.1.1', 'backendName' => 'sparkVersion'],
+ 'sparkExecutorMemory' => ['title' => 'spark executor内存', 'description' => 'Spark Executor内存。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1073741824', 'backendName' => 'sparkExecutorMemory'],
+ 'fusion' => ['title' => '是否开启fusion开关', 'description' => '是否开启fusion开关。', 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'false'."\n", 'backendName' => 'fusion'],
+ 'isDefault' => ['visibility' => 'Public', 'type' => 'boolean', 'backendName' => 'isDefault'],
+ 'sparkDriverCores' => ['title' => 'spark driver核数', 'description' => 'Spark Driver核数。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'backendName' => 'sparkDriverCores'],
+ 'displaySparkVersion' => ['title' => 'SparkVersion展示名', 'description' => 'Spark引擎显示版本。', 'visibility' => 'Public', 'type' => 'string', 'example' => 'esr-4.1.1', 'backendName' => 'displaySparkVersion'],
+ 'sparkLogPath' => ['title' => 'spark日志路径', 'description' => 'Spark日志路径。', 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'oss://your_bucket/path/to/your/log', 'backendName' => 'sparkLogPath'],
+ 'name' => ['visibility' => 'Public', 'type' => 'string', 'backendName' => 'name'],
+ 'bizId' => ['visibility' => 'Public', 'type' => 'string', 'backendName' => 'bizId'],
],
],
'TimeRange' => [
'title' => '时间范围',
'description' => '时间范围',
+ 'visibility' => 'Public',
'type' => 'object',
'properties' => [
- 'startTime' => [
- 'title' => '时间范围开始时间。',
- 'description' => '时间范围开始时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1688370894339',
- ],
- 'endTime' => [
- 'title' => '时间范围结束时间。',
- 'description' => '时间范围结束时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1688370894339',
- ],
+ 'startTime' => ['title' => '时间范围开始时间。', 'description' => '时间范围开始时间。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '1688370894339', 'backendName' => 'startTime'],
+ 'endTime' => ['title' => '时间范围结束时间。', 'description' => '时间范围结束时间。', 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int64', 'example' => '1688370894339', 'backendName' => 'endTime'],
],
],
],
],
'apis' => [
+ 'ActivateAICenter' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/activateaicenter',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduceLNUXSK'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '激活AI中心',
+ 'summary' => '激活ai中心',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
'AddMembers' => [
'summary' => '调用AddMembers将RAM用户或RAM角色添加到工作空间作为新成员。',
'path' => '/api/v1/auth/members',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'systemTags' => [
'abilityTreeCode' => '193369',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
@@ -1165,22 +598,17 @@
'description' => '请求体参数。',
'type' => 'object',
'properties' => [
- 'workspaceId' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-975bcfda9625****',
- ],
+ 'workspaceId' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-975bcfda9625****'],
'memberArns' => [
'type' => 'array',
- 'items' => [
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Ram User示例值:acs:ram::113545727984****:user/20468369839086****'."\n"
- ."\n"
- .'Ram Role示例值:acs:ram::113545727984****:role/aliyunemrsparkjobrundefaultrole',
- ],
+ 'items' => ['type' => 'string', 'required' => false, 'example' => 'Ram User示例值:acs:ram::113545727984****:user/20468369839086****'."\n"
+ ."\n"
+ .'Ram Role示例值:acs:ram::113545727984****:role/aliyunemrsparkjobrundefaultrole', 'description' => ''],
'required' => true,
+ 'example' => 'Ram User Example value: acs:ram::113545727984****:user/20468369839086****'."\n"
+ ."\n"
+ .'Ram Role Example value: acs:ram::113545727984****:role/aliyunemrsparkjobrundefaultrole',
+ 'description' => '',
],
],
'required' => false,
@@ -1189,13 +617,7 @@
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -1205,759 +627,568 @@
'description' => '请求返回体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
'title' => '添加成员',
- ],
- 'ListMembers' => [
- 'summary' => '调用ListMembers查看工作空间成员列表。',
- 'path' => '/api/v1/auth/{workspaceId}/members',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:AddMembers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'CancelJobRun' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns/{jobRunId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce0SZW92',
- ],
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '215798',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'nextToken',
- 'in' => 'query',
+ 'name' => 'workspaceId',
+ 'in' => 'path',
'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '标记当前开始读取的位置。',
- 'description' => '标记当前开始读取的位置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d2d82aa09155****'],
],
[
- 'name' => 'maxResults',
- 'in' => 'query',
+ 'name' => 'jobRunId',
+ 'in' => 'path',
'allowEmptyValue' => false,
+ 'schema' => ['title' => '任务实例ID。', 'description' => '任务运行ID。', 'type' => 'string', 'required' => true, 'example' => 'jr-f09a8fda2396****'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
+ 'type' => 'object',
+ 'properties' => [
+ 'jobRunId' => ['description' => '任务运行ID。', 'type' => 'string', 'example' => 'jr-f09a8fda2396****'],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ ],
],
],
+ ],
+ 'title' => '终止Spark任务',
+ 'summary' => '调用CancelJobRun终止正在运行的Spark任务。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CancelJobRun',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"jobRunId\\": \\"jr-f09a8fda2396****\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'CancelKyuubiSparkApplication' => [
+ 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}/application/{applicationId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
+ ],
+ 'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-975bcfda9625****',
- ],
+ 'schema' => ['description' => '工作空间 ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'kyuubiServiceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Kyuubi 服务 ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'],
+ ],
+ [
+ 'name' => 'applicationId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Kyuubi 提交的 Spark 应用 ID。', 'type' => 'string', 'required' => false, 'example' => 'spark-339f844005b6404c95f9f7c7a13b****'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '地域 ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据。',
+ 'title' => 'Schema of Response',
+ 'description' => '响应结构体。',
'type' => 'object',
'properties' => [
- 'members' => [
- 'description' => '成员列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '成员。',
- 'type' => 'object',
- 'properties' => [
- 'memberArn' => [
- 'title' => '用户 arn。',
- 'description' => '用户 arn。',
- 'type' => 'string',
- 'example' => 'acs:emr::w-1234****abcd:member/202265*****276',
- ],
- 'userName' => [
- 'title' => '用户名称。',
- 'description' => '用户名称。',
- 'type' => 'string',
- 'example' => 'jia***test@195*****7311.onaliyun.com',
- ],
- 'displayName' => [
- 'title' => '用户展示名称。',
- 'description' => '用户展示名称。',
- 'type' => 'string',
- 'example' => 'jia***test',
- ],
- 'userType' => [
- 'title' => '用户类型。',
- 'description' => '用户类型。'."\n"
- .'- ROLE'."\n"
- .'- MEMBER',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'MEMBER',
- ],
- 'roles' => [
- 'title' => '用户角色列表。',
- 'description' => '工作空间内角色列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '用户角色。',
- 'type' => 'object',
- 'properties' => [
- 'roleArn' => [
- 'title' => '角色 arn。',
- 'description' => '角色 arn。',
- 'type' => 'string',
- 'example' => 'acs:emr::w-1234****abcd:role/DataScience',
- ],
- 'roleName' => [
- 'title' => '角色名称。',
- 'description' => '角色名称。',
- 'type' => 'string',
- 'example' => 'DataScience',
- ],
- 'description' => [
- 'title' => '描述。',
- 'description' => '描述。',
- 'type' => 'string',
- 'example' => 'DataScience',
- ],
- 'createTime' => [
- 'title' => '创建时间。',
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1753412502000',
- ],
- 'actions' => [
- 'title' => '权限列表。',
- 'description' => '权限列表。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'actionArn' => [
- 'title' => '行为 arn。',
- 'description' => '行为 arn。',
- 'type' => 'string',
- 'example' => 'acs:emr::w-1234****abcd:action/add_MEMBER',
- ],
- 'actionName' => [
- 'title' => '权限名称。',
- 'description' => '权限名称。',
- 'type' => 'string',
- 'example' => 'add',
- ],
- 'displayName' => [
- 'title' => '权限展示名称。',
- 'description' => '权限展示名称。',
- 'type' => 'string',
- 'example' => 'add members',
- ],
- 'description' => [
- 'title' => 'action 描述。',
- 'description' => 'action 描述。',
- 'type' => 'string',
- 'example' => 'add members'."\n",
- ],
- 'dependencies' => [
- 'title' => 'action 依赖列表。',
- 'description' => 'action 依赖列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '依赖。',
- 'type' => 'string',
- 'example' => 'VIEW',
- ],
- 'example' => '["view"]',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'actions' => [
- 'title' => '针对此用户允许的操作列表。',
- 'description' => '针对此用户允许的操作列表。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'actionArn' => [
- 'title' => '行为 arn。',
- 'description' => '行为 arn。',
- 'type' => 'string',
- 'example' => 'acs:emr::w-1234****abcd:action/add_MEMBER',
- ],
- 'actionName' => [
- 'title' => '权限名称。',
- 'description' => '权限名称。',
- 'type' => 'string',
- 'example' => 'add',
- ],
- 'displayName' => [
- 'title' => '权限展示名称。',
- 'description' => '权限展示名称。',
- 'type' => 'string',
- 'example' => 'add members',
- ],
- 'description' => [
- 'title' => 'action 描述。',
- 'description' => 'action 描述。',
- 'type' => 'string',
- 'example' => 'add members',
- ],
- 'dependencies' => [
- 'title' => 'action 依赖列表。',
- 'description' => 'action 依赖列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '依赖。',
- 'type' => 'string',
- 'example' => 'VIEW',
- ],
- 'example' => '["view"]',
- ],
- ],
- ],
- ],
- 'visible' => [
- 'description' => '是否可见。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'createTime' => [
- 'description' => '创建时间。',
- 'type' => 'string',
- 'example' => '1753412502000',
- ],
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'body' => [
+ 'description' => '返回数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'applicationId' => ['description' => 'Kyuubi 提交的 Spark 应用 ID。', 'type' => 'string', 'example' => 'spark-339f844005b6404c95f9f7c7a13b****'],
+ 'success' => ['description' => '请求是否成功。'."\n"
+ ."\n"
+ .'- true:成功'."\n"
+ ."\n"
+ .'- false:失败', 'type' => 'boolean'],
],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'title' => '下一页TOKEN。',
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'maxResults' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'totalCount' => [
- 'title' => '记录总数。',
- 'description' => '记录总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '取消Kyuubi提交的Spark应用',
+ 'summary' => 'CancelKyuubiSparkApplication',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"members\\": [\\n {\\n \\"memberArn\\": \\"acs:emr::w-1234****abcd:member/202265*****276\\",\\n \\"userName\\": \\"jia***test@195*****7311.onaliyun.com\\",\\n \\"displayName\\": \\"jia***test\\",\\n \\"userType\\": \\"MEMBER\\",\\n \\"roles\\": [\\n {\\n \\"roleArn\\": \\"acs:emr::w-1234****abcd:role/DataScience\\",\\n \\"roleName\\": \\"DataScience\\",\\n \\"description\\": \\"DataScience\\",\\n \\"createTime\\": 1753412502000,\\n \\"actions\\": [\\n {\\n \\"actionArn\\": \\"acs:emr::w-1234****abcd:action/add_MEMBER\\",\\n \\"actionName\\": \\"add\\",\\n \\"displayName\\": \\"add members\\",\\n \\"description\\": \\"add members\\\\n\\",\\n \\"dependencies\\": [\\n \\"VIEW\\"\\n ]\\n }\\n ]\\n }\\n ],\\n \\"actions\\": [\\n {\\n \\"actionArn\\": \\"acs:emr::w-1234****abcd:action/add_MEMBER\\",\\n \\"actionName\\": \\"add\\",\\n \\"displayName\\": \\"add members\\",\\n \\"description\\": \\"add members\\",\\n \\"dependencies\\": [\\n \\"VIEW\\"\\n ]\\n }\\n ],\\n \\"visible\\": true,\\n \\"createTime\\": \\"1753412502000\\"\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
- 'title' => '获取成员列表',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"body\\": {\\n \\"applicationId\\": \\"spark-339f844005b6404c95f9f7c7a13b****\\",\\n \\"success\\": true\\n }\\n}","type":"json"}]',
],
- 'GrantRoleToUsers' => [
- 'summary' => '调用GrantRoleToUsers为用户授予指定角色权限。',
- 'path' => '/api/v1/auth/roles/grant',
- 'methods' => [
- 'post',
+ 'CancelRayJob' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayJob/{submissionId}/cancel',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
+ ],
+ [
+ 'name' => 'submissionId',
+ 'in' => 'path',
+ 'schema' => ['title' => 'rayjobID', 'description' => 'rayjob ID。', 'type' => 'string', 'required' => false, 'example' => 'rj-k7nm8ahl5te4tg91'],
+ ],
],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'success' => ['title' => '是否成功触发取消', 'description' => '是否成功触发取消', 'type' => 'boolean', 'example' => 'true'],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '停止Ray Job',
+ 'summary' => '停止RayJob。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"success\\": true\\n}","type":"json"}]',
+ ],
+ 'ChangeResourceGroup' => [
+ 'path' => '/changeResourceGroup',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
- 'produces' => [
- 'application/json',
+ 'parameters' => [
+ [
+ 'name' => 'resourceType',
+ 'in' => 'query',
+ 'schema' => ['title' => '资源类型', 'description' => '资源类型', 'type' => 'string', 'required' => false, 'example' => 'Workspace', 'default' => 'Instance'],
+ ],
+ [
+ 'name' => 'resourceId',
+ 'in' => 'query',
+ 'schema' => ['title' => '资源Id', 'description' => '资源Id', 'type' => 'string', 'required' => true, 'example' => 'w-asfx12xxxxxx'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '地域Id', 'description' => '地域Id', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'resourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['title' => '目标资源组', 'description' => '目标资源组', 'type' => 'string', 'required' => true, 'example' => 'rg-aek2thxggoqhmhq'],
+ ],
],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '193394',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8CE06D75-E6A2-505D-9B4B-31DEE3D98A04'],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingParameter.RegionId', 'errorMessage' => 'The RegionId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'MissingParameter.ResourceId', 'errorMessage' => 'The ResourceId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'MissingParameter.ResourceGroupId', 'errorMessage' => 'The ResourceGroupId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'InvalidResourceGroup', 'errorMessage' => 'The specified ResourceGroupId is invalid', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound', 'errorMessage' => ' The specified resource is not found', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'NoPermission.ChangeResourceGroup', 'errorMessage' => 'You are not authorized to change resourcegroup', 'description' => ''],
],
],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '修改工作空间资源组',
+ 'summary' => '修改实例所在资源组',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8CE06D75-E6A2-505D-9B4B-31DEE3D98A04\\"\\n}","type":"json"}]',
+ ],
+ 'CreateKyuubiService' => [
+ 'summary' => '创建Kyuubi Gateway。',
+ 'path' => '/api/v1/kyuubi/{workspaceId}',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
+ ],
'parameters' => [
[
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间 ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => '请求体参数。',
+ 'description' => '请求结构体。',
'type' => 'object',
'properties' => [
- 'roleArn' => [
- 'description' => '角色ARN。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'acs:emr::w-975bcfda9625****:role/Owner',
- ],
- 'userArns' => [
- 'description' => '用户ARN列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '用户ARN。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'acs:emr::w-975bcfda96258dd7:member/20468369839086****',
- ],
- 'required' => false,
- ],
+ 'kyuubiConfigs' => ['description' => 'Kyuubi Service 配置。', 'type' => 'string', 'required' => false, 'example' => '[{\\"key\\":\\"kyuubi.engine.share.level\\",\\"value\\":\\"USER\\"}]'],
+ 'sparkConfigs' => ['description' => 'Spark配置。', 'type' => 'string', 'required' => false, 'example' => '[{\\"key\\":\\"spark.app.name\\",\\"value\\":\\"test\\"}]'],
+ 'name' => ['description' => 'Kyuubi Service 名称。', 'type' => 'string', 'required' => false, 'example' => 'dev_serverless_spark'],
+ 'queue' => ['description' => 'Kyuubi Service 运行队列。', 'type' => 'string', 'required' => false, 'example' => 'dev_queue'],
+ 'computeInstance' => ['description' => 'Kyuubi Service 规格。', 'type' => 'string', 'required' => false, 'example' => '2c8g'],
+ 'releaseVersion' => ['description' => 'Spark 引擎版本。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.6.0 (Spark 3.5.2, Scala 2.12)'],
+ 'publicEndpointEnabled' => ['description' => '是否开启公网访问。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'],
+ 'replica' => ['description' => '开启高可用副本数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3'],
+ 'kyuubiReleaseVersion' => ['description' => 'Kyuubi Service 引擎版本。', 'type' => 'string', 'required' => false, 'example' => '1.9.2-0.0.2'],
],
'required' => false,
],
],
- [
- 'name' => 'regionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '请求返回体。',
+ 'description' => '响应结构体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n"],
+ 'data' => [
+ 'description' => '返回数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'kyuubiServiceId' => ['description' => 'Kyuubi Service ID。', 'type' => 'string', 'example' => 'kb-f99935b350fb4****7ef700b8b4197a3'],
+ ],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '创建 Kyuubi Gateway',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '赋予用户角色',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\",\\n \\"data\\": {\\n \\"kyuubiServiceId\\": \\"kb-f99935b350fb4****7ef700b8b4197a3\\"\\n }\\n}","type":"json"}]',
],
- 'GetSessionCluster' => [
- 'summary' => '获取会话详情。',
- 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters/{sessionClusterId}',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateKyuubiToken' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '203510',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-1234abcd',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'."\n"],
],
[
- 'name' => 'sessionClusterId',
+ 'name' => 'kyuubiServiceId',
'in' => 'path',
- 'allowEmptyValue' => false,
+ 'schema' => ['description' => 'Kyuubi服务ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'."\n"],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '作业名称。',
- 'description' => '作业名称。',
- 'type' => 'string',
+ 'description' => '请求结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'Token名称。', 'type' => 'string', 'required' => false, 'example' => 'dev_serverless_spark'],
+ 'token' => ['description' => '长度为32,仅包含小写字母和数字的Token内容。', 'type' => 'string', 'required' => false, 'example' => 'rjy7ejhej9gkzjjuun49jnx2xk8if2cu'],
+ 'autoExpireConfiguration' => [
+ 'description' => '自动过期配置结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否自动过期。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'expireDays' => ['description' => '过期时间(单位:天)。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '365'],
+ ],
+ 'required' => false,
+ ],
+ 'memberArns' => [
+ 'description' => '授权用户arn列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '授权用户arn。', 'type' => 'string', 'required' => false, 'example' => 'acs:emr::w-d2d82aa09155****:member/195****7311'."\n"],
+ 'required' => false,
+ ],
+ 'sparkRole' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string'],
+ ],
+ ],
'required' => false,
- 'example' => 'emr-spark-demo-job',
],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'."\n"],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据。',
+ 'title' => 'Schema of Response',
+ 'description' => '请求响应结构体。',
'type' => 'object',
'properties' => [
- 'sessionCluster' => [
- 'description' => '会话对象。',
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'data' => [
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'workspaceId' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-1234abcd',
- ],
- 'sessionClusterId' => [
- 'title' => '交互式作业会话id。',
- 'description' => '交互式作业会话ID。',
- 'type' => 'string',
- 'example' => '1234abcd-12ab-34cd-56ef-1234567890ab',
- ],
- 'userId' => [
- 'title' => '任务实例ID。',
- 'description' => '用户ID。',
- 'type' => 'string',
- 'example' => '123xxxxxxxx',
- ],
- 'queueName' => [
- 'title' => '作业实例名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'dev_queue',
- ],
- 'state' => [
- 'title' => '作业状态。',
- 'description' => '作业状态。'."\n"
- .'- Starting:启动中。'."\n"
- .'- Running:运行中。'."\n"
- .'- Stopping:正在停止。'."\n"
- .'- Stopped:已停止。'."\n"
- .'- Error:已失败。',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'Running',
- ],
- 'stateChangeReason' => [
- 'description' => '状态变化原因。',
- 'type' => 'object',
- 'properties' => [
- 'code' => [
- 'description' => '状态变化编码。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '状态变化消息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- ],
- ],
- 'autoStartConfiguration' => [
- 'description' => '配置是否开启自动启动。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => '是否开启自动启动。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'enumValueTitles' => [],
- 'example' => 'false',
- ],
- ],
- ],
- 'autoStopConfiguration' => [
- 'description' => '配置是否允许自动终止。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => '是否允许自动终止。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'enumValueTitles' => [],
- 'example' => 'false',
- ],
- 'idleTimeoutMinutes' => [
- 'description' => '会话空闲指定分钟数后自动终止。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '60',
- ],
- ],
- ],
- 'applicationConfigs' => [
- 'description' => 'Spark应用配置列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Spark应用配置。',
- 'type' => 'object',
- 'properties' => [
- 'configFileName' => [
- 'description' => '配置文件名。',
- 'type' => 'string',
- 'example' => 'spark-defaults.conf',
- ],
- 'configItemKey' => [
- 'description' => '配置键。',
- 'type' => 'string',
- 'example' => 'spark.app.name',
- ],
- 'configItemValue' => [
- 'description' => '配置值。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- ],
- ],
- 'releaseVersion' => [
- 'description' => 'Serverless Spark版本。',
- 'type' => 'string',
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'name' => [
- 'description' => '会话名称。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'userName' => [
- 'description' => '会话创建者名称。',
- 'type' => 'string',
- 'example' => 'user1',
- ],
- 'kind' => [
- 'description' => '生效作业类型,必填,创建后无法修改。'."\n"
- .'- SQLSCRIPT:SQL作业。'."\n"
- .'- JAR:JAR作业。'."\n"
- .'- PYTHON:Python作业。',
- 'type' => 'string',
- 'example' => 'SQL',
- ],
- 'webUI' => [
- 'description' => '会话Spark UI链接地址。',
- 'type' => 'string',
- 'example' => 'https://spark-ui/link',
- ],
- 'draftId' => [
- 'description' => '会话绑定的开发作业ID。',
- 'type' => 'string',
- 'example' => 'TSK-xxxxxxxx',
- ],
- 'domain' => [
- 'description' => '会话Spark UI所属域。',
- 'type' => 'string',
- 'example' => 'your.domain.com',
- ],
- 'displayReleaseVersion' => [
- 'description' => '控制台实际展示的版本。',
- 'type' => 'string',
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'envId' => [
- 'description' => '环境ID。',
- 'type' => 'string',
- 'example' => 'env-cpv569tlhtgndjl8****',
- ],
- 'gmtCreate' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2024-09-01 06:23:01'."\n",
- ],
- 'startTime' => [
- 'description' => '开始时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2024-09-01 06:23:01',
- ],
- 'domainInner' => [
- 'description' => '内网域名。',
- 'type' => 'string',
- 'example' => 'emr-spark-gateway-cn-hangzhou-internal.data.aliyuncs.com',
- ],
- 'extra' => [
- 'description' => '会话额外元数据。',
- 'type' => 'string',
- 'example' => '{"extraInfoKey":"extraInfoValue"}',
- ],
- 'publicEndpointEnabled' => [
- 'type' => 'boolean',
- ],
- 'connectionToken' => [
- 'type' => 'string',
- ],
+ 'tokenId' => ['description' => 'Token ID。', 'type' => 'string', 'example' => 'tk-zpi0*****hdv4y'."\n"],
],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionCluster\\": {\\n \\"workspaceId\\": \\"w-1234abcd\\",\\n \\"sessionClusterId\\": \\"1234abcd-12ab-34cd-56ef-1234567890ab\\",\\n \\"userId\\": \\"123xxxxxxxx\\",\\n \\"queueName\\": \\"dev_queue\\",\\n \\"state\\": \\"Running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n },\\n \\"autoStartConfiguration\\": {\\n \\"enable\\": false\\n },\\n \\"autoStopConfiguration\\": {\\n \\"enable\\": false,\\n \\"idleTimeoutMinutes\\": 60\\n },\\n \\"applicationConfigs\\": [\\n {\\n \\"configFileName\\": \\"spark-defaults.conf\\",\\n \\"configItemKey\\": \\"spark.app.name\\",\\n \\"configItemValue\\": \\"test\\"\\n }\\n ],\\n \\"releaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"name\\": \\"test\\",\\n \\"userName\\": \\"user1\\",\\n \\"kind\\": \\"SQL\\",\\n \\"webUI\\": \\"https://spark-ui/link\\",\\n \\"draftId\\": \\"TSK-xxxxxxxx\\",\\n \\"domain\\": \\"your.domain.com\\",\\n \\"displayReleaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"fusion\\": false,\\n \\"envId\\": \\"env-cpv569tlhtgndjl8****\\",\\n \\"gmtCreate\\": 0,\\n \\"startTime\\": 0,\\n \\"domainInner\\": \\"emr-spark-gateway-cn-hangzhou-internal.data.aliyuncs.com\\",\\n \\"extra\\": \\"{\\\\\\"extraInfoKey\\\\\\":\\\\\\"extraInfoValue\\\\\\"}\\",\\n \\"publicEndpointEnabled\\": true,\\n \\"connectionToken\\": \\"\\"\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '获取会话详情',
- ],
- 'CreateSessionCluster' => [
- 'summary' => '创建会话。',
- 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '创建Kyuubi Gateway认证Token',
+ 'summary' => '创建Kyuubi Gateway认证Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"tokenId\\": \\"tk-zpi0*****hdv4y\\\\n\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'CreateLivyCompute' => [
+ 'summary' => '创建Livy compute。',
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '202902',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeCode' => '222228',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
+ 'name' => 'workspaceBizId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
+ ],
+ [
'name' => 'body',
'in' => 'body',
- 'allowEmptyValue' => false,
'style' => 'json',
'schema' => [
- 'description' => '请求结构体',
+ 'description' => '请求结构体。',
'type' => 'object',
'properties' => [
- 'queueName' => [
- 'description' => '队列名称',
+ 'name' => ['description' => 'Livy Gateway名称。', 'type' => 'string', 'required' => false, 'example' => 'testGateway'],
+ 'livyVersion' => [
+ 'description' => 'Livy版本。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => '0.8.0',
+ 'enum' => ['0.8.0'],
+ ],
+ 'releaseVersion' => ['description' => 'Spark引擎版本号,已废弃,请使用displayReleaseVersion。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12, Java Runtime)'],
+ 'queueName' => ['description' => '提交队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'cpuLimit' => [
+ 'description' => 'Livy Server的CPU核数。'."\n"
+ .'- 1'."\n"
+ .'- 2'."\n"
+ .'- 4',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => '1',
+ ],
+ 'memoryLimit' => [
+ 'description' => 'Livy Server的内存大小。'."\n"
+ .'- 4Gi'."\n"
+ .'- 8Gi'."\n"
+ .'- 16Gi',
'type' => 'string',
'required' => false,
- 'example' => 'root_queue',
+ 'enumValueTitles' => [],
+ 'example' => '4Gi',
],
'autoStartConfiguration' => [
- 'description' => '是否开启自动启动。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
+ 'description' => '自动启动配置。',
'type' => 'object',
'properties' => [
- 'enable' => [
- 'description' => '是否开启自动启动。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'enable' => ['description' => '创建后是否自动启动。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
'required' => false,
],
@@ -1965,273 +1196,210 @@
'description' => '自动终止配置。',
'type' => 'object',
'properties' => [
- 'enable' => [
- 'description' => '是否允许自动终止。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'idleTimeoutMinutes' => [
- 'description' => '会话空闲指定分钟数后自动终止。',
- 'type' => 'integer',
- 'required' => false,
- 'example' => '60',
- ],
+ 'enable' => ['description' => '是否自动终止。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'idleTimeoutMinutes' => ['description' => 'Livy Gateway空闲指定分钟数后自动终止。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '300'],
],
'required' => false,
],
- 'applicationConfigs' => [
- 'description' => 'Spark应用配置。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Spark应用配置。',
- 'type' => 'object',
- 'properties' => [
- 'configFileName' => [
- 'description' => '配置文件名。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark-defaults.conf'."\n",
- ],
- 'configItemKey' => [
- 'description' => 'Spark Conf键。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark.app.name',
- ],
- 'configItemValue' => [
- 'description' => 'Spark Conf值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
- 'releaseVersion' => [
- 'description' => 'Spark引擎版本号。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-3.3.1',
- ],
- 'name' => [
- 'description' => '任务名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark_job_name',
- ],
- 'kind' => [
- 'description' => '会话类型。'."\n"
- .'- SQL:SQL会话。'."\n"
- .'- NOTEBOOK:NOTEBOOK会话。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SQL',
- 'default' => 'SQL',
- ],
- 'displayReleaseVersion' => [
- 'description' => '控制台实际展示的版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-3.3.1'."\n",
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'envId' => [
- 'description' => 'Python环境ID,仅对Notebook Session生效。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'env-cpv569tlhtgndjl86t40',
- ],
- 'publicEndpointEnabled' => [
- 'type' => 'boolean',
- 'required' => false,
- 'default' => 'false',
- ],
- 'clientToken' => [
+ 'authType' => [
+ 'description' => '认证方式。',
'type' => 'string',
'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'Token',
+ 'enum' => ['Token'],
],
+ 'displayReleaseVersion' => ['description' => 'Spark引擎版本号。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12)'."\n"],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'environmentId' => ['description' => '运行环境ID。', 'type' => 'string', 'required' => false, 'example' => 'ev-ctfq0fem1hkhgv4hapng'],
+ 'networkName' => ['description' => '网络连接名称。', 'type' => 'string', 'required' => false, 'example' => 'test'],
+ 'livyServerConf' => ['description' => 'Livy Gateway配置,JSON格式,支持以下文件:'."\n"
+ ."\n"
+ .'- sparkDefaultsConf'."\n"
+ .'- sparkBlackListConf'."\n"
+ .'- livyConf'."\n"
+ .'- livyClientConf', 'type' => 'string', 'required' => false, 'example' => '{'."\n"
+ .' "sparkDefaultsConf": "spark.driver.cores 1\\nspark.driver.memory 4g\\nspark.executor.cores 1\\nspark.executor.memory 4g\\n",'."\n"
+ .' "sparkBlackListConf": "spark.driver.cores\\nspark.driver.memory",'."\n"
+ .' "livyConf": "livy.server.session.timeout 1h\\n",'."\n"
+ .' "livyClientConf": "livy.rsc.sql.num-rows 1000\\n"'."\n"
+ .'}'],
+ 'enablePublic' => ['description' => '公网地址开关状态。'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
'required' => false,
],
],
[
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-790b443d72394bfc',
- ],
- ],
- [
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'sessionClusterId' => [
- 'title' => 'Workspace Id。',
- 'description' => '会话ID。',
- 'type' => 'string',
- 'example' => 'w-******',
- ],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ 'data' => [
+ 'description' => '返回数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'livyComputeId' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'example' => 'lc-i8xogcdfa4fk3yn1'],
+ ],
],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionClusterId\\": \\"w-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '创建会话',
- ],
- 'StopSessionCluster' => [
- 'summary' => '终止session集群。',
- 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters/action/stopSessionCluster',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '创建Livy Gateway',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"livyComputeId\\": \\"lc-i8xogcdfa4fk3yn1\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'CreateLivyComputeToken' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '222305',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
- 'operationType' => 'read',
- 'systemTags' => [],
'parameters' => [
[
+ 'name' => 'workspaceBizId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
+ ],
+ [
+ 'name' => 'livyComputeId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-zm4dzdiubu73w2yx'],
+ ],
+ [
'name' => 'body',
'in' => 'body',
- 'allowEmptyValue' => false,
'style' => 'json',
'schema' => [
- 'description' => '请求结构体',
+ 'description' => '请求结构体。',
'type' => 'object',
'properties' => [
- 'queueName' => [
- 'description' => '队列名称',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
- 'sessionClusterId' => [
- 'description' => '会话ID',
- 'type' => 'string',
+ 'name' => ['description' => 'Token名称。', 'type' => 'string', 'required' => false, 'example' => 'mytoken'],
+ 'token' => ['description' => 'Token内容,长度需要大于等于16。', 'type' => 'string', 'required' => false, 'example' => 'gs3fy75w4o7hqe5s'],
+ 'autoExpireConfiguration' => [
+ 'description' => 'Token过期信息结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Token是否自动过期。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'expireDays' => ['description' => '过期时间(天)。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '7'],
+ ],
'required' => false,
- 'example' => 'sc-xxxxxxxxxxxx',
],
],
'required' => false,
],
],
[
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
- ],
- [
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'sessionClusterId' => [
- 'title' => 'Workspace Id。',
- 'description' => 'Workspace Id。',
- 'type' => 'string',
- 'example' => 'w-******',
- ],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误详情。', 'type' => 'string', 'example' => 'ok'],
+ 'data' => [
+ 'description' => '返回数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'tokenId' => ['description' => 'Token ID。', 'type' => 'string', 'example' => 'lctk-xxxxxxxx'],
+ ],
],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionClusterId\\": \\"w-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '终止会话',
- ],
- 'StartSessionCluster' => [
- 'summary' => '启动session集群。',
- 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters/action/startSessionCluster',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '创建Livy Gateway的Token',
+ 'summary' => '创建Livy Gateway的Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"tokenId\\": \\"lctk-xxxxxxxx\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'CreateNetworkService' => [
+ 'summary' => '创建网络连接。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/networkServices',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'systemTags' => [],
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduceX85SDM'],
+ ],
'parameters' => [
[
'name' => 'body',
@@ -2239,21 +1407,20 @@
'allowEmptyValue' => false,
'style' => 'json',
'schema' => [
- 'description' => '请求结构体',
+ 'description' => '请求结构体。',
'type' => 'object',
'properties' => [
- 'queueName' => [
- 'description' => '队列名称',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
- 'sessionClusterId' => [
- 'description' => '会话ID',
- 'type' => 'string',
+ 'name' => ['description' => '名称。', 'type' => 'string', 'required' => false, 'example' => 'test'],
+ 'type' => ['description' => '类型。', 'type' => 'string', 'required' => false, 'example' => 'type'],
+ 'vpcId' => ['description' => 'VPC id。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1g14f566kbk8jex****'],
+ 'vswitchIds' => [
+ 'description' => '交换机id列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '交换机id。', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1j94qrn5meu5ft0****'],
'required' => false,
- 'example' => 'sc-xxxxxxxxxxx',
],
+ 'securityGroupId' => ['description' => '安全组id。', 'type' => 'string', 'required' => false, 'example' => ' securityGroupId'],
+ 'clientToken' => ['description' => '幂等标识。', 'type' => 'string', 'required' => false, 'example' => 'acaf8f54-d40e-4c33-a900-f6c1b345cb47'],
],
'required' => false,
],
@@ -2261,23 +1428,12 @@
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间id。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -2287,741 +1443,397 @@
'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'sessionClusterId' => [
- 'title' => 'Workspace Id。',
- 'description' => 'Workspace Id。',
- 'type' => 'string',
- 'example' => 'w-******',
- ],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'operationId' => ['title' => 'Workspace Id。', 'description' => '工作空间 id。', 'type' => 'string', 'example' => 'w-******'],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionClusterId\\": \\"w-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '启动会话',
- ],
- 'ListSessionClusters' => [
- 'summary' => '获取会话列表。',
- 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => '创建网络连接',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"operationId\\": \\"w-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateProcessDefinitionWithSchedule' => [
+ 'path' => '/dolphinscheduler/projects/{bizId}/process-definition',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '202905',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeCode' => '191322',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'nextToken',
+ 'name' => 'productNamespace',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '标记当前开始读取的位置。',
- 'description' => '标记当前开始读取的位置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '产品编码。', 'type' => 'string', 'required' => true, 'example' => 'SS'],
],
[
- 'name' => 'maxResults',
- 'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ 'name' => 'bizId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d8********'],
],
[
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-1234abcd',
- ],
+ 'name' => 'name',
+ 'in' => 'query',
+ 'schema' => ['description' => '工作流名称。', 'type' => 'string', 'required' => true, 'example' => 'ods_batch_workflow'],
],
[
- 'name' => 'sessionClusterId',
+ 'name' => 'description',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '作业名称。',
- 'description' => '作业名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'emr-spark-demo-job',
- ],
+ 'schema' => ['description' => '工作流描述。', 'type' => 'string', 'required' => true, 'example' => 'ods batch workflow'],
],
[
- 'name' => 'queueName',
+ 'name' => 'timeout',
'in' => 'query',
- 'schema' => [
- 'description' => '队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root',
- ],
+ 'schema' => ['description' => '工作流运行默认timeout。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
],
[
- 'name' => 'kind',
+ 'name' => 'taskRelationJson',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => '会话类型。',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'NOTEBOOK' => 'NOTEBOOK',
- 'THRIFT' => 'THRIFT',
- 'SQL' => 'SQL',
+ 'description' => '任务依赖关系JSON数组,包含工作流所有任务之间的依赖关系,preTaskCode为上游任务ID,postTaskCode为下游任务ID,每一个任务需有唯一的ID。如果任务节点没有上游任务,也需要增加一个preTaskCode为0的依赖关系。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '任务依赖关系JSON,包含工作流所有任务之间的依赖关系,preTaskCode为上游任务ID,postTaskCode为下游任务,每一个任务需有唯一的ID。如果任务节点没有上游任务,也需要增加一个preTaskCode为0的依赖关系。',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => '任务拓扑关系名称,填工作流名称即可。', 'type' => 'string', 'required' => true, 'example' => 'ods batch workflow'],
+ 'preTaskCode' => ['description' => '上游任务ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '16************'],
+ 'preTaskVersion' => ['description' => '上游任务版本。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ 'postTaskCode' => ['description' => '下游任务ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '28************'],
+ 'postTaskVersion' => ['description' => '下游任务版本。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ ],
+ 'required' => true,
],
- 'example' => 'SQL',
- 'default' => 'SQL',
+ 'required' => true,
],
],
[
- 'name' => 'regionId',
+ 'name' => 'taskDefinitionJson',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'sessionClusters' => [
- 'description' => '会话列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '会话详情。',
+ 'description' => '任务定义JSON数组,包含工作流所有任务的描述信息。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '任务定义JSON,包含工作流所有任务的描述信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => '任务定义ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '36************'],
+ 'description' => ['description' => '任务定义描述。', 'type' => 'string', 'required' => false, 'example' => 'ods transform task'],
+ 'alertEmailAddress' => ['description' => '告警邮箱地址。', 'type' => 'string', 'required' => false, 'example' => 'foo_bar@spark.alert.invalid.com'],
+ 'startAlertEnable' => ['description' => '任务启动告警开启。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'failAlertEnable' => ['description' => '任务失败告警开启。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'failRetryTimes' => ['description' => '任务失败重试次数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'name' => [
+ 'description' => '任务名称。',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => [],
+ 'example' => 'ods_transform_task',
+ ],
+ 'taskParams' => [
+ 'description' => '任务定义参数。',
'type' => 'object',
'properties' => [
- 'workspaceId' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-1234abcd',
- ],
- 'sessionClusterId' => [
- 'title' => '交互式作业会话id。',
- 'description' => '会话ID。',
- 'type' => 'string',
- 'example' => 'sc-123131',
- ],
- 'userId' => [
- 'title' => '任务实例ID。',
- 'description' => '用户ID。',
- 'type' => 'string',
- 'example' => '123131',
- ],
- 'queueName' => [
- 'title' => '作业实例名称。',
- 'description' => '会话运行队列名称。',
- 'type' => 'string',
- 'example' => 'dev_queue',
- ],
- 'state' => [
- 'title' => '作业状态。',
- 'description' => '会话状态。'."\n"
- .'- Starting:启动中。'."\n"
- .'- Running:运行中。'."\n"
- .'- Stopping:正在停止。'."\n"
- .'- Stopped:已停止。'."\n"
- .'- Error:已失败。',
- 'type' => 'string',
- 'example' => 'Running',
- ],
- 'stateChangeReason' => [
- 'description' => '会话最近一次状态变化详情。',
- 'type' => 'object',
- 'properties' => [
- 'code' => [
- 'description' => '状态变化编码。',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'message' => [
- 'description' => '状态变化消息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- ],
- ],
- 'autoStartConfiguration' => [
- 'description' => '自动启动配置。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => '是否开启自动启动。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- ],
- ],
- 'autoStopConfiguration' => [
- 'description' => '自动终止配置。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => '是否允许自动终止。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'idleTimeoutMinutes' => [
- 'description' => '会话空闲指定分钟数后自动终止。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '45',
+ 'workspaceBizId' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d8********'],
+ 'taskBizId' => ['description' => '数据开发任务ID。', 'type' => 'string', 'required' => true, 'example' => 'TSK-d87******************'],
+ 'resourceQueueId' => ['description' => 'Spark任务运行的资源队列。', 'type' => 'string', 'required' => true, 'example' => 'root_queue'],
+ 'sparkDriverCores' => ['description' => 'Spark任务Driver核数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'sparkExecutorCores' => ['description' => 'Spark任务Executor核数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'sparkDriverMemory' => ['description' => 'Spark任务Driver内存。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4g'],
+ 'sparkExecutorMemory' => ['description' => 'Spark任务Executor内存。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4g'],
+ 'sparkConf' => [
+ 'description' => 'Spark任务配置。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => 'Spark Conf配置key。', 'type' => 'string', 'required' => false, 'example' => 'spark.dynamicAllocation.enabled'],
+ 'value' => ['description' => 'Spark Conf配置value。', 'type' => 'string', 'required' => false, 'example' => 'true'],
],
+ 'required' => false,
],
+ 'required' => false,
],
- 'applicationConfigs' => [
- 'description' => '会话配置,等价于背后运行的Spark作业的配置。',
+ 'sparkVersion' => ['description' => 'Spark引擎版本。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'],
+ 'sparkLogLevel' => ['description' => 'Spark日志级别。', 'type' => 'string', 'required' => false, 'example' => 'INFO'],
+ 'sparkLogPath' => ['description' => 'Spark任务日志路径。', 'type' => 'string', 'required' => false, 'example' => 'oss://data***/spark/logs'],
+ 'displaySparkVersion' => ['description' => 'Spark引擎显示版本。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'environmentId' => ['description' => '环境id。', 'type' => 'string', 'required' => false, 'example' => 'env-crhq2h5lhtgju93buhkg'],
+ 'type' => ['description' => 'Spark任务类型。', 'type' => 'string', 'required' => false, 'example' => 'SQL'],
+ 'localParams' => [
'type' => 'array',
'items' => [
- 'description' => 'SQL Compute配置,等价于背后运行的spark job的配置。',
'type' => 'object',
'properties' => [
- 'configFileName' => [
- 'description' => '配置文件名。',
- 'type' => 'string',
- 'example' => 'spark-default.conf',
- ],
- 'configItemKey' => [
- 'description' => '配置键。',
- 'type' => 'string',
- 'example' => 'spark.app.name',
- ],
- 'configItemValue' => [
- 'description' => '配置值。',
- 'type' => 'string',
- 'example' => 'test_application',
- ],
+ 'prop' => ['type' => 'string', 'required' => false],
+ 'direct' => ['type' => 'string', 'required' => false],
+ 'type' => ['type' => 'string', 'required' => false],
+ 'value' => ['type' => 'string', 'required' => false],
],
+ 'required' => false,
],
- ],
- 'name' => [
- 'description' => '会话名称。',
- 'type' => 'string',
- 'example' => 'adhoc_query',
- ],
- 'userName' => [
- 'description' => '用户名。',
- 'type' => 'string',
- 'example' => 'test_user',
- ],
- 'kind' => [
- 'description' => '会话类型。',
- 'type' => 'string',
- 'enumValueTitles' => [
- 'NOTEBOOK' => 'NOTEBOOK',
- 'THRIFT' => 'THRIFT',
- 'SQL' => 'SQL',
- ],
- 'example' => 'SQL',
- ],
- 'webUI' => [
- 'description' => '会话SparkUI链接地址。',
- 'type' => 'string',
- 'example' => 'http://spark-ui-xxxx',
- ],
- 'releaseVersion' => [
- 'description' => 'Serverless Spark版本。',
- 'type' => 'string',
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'draftId' => [
- 'description' => '会话绑定的开发作业ID。',
- 'type' => 'string',
- 'example' => 'TSK-xxxxxxxxx'."\n",
- ],
- 'domain' => [
- 'description' => 'Thrift server的外网域名。',
- 'type' => 'string',
- 'example' => 'emr-spark-gateway-cn-hangzhou.data.aliyun.com',
- ],
- 'displayReleaseVersion' => [
- 'description' => '控制台实际展示的版本。',
- 'type' => 'string',
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'gmtCreate' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1732267598000',
- ],
- 'startTime' => [
- 'description' => '启动时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1732267598000',
- ],
- 'domainInner' => [
- 'description' => 'Thrift server的内网域名。',
- 'type' => 'string',
- 'example' => 'emr-spark-gateway-cn-hangzhou-internal.data.aliyuncs.com',
- ],
- 'extra' => [
- 'description' => '会话额外元数据。',
- 'type' => 'string',
- 'example' => '{"extraInfoKey":"extraInfoValue"}',
- ],
- 'publicEndpointEnabled' => [
- 'type' => 'boolean',
- ],
- 'connectionToken' => [
- 'type' => 'string',
+ 'required' => false,
],
],
+ 'required' => true,
+ ],
+ 'taskType' => ['description' => '工作流节点类型。', 'type' => 'string', 'required' => true, 'example' => 'EMR_SERVERLESS_SPARK'],
+ 'timeout' => ['description' => '回调方法的超时时间,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1200'],
+ 'tags' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['type' => 'string', 'example' => '“{\\"tagkey\\":\\"tagvalue\\"}”', 'description' => '标签对JSON字符串。'],
],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'title' => '返回读取到的数据位置。',
- 'description' => '返回读取到的数据位置。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'maxResults' => [
- 'title' => '本次请求所返回的最大记录条数。',
- 'description' => '本次请求所返回的最大记录条数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'totalCount' => [
- 'title' => '本次请求条件下的数据总量。',
- 'description' => '本次请求条件下的数据总量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
+ 'required' => true,
],
+ 'required' => true,
],
],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionClusters\\": [\\n {\\n \\"workspaceId\\": \\"w-1234abcd\\",\\n \\"sessionClusterId\\": \\"sc-123131\\",\\n \\"userId\\": \\"123131\\",\\n \\"queueName\\": \\"dev_queue\\",\\n \\"state\\": \\"Running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"ok\\"\\n },\\n \\"autoStartConfiguration\\": {\\n \\"enable\\": true\\n },\\n \\"autoStopConfiguration\\": {\\n \\"enable\\": false,\\n \\"idleTimeoutMinutes\\": 45\\n },\\n \\"applicationConfigs\\": [\\n {\\n \\"configFileName\\": \\"spark-default.conf\\",\\n \\"configItemKey\\": \\"spark.app.name\\",\\n \\"configItemValue\\": \\"test_application\\"\\n }\\n ],\\n \\"name\\": \\"adhoc_query\\",\\n \\"userName\\": \\"test_user\\",\\n \\"kind\\": \\"SQL\\",\\n \\"webUI\\": \\"http://spark-ui-xxxx\\",\\n \\"releaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"draftId\\": \\"TSK-xxxxxxxxx\\\\n\\",\\n \\"domain\\": \\"emr-spark-gateway-cn-hangzhou.data.aliyun.com\\",\\n \\"displayReleaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"fusion\\": false,\\n \\"gmtCreate\\": 1732267598000,\\n \\"startTime\\": 1732267598000,\\n \\"domainInner\\": \\"emr-spark-gateway-cn-hangzhou-internal.data.aliyuncs.com\\",\\n \\"extra\\": \\"{\\\\\\"extraInfoKey\\\\\\":\\\\\\"extraInfoValue\\\\\\"}\\",\\n \\"publicEndpointEnabled\\": true,\\n \\"connectionToken\\": \\"\\"\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
- 'title' => '获取会话列表',
- ],
- 'ListKyuubiSparkApplications' => [
- 'summary' => 'ListKyuubiSparkApplications',
- 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}/applications',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
- ],
- 'parameters' => [
[
- 'name' => 'nextToken',
+ 'name' => 'executionType',
'in' => 'query',
- 'schema' => [
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '执行策略', 'type' => 'string', 'required' => true, 'example' => 'PARALLEL'],
],
[
- 'name' => 'maxResults',
+ 'name' => 'alertEmailAddress',
'in' => 'query',
- 'schema' => [
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => '告警邮箱地址。', 'type' => 'string', 'required' => false, 'example' => 'foo_bar@spark.alert.invalid.com'],
],
[
- 'name' => 'workspaceId',
- 'in' => 'path',
+ 'name' => 'schedule',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
+ 'description' => '调度结构',
+ 'type' => 'object',
+ 'properties' => [
+ 'startTime' => ['description' => '调度开始时间。', 'type' => 'string', 'required' => false, 'example' => '2024-12-23 16:13:27'],
+ 'endTime' => ['description' => '调度结束时间。', 'type' => 'string', 'required' => false, 'example' => '2025-12-23 16:13:27'],
+ 'crontab' => ['description' => '调度cron表达式。', 'type' => 'string', 'required' => false, 'example' => '0 0 0 * * ?'],
+ 'timezoneId' => ['description' => '时区ID。', 'type' => 'string', 'required' => false, 'example' => 'Asia/Shanghai'],
+ ],
'required' => false,
- 'example' => 'w-d2d82aa09155****',
],
],
[
- 'name' => 'kyuubiServiceId',
- 'in' => 'path',
- 'schema' => [
- 'title' => 'Kyuubi 服务 ID。',
- 'description' => 'Kyuubi服务ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****',
- ],
+ 'name' => 'retryTimes',
+ 'in' => 'query',
+ 'schema' => ['description' => '重试次数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
- 'name' => 'applicationId',
+ 'name' => 'taskParallelism',
'in' => 'query',
- 'schema' => [
- 'description' => 'Kyuubi提交的Spark应用ID,用于搜索。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark-339f844005b6404c95f9f7c7a13b****',
- ],
+ 'schema' => ['description' => '任务并发度。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
- 'name' => 'applicationName',
+ 'name' => 'resourceQueue',
'in' => 'query',
- 'schema' => [
- 'description' => 'Kyuubi提交的Spark应用名,用于搜索。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kyuubi-connection-spark-sql-anonymous-fa9a5e73-b4b1-474a-b****',
- ],
+ 'schema' => ['description' => '资源队列。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
],
[
- 'name' => 'startTime',
+ 'name' => 'tags',
'in' => 'query',
'style' => 'json',
'schema' => [
- 'description' => '任务开始时间范围。',
+ 'description' => '标签。',
'type' => 'object',
- 'properties' => [
- 'startTime' => [
- 'description' => '任务开始时间范围的起点。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1709740800000',
- ],
- 'endTime' => [
- 'description' => '任务开始时间范围的终点。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1710432000000',
- ],
- ],
'required' => false,
+ 'additionalProperties' => ['type' => 'string', 'example' => '“{\\"tagkey\\":\\"tagvalue\\"}”', 'description' => '标签对JSON字符串。'],
],
],
[
- 'name' => 'resourceQueueId',
+ 'name' => 'publish',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'schema' => ['description' => '是否发布工作流。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
- 'name' => 'minDuration',
+ 'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'orderBy',
+ 'name' => 'runAs',
+ 'in' => 'query',
+ 'schema' => ['description' => '执行用户阿里云UID。', 'type' => 'string', 'required' => false, 'example' => '113***************'],
+ ],
+ [
+ 'name' => 'globalParams',
'in' => 'query',
'style' => 'json',
'schema' => [
'type' => 'array',
'items' => [
- 'type' => 'string',
+ 'type' => 'object',
+ 'properties' => [
+ 'prop' => ['type' => 'string', 'required' => false],
+ 'value' => ['type' => 'string', 'required' => false],
+ 'direct' => ['type' => 'string', 'required' => false],
+ 'type' => ['type' => 'string', 'required' => false],
+ ],
'required' => false,
],
'required' => false,
],
],
- [
- 'name' => 'sort',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
- ],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '返回格式。',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'applications' => [
- 'description' => '应用详情列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '应用详情。',
- 'type' => 'object',
- 'properties' => [
- 'applicationId' => [
- 'description' => 'Kyuubi提交的Spark应用ID。',
- 'type' => 'string',
- 'example' => 'spark-339f844005b6404c95f9f7c7a13b****',
- ],
- 'applicationName' => [
- 'description' => 'Kyuubi提交的Spark应用名。',
- 'type' => 'string',
- 'example' => 'kyuubi-connection-spark-sql-anonymous-fa9a5e73-b4b1-474a-b****',
- ],
- 'webUI' => [
- 'description' => 'Spark应用UI链接地址。',
- 'type' => 'string',
- 'example' => 'https://emr-spark-ui-cn-hangzhou.data.aliyun.com/history/w-cf351f3b6dcb****-spark-339f844005b6404c95f9f7c7a13b****/jobs/?spm=emr-serverless-spark.gateway_sessions.0.0.711344e3QfMVTz&token=NS9CU1lpWGl1Q2RRdi9sZUtuS3hy****',
- ],
- 'state' => [
- 'description' => 'Spark应用状态。'."\n"
- .'- STARTING:启动中。'."\n"
- .'- RUNNING:运行中。'."\n"
- .'- TERMINATED:已终止。',
- 'type' => 'string',
- 'example' => 'STARTING',
- ],
- 'startTime' => [
- 'description' => '任务开始的时间。',
- 'type' => 'string',
- 'example' => '2025-02-12 19:59:16',
- ],
- 'endTime' => [
- 'description' => '任务结束的时间。',
- 'type' => 'string',
- 'example' => '2025-02-12 20:02:02',
- ],
- 'cuHours' => [
- 'description' => '任务运行周期内所消耗的 CU 数量(该值为预估值,最终以账单为准)。',
- 'type' => 'number',
- 'format' => 'double',
- 'example' => '0.238302',
- ],
- 'mbSeconds' => [
- 'description' => '任务已分配的内存总量乘以任务已运行的秒数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3513900',
- ],
- 'vcoreSeconds' => [
- 'description' => '任务已分配的 vcore 总量乘以任务已运行的秒数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '780',
- ],
- 'resourceQueueId' => [
- 'description' => 'Spark任务运行的资源队列名称。',
- 'type' => 'string',
- 'example' => 'dev_queue',
- ],
- 'exitReason' => [
- 'title' => '退出码。',
- 'description' => '退出码。',
- 'type' => 'string',
- 'example' => 'Exit Code: 137, Exit Reason: OOMKilled',
- ],
- 'latestSqlStatementStatus' => [
- 'title' => '在该会话内,最近一次任务执行的状态。',
- 'description' => '在该会话内,最近一次任务执行的状态。',
- 'type' => 'string',
- 'example' => 'SUCCESS',
- ],
- 'runLog' => [
- 'title' => '应用日志。',
- 'description' => '应用日志。',
- '$ref' => '#/components/schemas/RunLog',
- ],
- 'kyuubiServiceId' => [
- 'title' => 'Kyuubi 服务 ID。',
- 'description' => 'Kyuubi 服务 ID。',
- 'type' => 'string',
- 'example' => 'kb-2b93ec*******c9440c',
- ],
- 'tags' => [
- 'title' => '标签。',
- 'description' => '标签。',
- 'type' => 'array',
- 'items' => [
- 'title' => '标签。',
- 'description' => '标签。',
- '$ref' => '#/components/schemas/Tag',
- ],
- ],
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => 'API返回编码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1400009'],
+ 'msg' => ['description' => '请求 code 对应的详细描述信息。', 'type' => 'string', 'example' => 'No permission for resource action'],
+ 'success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'],
+ 'failed' => ['description' => '请求是否失败。', 'type' => 'string', 'example' => 'false'],
+ 'data' => [
+ 'description' => '返回结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['description' => '工作流定义编号。', 'type' => 'integer', 'format' => 'int32', 'example' => '12342'],
+ 'code' => ['description' => '工作流定义ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '160************'],
],
],
- 'requestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'maxResults' => [
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'totalCount' => [
- 'description' => '记录总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
+ 'httpStatusCode' => ['description' => 'HTTP状态编码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"applications\\": [\\n {\\n \\"applicationId\\": \\"spark-339f844005b6404c95f9f7c7a13b****\\",\\n \\"applicationName\\": \\"kyuubi-connection-spark-sql-anonymous-fa9a5e73-b4b1-474a-b****\\",\\n \\"webUI\\": \\"https://emr-spark-ui-cn-hangzhou.data.aliyun.com/history/w-cf351f3b6dcb****-spark-339f844005b6404c95f9f7c7a13b****/jobs/?spm=emr-serverless-spark.gateway_sessions.0.0.711344e3QfMVTz&token=NS9CU1lpWGl1Q2RRdi9sZUtuS3hy****\\",\\n \\"state\\": \\"STARTING\\",\\n \\"startTime\\": \\"2025-02-12 19:59:16\\",\\n \\"endTime\\": \\"2025-02-12 20:02:02\\",\\n \\"cuHours\\": 0.238302,\\n \\"mbSeconds\\": 3513900,\\n \\"vcoreSeconds\\": 780,\\n \\"resourceQueueId\\": \\"dev_queue\\",\\n \\"exitReason\\": \\"Exit Code: 137, Exit Reason: OOMKilled\\",\\n \\"latestSqlStatementStatus\\": \\"SUCCESS\\",\\n \\"runLog\\": {\\n \\"driverStdOut\\": \\"\\",\\n \\"driverStdError\\": \\"\\",\\n \\"driverSyslog\\": \\"\\",\\n \\"driverStartup\\": \\"\\"\\n },\\n \\"kyuubiServiceId\\": \\"kb-2b93ec*******c9440c\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ]\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
- 'title' => '获取Kyuubi提交的Spark应用详情列表',
- ],
- 'CancelKyuubiSparkApplication' => [
- 'summary' => 'CancelKyuubiSparkApplication',
- 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}/application/{applicationId}',
- 'methods' => [
- 'delete',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '创建工作流定义和调度',
+ 'summary' => '创建工作流定义。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateProcessDefinitionWithSchedule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": 1400009,\\n \\"msg\\": \\"No permission for resource action\\",\\n \\"success\\": \\"true\\",\\n \\"failed\\": \\"false\\",\\n \\"data\\": {\\n \\"id\\": 12342,\\n \\"code\\": 0\\n },\\n \\"httpStatusCode\\": 200\\n}","type":"json"}]',
+ ],
+ 'CreateRayCluster' => [
+ 'summary' => '创建Ray集群。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
],
[
- 'name' => 'kyuubiServiceId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi 服务 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****',
- ],
- ],
- [
- 'name' => 'applicationId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi 提交的 Spark 应用 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark-339f844005b6404c95f9f7c7a13b****',
- ],
- ],
- [
- 'name' => 'regionId',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'description' => '地域 ID。',
- 'type' => 'string',
+ 'title' => '请求结构体。',
+ 'description' => '请求结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['title' => 'Ray集群名称。', 'description' => 'Ray集群名称,长度1到64。', 'type' => 'string', 'required' => false, 'example' => 'testRayCluster'],
+ 'displayReleaseVersion' => ['title' => 'Ray引擎版本。', 'description' => 'Ray引擎版本。', 'type' => 'string', 'required' => false, 'example' => 'ray-1.0.0 (Ray 2.47.1, Python 3.12)'],
+ 'description' => ['title' => '描述信息。', 'description' => '描述信息。', 'type' => 'string', 'required' => false, 'example' => 'Ray Cluster for dev.'],
+ 'networkServiceName' => ['title' => '网络连接名称。', 'description' => '网络连接名称。', 'type' => 'string', 'required' => false, 'example' => 'vpc'],
+ 'headSpec' => [
+ 'title' => 'Ray集群Head节点参数。',
+ 'description' => 'Ray集群Head节点参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'required' => false, 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'required' => false, 'example' => '8Gi'],
+ 'enableAutoScaling' => ['title' => '是否开启Worker自动扩缩容。', 'description' => '是否开启Worker自动扩缩容。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'idleTimeoutSeconds' => ['title' => '开启自动扩缩容后Worker Idle时间。', 'description' => '开启自动扩缩容后Worker Idle时间。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
+ 'gpuSpec' => ['title' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
+ ],
+ 'required' => false,
+ ],
+ 'workerSpec' => [
+ 'title' => 'Ray集群Worker节点参数。',
+ 'description' => 'Ray集群Worker节点参数,最多50组。',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => 'Worker节点结构体。',
+ 'description' => 'Worker节点结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'groupName' => ['title' => 'Worker组名。', 'description' => 'Worker组名。', 'type' => 'string', 'required' => false, 'example' => 'WorkerGroup1'],
+ 'workerType' => [
+ 'title' => 'Worker类型。',
+ 'description' => 'Worker类型。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CPU',
+ 'enum' => ['CPU'],
+ ],
+ 'replica' => ['title' => 'Worker数量。', 'description' => 'Worker数量,最小1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'required' => false, 'example' => '4'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'required' => false, 'example' => '16Gi'],
+ 'minReplica' => ['title' => '开启自动扩缩容后最小Worker数量。', 'description' => '开启自动扩缩容后最小Worker数量,最小1,必须小于等于maxReplica。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'maxReplica' => ['title' => '开启自动扩缩容后最大Worker数量。', 'description' => '开启自动扩缩容后最大Worker数量,最小1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
+ 'gpuSpec' => ['title' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'extraParam' => ['title' => '额外参数,json格式。', 'description' => '额外参数,必须为json格式。', 'type' => 'string', 'required' => false, 'example' => '{}'],
+ 'volumeIds' => [
+ 'title' => '需要挂载的纳管目录id列表。',
+ 'type' => 'array',
+ 'items' => ['title' => '纳管目录id。', 'type' => 'string', 'example' => 'vol-1234567890'],
+ ],
+ ],
'required' => false,
- 'example' => 'cn-hangzhou',
],
],
],
@@ -3029,250 +1841,316 @@
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '响应结构体。',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求 ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'body' => [
- 'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'applicationId' => [
- 'description' => 'Kyuubi 提交的 Spark 应用 ID。',
- 'type' => 'string',
- 'example' => 'spark-339f844005b6404c95f9f7c7a13b****',
- ],
- 'success' => [
- 'description' => '请求是否成功。'."\n"
- ."\n"
- .'- true:成功'."\n"
- ."\n"
- .'- false:失败',
- 'type' => 'boolean',
- ],
- ],
- ],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'clusterId' => ['title' => 'Ray集群ID。', 'description' => 'Ray集群ID。', 'type' => 'string', 'example' => 'ray-k7nm8ahl5te4tg91'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '创建Ray集群',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"body\\": {\\n \\"applicationId\\": \\"spark-339f844005b6404c95f9f7c7a13b****\\",\\n \\"success\\": true\\n }\\n}","type":"json"}]',
- 'title' => '取消Kyuubi提交的Spark应用',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"clusterId\\": \\"ray-k7nm8ahl5te4tg91\\"\\n}","type":"json"}]',
],
- 'DeleteKyuubiToken' => [
- 'summary' => '删除Kyuubi Gateway认证Token。',
- 'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token/{tokenId}',
- 'methods' => [
- 'delete',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'CreateSessionCluster' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeCode' => '202902',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
- ],
- [
- 'name' => 'kyuubiServiceId',
- 'in' => 'path',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'allowEmptyValue' => false,
+ 'style' => 'json',
'schema' => [
- 'description' => 'Kyuubi服务ID。',
- 'type' => 'string',
+ 'description' => '请求结构体',
+ 'type' => 'object',
+ 'properties' => [
+ 'queueName' => ['description' => '队列名称', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'autoStartConfiguration' => [
+ 'description' => '是否开启自动启动。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否开启自动启动。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ ],
+ 'required' => false,
+ ],
+ 'autoStopConfiguration' => [
+ 'description' => '自动终止配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否允许自动终止。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'idleTimeoutMinutes' => ['description' => '会话空闲指定分钟数后自动终止。', 'type' => 'integer', 'required' => false, 'example' => '60'],
+ ],
+ 'required' => false,
+ ],
+ 'applicationConfigs' => [
+ 'description' => 'Spark应用配置。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Spark应用配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'configFileName' => ['description' => '配置文件名。', 'type' => 'string', 'required' => false, 'example' => 'spark-defaults.conf'."\n"],
+ 'configItemKey' => ['description' => 'Spark Conf键。', 'type' => 'string', 'required' => false, 'example' => 'spark.app.name'],
+ 'configItemValue' => ['description' => 'Spark Conf值。', 'type' => 'string', 'required' => false, 'example' => 'test'],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'releaseVersion' => ['description' => 'Spark引擎版本号。', 'type' => 'string', 'required' => false, 'example' => 'esr-3.3.1'],
+ 'name' => ['description' => '任务名称。', 'type' => 'string', 'required' => false, 'example' => 'spark_job_name'],
+ 'kind' => ['description' => '会话类型。'."\n"
+ .'- SQL:SQL会话。'."\n"
+ .'- NOTEBOOK:NOTEBOOK会话。', 'type' => 'string', 'required' => false, 'example' => 'SQL', 'default' => 'SQL'],
+ 'displayReleaseVersion' => ['description' => '控制台实际展示的版本。', 'type' => 'string', 'required' => false, 'example' => 'esr-3.3.1'."\n"],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'envId' => ['description' => 'Python环境ID,仅对Notebook Session生效。', 'type' => 'string', 'required' => false, 'example' => 'env-cpv569tlhtgndjl86t40'],
+ 'publicEndpointEnabled' => ['type' => 'boolean', 'required' => false, 'default' => 'false'],
+ 'clientToken' => ['type' => 'string', 'required' => false],
+ ],
'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****',
],
],
[
- 'name' => 'tokenId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tk-zpi0*****hdv4y',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-790b443d72394bfc'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '请求响应结构体。',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'sessionClusterId' => ['title' => 'Workspace Id。', 'description' => '会话ID。', 'type' => 'string', 'example' => 'w-******'],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '删除Kyuubi Gateway认证Token',
- ],
- 'UpdateKyuubiToken' => [
- 'summary' => '更新Kyuubi Gateway认证Token。',
- 'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token/{tokenId}',
- 'methods' => [
- 'put',
+ 'title' => '创建会话',
+ 'summary' => '创建会话。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateSessionCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionClusterId\\": \\"w-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateSqlStatement' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceId}/statement',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeCode' => '224750',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
+ 'schema' => ['title' => 'A short description of struct', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-26ca1703f6d****'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'flat',
'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
+ 'description' => '创建SQL查询请求体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'codeContent' => ['description' => 'SQL代码。允许传入一条或多条SQL语句进行执行。', 'type' => 'string', 'required' => false, 'example' => 'SHOW TABLES'],
+ 'defaultDatabase' => ['description' => '默认数据库名。', 'type' => 'string', 'required' => false, 'example' => 'default'],
+ 'limit' => ['description' => 'limit值,取值范围:1~10000。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'default' => '1000'],
+ 'defaultCatalog' => ['description' => '默认DLF Catalog ID。', 'type' => 'string', 'required' => false, 'example' => 'default_catalog'],
+ 'sqlComputeId' => ['description' => 'SQL会话ID。需要在EMR Serverless Spark工作空间的会话管理模块内创建。', 'type' => 'string', 'required' => false, 'example' => 'sc-dfahdfjafhajd****'],
+ 'taskBizId' => ['type' => 'string'],
+ ],
'required' => false,
- 'example' => 'w-d2d82aa09155****'."\n",
],
],
[
- 'name' => 'kyuubiServiceId',
- 'in' => 'path',
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'Kyuubi服务ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'."\n",
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'data' => [
+ 'description' => '返回结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'statementId' => ['description' => '交互式查询ID。', 'type' => 'string', 'example' => 'st-1231dfafadfa***'],
+ ],
+ ],
+ 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ ],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '创建SQL查询',
+ 'summary' => '创建SQL查询。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
[
- 'name' => 'tokenId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tk-zpi0*****hdv4y'."\n",
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateSqlStatement',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"data\\": {\\n \\"statementId\\": \\"st-1231dfafadfa***\\"\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateWorkspace' => [
+ 'path' => '/api/v1/workspaces',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '191902',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ ],
+ 'parameters' => [
[
'name' => 'body',
'in' => 'body',
+ 'allowEmptyValue' => false,
'style' => 'json',
'schema' => [
- 'description' => '请求结构体。',
+ 'description' => '请求结构体',
'type' => 'object',
'properties' => [
- 'name' => [
- 'description' => 'Token名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_serverless_spark'."\n",
- ],
- 'token' => [
- 'description' => '长度为32,仅包含小写字母和数字的Token内容。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rjy7ejhej9gkzjjuun49jnx2xk8if2cu',
- ],
- 'autoExpireConfiguration' => [
- 'description' => '自动过期配置结构体。',
+ 'workspaceName' => ['description' => '工作空间名称。', 'type' => 'string', 'required' => false, 'example' => 'default'],
+ 'resourceSpec' => [
+ 'description' => '资源规格。',
'type' => 'object',
'properties' => [
- 'enable' => [
- 'description' => '是否自动过期。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
- 'expireDays' => [
- 'description' => '过期时间(单位:天)。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '365',
- ],
+ 'cu' => ['description' => '工作空间资源上限。', 'type' => 'string', 'required' => false, 'example' => '1000'],
+ 'gpu' => ['type' => 'integer', 'format' => 'int32', 'example' => '100'],
],
'required' => false,
],
- 'memberArns' => [
- 'description' => '授权用户arn列表。',
+ 'ossBucket' => ['description' => 'OSS Bucket。', 'type' => 'string', 'required' => false, 'example' => 'oss://test-bucket/'],
+ 'dlfCatalogId' => ['description' => 'DLF Catalog信息。', 'type' => 'string', 'required' => false, 'example' => '123xxxxx'],
+ 'paymentType' => ['description' => '实例的付费模式。可选值:'."\n"
+ ."\n"
+ .'- PayAsYouGo:按量付费'."\n"
+ .'- Pre:包年包月', 'type' => 'string', 'required' => false, 'example' => 'PayAsYouGo'],
+ 'paymentDurationUnit' => ['description' => '订购周期。', 'type' => 'string', 'required' => false, 'example' => '1000'],
+ 'duration' => ['description' => '订购周期数量(pre付费类型必填)。', 'type' => 'string', 'required' => false, 'example' => '12452'],
+ 'autoRenew' => ['description' => '是否自动续费(pre付费类型必填)。', 'type' => 'string', 'required' => false, 'example' => 'false'],
+ 'autoRenewPeriod' => ['description' => '自动续费时长(pre付费类型必填)。', 'type' => 'string', 'required' => false, 'example' => '100'],
+ 'autoRenewPeriodUnit' => ['description' => '自动续费周期(pre付费类型必填)。', 'type' => 'string', 'required' => false, 'example' => 'month'],
+ 'clientToken' => ['description' => '幂等校验TOKEN。', 'type' => 'string', 'required' => false, 'example' => '8e6aae2810c8f67229ca70bb31cd****'],
+ 'ramRoleName' => ['description' => 'Spark作业执行角色名。', 'type' => 'string', 'required' => false, 'example' => 'AliyunEMRSparkJobRunDefaultRole'],
+ 'autoStartSessionCluster' => ['description' => '是否自动启动Session。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'releaseType' => ['description' => '版本类型。', 'type' => 'string', 'required' => false, 'example' => 'pro'],
+ 'dlfType' => ['description' => '绑定dlf类型。', 'type' => 'string', 'required' => false, 'example' => 'dlf1.0', 'default' => '1.0'],
+ 'tag' => [
+ 'description' => '标签列表。',
'type' => 'array',
'items' => [
- 'description' => '授权用户arn。',
- 'type' => 'string',
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => '标签键。', 'type' => 'string', 'required' => false, 'example' => 'key'],
+ 'value' => ['description' => '标签值。', 'type' => 'string', 'required' => false, 'example' => 'value'],
+ ],
'required' => false,
- 'example' => 'acs:emr::w-d2d82aa09155****:member/195****7311',
],
'required' => false,
+ 'maxItems' => 20,
+ ],
+ 'resourceGroupId' => ['description' => '资源组 ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmwpi66knkxny'],
+ 'gpuSpec' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => 'ecs.gn7i-c8g1.2xlarge'],
],
],
'required' => false,
@@ -3281,107 +2159,137 @@
[
'name' => 'regionId',
'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['title' => 'Workspace Id。', 'description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-******'],
+ 'operationId' => ['title' => 'Operation Id。', 'description' => '操作流程ID。', 'type' => 'string', 'example' => 'op-******'],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ ],
],
],
],
+ 'title' => '创建工作空间',
+ 'summary' => '创建工作空间。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateWorkspace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"workspaceId\\": \\"w-******\\",\\n \\"operationId\\": \\"op-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteKyuubiService' => [
+ 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'kyuubiServiceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Kyuubi 服务 ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '请求响应结构体。',
+ 'description' => '返回结果。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n",
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'data' => ['description' => '返回结果。', 'type' => 'any', 'example' => 'true'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '删除Kyuubi Gateway',
+ 'summary' => '删除Kyuubi Gateway。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\"\\n}","type":"json"}]',
- 'title' => '更新Kyuubi Gateway认证Token',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": \\"true\\"\\n}","type":"json"}]',
],
- 'GetKyuubiToken' => [
- 'summary' => '获取Kyuubi Gateway认证Token。',
+ 'DeleteKyuubiToken' => [
'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token/{tokenId}',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
'name' => 'kyuubiServiceId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi服务ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****',
- ],
+ 'schema' => ['description' => 'Kyuubi服务ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'],
],
[
'name' => 'tokenId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tk-zpi0*****hdv4y',
- ],
+ 'schema' => ['description' => 'Token ID。', 'type' => 'string', 'required' => false, 'example' => 'tk-zpi0*****hdv4y'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -3391,194 +2299,287 @@
'description' => '请求响应结构体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'data' => [
- 'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'tokenId' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'example' => 'tk-zpi0*****hdv4y',
- ],
- 'name' => [
- 'description' => 'Token名称。',
- 'type' => 'string',
- 'example' => 'dev_serverless_spark'."\n",
- ],
- 'token' => [
- 'description' => '遮蔽处理的Token。',
- 'type' => 'string',
- 'example' => 'dxj**********wfg'."\n",
- ],
- 'createdBy' => [
- 'description' => '创建者名称。',
- 'type' => 'string',
- 'example' => 'admin',
- ],
- 'createTime' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456094000',
- ],
- 'expireTime' => [
- 'description' => '过期时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1753932319390',
- ],
- 'lastUsedTime' => [
- 'description' => '上次使用时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456098000',
- ],
- 'autoExpireConfiguration' => [
- 'description' => '自动过期配置结构体。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => '是否自动过期。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'expireDays' => [
- 'description' => '过期时间(单位:天)。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '365',
- ],
- ],
- ],
- 'memberArns' => [
- 'description' => '授权用户arn列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '授权用户arn。',
- 'type' => 'string',
- 'example' => 'acs:emr::w-d2d82aa09155****:member/195****7311',
- ],
- ],
- ],
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '删除Kyuubi Gateway认证Token',
+ 'summary' => '删除Kyuubi Gateway认证Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"tokenId\\": \\"tk-zpi0*****hdv4y\\",\\n \\"name\\": \\"dev_serverless_spark\\\\n\\",\\n \\"token\\": \\"dxj**********wfg\\\\n\\",\\n \\"createdBy\\": \\"admin\\",\\n \\"createTime\\": 1749456094000,\\n \\"expireTime\\": 1753932319390,\\n \\"lastUsedTime\\": 1749456098000,\\n \\"autoExpireConfiguration\\": {\\n \\"enable\\": true,\\n \\"expireDays\\": 365\\n },\\n \\"memberArns\\": [\\n \\"acs:emr::w-d2d82aa09155****:member/195****7311\\"\\n ]\\n }\\n}","type":"json"}]',
- 'title' => '获取Kyuubi Gateway认证Token',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:DeleteKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
],
- 'CreateKyuubiToken' => [
- 'summary' => '创建Kyuubi Gateway认证Token。',
- 'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token',
- 'methods' => [
- 'post',
+ 'DeleteLivyCompute' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
- 'schemes' => [
- 'https',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '222245',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceBizId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
+ ],
+ [
+ 'name' => 'livyComputeId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-i8xogcdfa4fk3yn1'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '删除Livy Gateway',
+ 'summary' => '删除Livy Gateway。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:DeleteLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteLivyComputeToken' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token/{tokenId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '222309',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
- 'produces' => [
- 'application/json',
+ 'parameters' => [
+ [
+ 'name' => 'workspaceBizId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
+ ],
+ [
+ 'name' => 'livyComputeId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-zm4dzdiubu73w2yx'],
+ ],
+ [
+ 'name' => 'tokenId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Token ID。', 'type' => 'string', 'required' => false, 'example' => 'lctk-xxxxxxxxxx'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '删除Livy Gateway的Token',
+ 'summary' => '删除Livy Gateway的Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:DeleteLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteRayCluster' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****'."\n",
- ],
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-26ca1703f6d11'],
],
[
- 'name' => 'kyuubiServiceId',
+ 'name' => 'clusterId',
'in' => 'path',
+ 'schema' => ['title' => 'Ray集群ID。', 'description' => 'Ray集群ID。', 'type' => 'string', 'required' => false, 'example' => 'ray-k7nm8ahl5te4tg91'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'Kyuubi服务ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'."\n",
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ ],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '删除Ray集群',
+ 'summary' => '删除Ray集群。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\"\\n}","type":"json"}]',
+ ],
+ 'EditWorkspaceQueue' => [
+ 'summary' => '编辑工作空间队列。',
+ 'path' => '/api/v1/workspaces/queues/action/edit',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '192830',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
[
'name' => 'body',
'in' => 'body',
+ 'allowEmptyValue' => false,
'style' => 'json',
'schema' => [
- 'description' => '请求结构体。',
+ 'description' => '请求结构体',
'type' => 'object',
'properties' => [
- 'name' => [
- 'description' => 'Token名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_serverless_spark',
- ],
- 'token' => [
- 'description' => '长度为32,仅包含小写字母和数字的Token内容。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rjy7ejhej9gkzjjuun49jnx2xk8if2cu',
- ],
- 'autoExpireConfiguration' => [
- 'description' => '自动过期配置结构体。',
+ 'workspaceId' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-975bcfda9625****'],
+ 'resourceSpec' => [
+ 'description' => '资源规格。',
'type' => 'object',
'properties' => [
- 'enable' => [
- 'description' => '是否自动过期。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
- 'expireDays' => [
- 'description' => '过期时间(单位:天)。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '365',
- ],
+ 'cu' => ['description' => '工作空间队列资源上限。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'],
+ 'maxCu' => ['title' => '最大cu数', 'type' => 'integer', 'format' => 'int64', 'example' => '0.5'],
+ 'gpu' => ['title' => 'gpu卡数。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'],
],
'required' => false,
],
- 'memberArns' => [
- 'description' => '授权用户arn列表。',
+ 'workspaceQueueName' => ['description' => '工作空间队列名称。', 'type' => 'string', 'required' => false, 'example' => 'dev_queue'],
+ 'environments' => [
+ 'description' => '队列环境类型',
'type' => 'array',
- 'items' => [
- 'description' => '授权用户arn。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'acs:emr::w-d2d82aa09155****:member/195****7311'."\n",
- ],
+ 'items' => ['description' => '队列环境类型', 'type' => 'string', 'required' => false, 'example' => 'prod'],
'required' => false,
],
+ 'gpuSpec' => [
+ 'title' => 'gpu机型列表。',
+ 'type' => 'array',
+ 'items' => ['title' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn7i-c8g1.2xlarge'],
+ ],
],
'required' => false,
],
@@ -3586,657 +2587,368 @@
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou'."\n",
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '请求响应结构体。',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'data' => [
- 'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'tokenId' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'example' => 'tk-zpi0*****hdv4y'."\n",
- ],
- ],
- ],
+ 'RequestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"tokenId\\": \\"tk-zpi0*****hdv4y\\\\n\\"\\n }\\n}","type":"json"}]',
- 'title' => '创建Kyuubi Gateway认证Token',
- ],
- 'ListKyuubiToken' => [
- 'summary' => '列出KyuubiServer认证Token。',
- 'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '编辑工作空间队列',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:EditWorkspaceQueue',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'GenerateTaskCodes' => [
+ 'summary' => '上线工作流及其调度',
+ 'path' => '/dolphinscheduler/projects/{bizId}/task-definition/gen-task-codes',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
- ],
+ 'systemTags' => ['operationType' => 'none'],
'parameters' => [
[
- 'name' => 'workspaceId',
+ 'name' => 'bizId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d8********'."\n"],
],
[
- 'name' => 'kyuubiServiceId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi服务ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****',
- ],
+ 'name' => 'genNum',
+ 'in' => 'query',
+ 'schema' => ['description' => '生成数量。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ ],
+ [
+ 'name' => 'productNamespace',
+ 'in' => 'query',
+ 'schema' => ['description' => '产品命名空间。', 'type' => 'string', 'required' => true, 'example' => 'SS'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '请求响应结构体。',
+ 'description' => '响应结构体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000000'],
+ 'msg' => ['description' => '请求 code 对应的详细描述信息。', 'type' => 'string', 'example' => 'No permission for resource action'],
+ 'success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'],
+ 'failed' => ['description' => '请求是否失败。', 'type' => 'boolean', 'example' => 'false'],
'data' => [
'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'tokens' => [
- 'description' => 'Token列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Token记录。',
- 'type' => 'object',
- 'properties' => [
- 'tokenId' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'example' => 'tk-zpi0*****hdv4y',
- ],
- 'name' => [
- 'description' => 'Token名称。',
- 'type' => 'string',
- 'example' => 'dev_serverless_spark',
- ],
- 'token' => [
- 'description' => '遮蔽处理的Token。',
- 'type' => 'string',
- 'example' => 'dxj**********wfg',
- ],
- 'createdBy' => [
- 'description' => '创建者名称。',
- 'type' => 'string',
- 'example' => 'admin',
- ],
- 'createTime' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1755496031000',
- ],
- 'expireTime' => [
- 'description' => '过期时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1787033891000',
- ],
- 'lastUsedTime' => [
- 'description' => '上次使用时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1760366232121',
- ],
- 'memberArns' => [
- 'description' => '授权用户arn列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '授权用户arn。',
- 'type' => 'string',
- 'example' => 'acs:emr::w-d2d82aa09155****:member/195****7311',
- ],
- ],
- 'accountNames' => [
- 'description' => '授权用户RAM账号名列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '授权用户RAM账号名。',
- 'type' => 'string',
- 'example' => 'dev-serverless-spark',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'type' => 'array',
+ 'items' => ['description' => '自动生成的工作流节点定义随机编码。', 'type' => 'integer', 'format' => 'int64', 'example' => '1263424***'],
],
+ 'httpStatusCode' => ['description' => 'HTTP状态编码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '生成工作流节点定义编码',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"tokens\\": [\\n {\\n \\"tokenId\\": \\"tk-zpi0*****hdv4y\\",\\n \\"name\\": \\"dev_serverless_spark\\",\\n \\"token\\": \\"dxj**********wfg\\",\\n \\"createdBy\\": \\"admin\\",\\n \\"createTime\\": 1755496031000,\\n \\"expireTime\\": 1787033891000,\\n \\"lastUsedTime\\": 1760366232121,\\n \\"memberArns\\": [\\n \\"acs:emr::w-d2d82aa09155****:member/195****7311\\"\\n ],\\n \\"accountNames\\": [\\n \\"dev-serverless-spark\\"\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]',
- 'title' => '列出Kyuubi Gateway认证Token',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": 1000000,\\n \\"msg\\": \\"No permission for resource action\\",\\n \\"success\\": true,\\n \\"failed\\": false,\\n \\"data\\": [\\n 0\\n ],\\n \\"httpStatusCode\\": 200\\n}","type":"json"}]',
],
- 'ListKyuubiServices' => [
- 'summary' => '列出Kyuubi Gateway。',
- 'path' => '/api/v1/kyuubi/{workspaceId}',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'GetAICenterState' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/aicenter',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduceLNUXSK'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '返回结构体。',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'state' => [
+ 'description' => 'AI中心状态:'."\n"
+ .'* active'."\n"
+ .'* inactive'."\n"
+ .'* activating',
'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'data' => [
- 'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'kyuubiServices' => [
- 'description' => 'KyuubiServer列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'KyuubiServer记录。',
- 'type' => 'object',
- 'properties' => [
- 'kyuubiConfigs' => [
- 'description' => 'KyuubiServer配置。',
- 'type' => 'string',
- 'example' => 'kyuubi.conf.key=value1'."\n"
- .'kyuubi.conf.key1=value2',
- ],
- 'sparkConfigs' => [
- 'description' => 'KyuubiServer启动Spark Application默认配置。',
- 'type' => 'string',
- 'example' => 'spark.conf.key=value1'."\n"
- .'spark.conf.key1=value2',
- ],
- 'state' => [
- 'description' => 'KyuubiServer状态。',
- 'type' => 'string',
- 'example' => 'Running',
- ],
- 'name' => [
- 'description' => 'KyuubiServer名称。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'queue' => [
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'dev_queue',
- ],
- 'createTime' => [
- 'description' => '创建时间。',
- 'type' => 'string',
- 'example' => '2025-03-11T08:21:58Z',
- ],
- 'startTime' => [
- 'description' => 'KyuubiServer最近启动时间。',
- 'type' => 'string',
- 'example' => '2024-11-23 09:22:00',
- ],
- 'creator' => [
- 'description' => '创建用户UID。',
- 'type' => 'string',
- 'example' => '103*******',
- ],
- 'kyuubiServiceId' => [
- 'description' => 'KyuubiServer ID。',
- 'type' => 'string',
- 'example' => 'kb-070104e7631242448d12a1377c309f30',
- ],
- 'innerEndpoint' => [
- 'description' => '内网域名。',
- 'type' => 'string',
- 'example' => 'kyuubi-cn-hangzhou-internal.spark.emr.aliyuncs.com',
- ],
- 'publicEndpoint' => [
- 'description' => '公网域名。',
- 'type' => 'string',
- 'example' => 'emr-spark-kyuubi-gateway-cn-hangzhou.aliyuncs.com',
- ],
- 'releaseVersion' => [
- 'description' => 'Spark引擎版本号。',
- 'type' => 'string',
- 'example' => 'esr-4.2.0 (Spark 3.5.2, Scala 2.12)'."\n",
- ],
- 'computeInstance' => [
- 'description' => 'KyuubiServer实例规格。',
- 'type' => 'string',
- 'example' => '4C16G',
- ],
- 'replica' => [
- 'description' => 'KyuubiServer副本数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '3',
- ],
- 'kyuubiReleaseVersion' => [
- 'description' => 'KyuubiServer版本。',
- 'type' => 'string',
- 'example' => '1.9.2-0.0.1',
- ],
- ],
- ],
- ],
- ],
+ 'example' => 'Running',
+ 'enum' => ['active', 'inactive', 'activating'],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取AI中心状态',
+ 'summary' => '获取AI中心状态',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"kyuubiServices\\": [\\n {\\n \\"kyuubiConfigs\\": \\"kyuubi.conf.key=value1\\\\nkyuubi.conf.key1=value2\\",\\n \\"sparkConfigs\\": \\"spark.conf.key=value1\\\\nspark.conf.key1=value2\\",\\n \\"state\\": \\"Running\\",\\n \\"name\\": \\"test\\",\\n \\"queue\\": \\"dev_queue\\",\\n \\"createTime\\": \\"2025-03-11T08:21:58Z\\",\\n \\"startTime\\": \\"2024-11-23 09:22:00\\",\\n \\"creator\\": \\"103*******\\",\\n \\"kyuubiServiceId\\": \\"kb-070104e7631242448d12a1377c309f30\\",\\n \\"innerEndpoint\\": \\"kyuubi-cn-hangzhou-internal.spark.emr.aliyuncs.com\\",\\n \\"publicEndpoint\\": \\"emr-spark-kyuubi-gateway-cn-hangzhou.aliyuncs.com\\",\\n \\"releaseVersion\\": \\"esr-4.2.0 (Spark 3.5.2, Scala 2.12)\\\\n\\",\\n \\"computeInstance\\": \\"4C16G\\",\\n \\"replica\\": 3,\\n \\"kyuubiReleaseVersion\\": \\"1.9.2-0.0.1\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
- 'title' => '列出Kyuubi Gateway信息',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"state\\": \\"Running\\"\\n}","type":"json"}]',
],
- 'CreateKyuubiService' => [
- 'summary' => '创建Kyuubi Gateway。',
- 'path' => '/api/v1/kyuubi/{workspaceId}',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'GetCacheCluster' => [
+ 'path' => '/api/v1/cache/{cacheClusterId}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'workspaceId',
+ 'name' => 'cacheClusterId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => 'Cache集群ID。', 'type' => 'string', 'required' => false, 'example' => 'spc-xxxxxxx'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '请求结构体。',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'kyuubiConfigs' => [
- 'description' => 'Kyuubi Service 配置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{\\"key\\":\\"kyuubi.engine.share.level\\",\\"value\\":\\"USER\\"}]',
- ],
- 'sparkConfigs' => [
- 'description' => 'Spark配置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{\\"key\\":\\"spark.app.name\\",\\"value\\":\\"test\\"}]',
- ],
- 'name' => [
- 'description' => 'Kyuubi Service 名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_serverless_spark',
- ],
- 'queue' => [
- 'description' => 'Kyuubi Service 运行队列。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_queue',
- ],
- 'computeInstance' => [
- 'description' => 'Kyuubi Service 规格。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2c8g',
- ],
- 'releaseVersion' => [
- 'description' => 'Spark 引擎版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.6.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'publicEndpointEnabled' => [
- 'description' => '是否开启公网访问。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'false',
- ],
- 'replica' => [
- 'description' => '开启高可用副本数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '3',
- ],
- 'kyuubiReleaseVersion' => [
- 'description' => 'Kyuubi Service 引擎版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1.9.2-0.0.2',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'cacheClusters' => ['description' => 'Cache集群列表', '$ref' => '#/components/schemas/CacheCluster'],
],
- 'required' => false,
],
],
],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取Cache集群详情',
+ 'summary' => '获取Cache集群详情',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"cacheClusters\\": {\\n \\"clusterId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"state\\": \\"\\",\\n \\"creator\\": \\"\\",\\n \\"modifier\\": \\"\\",\\n \\"paymentType\\": \\"\\",\\n \\"resourceSpec\\": {\\n \\"bandWidth\\": 0,\\n \\"storage\\": 0,\\n \\"ha\\": true\\n },\\n \\"regionId\\": \\"\\",\\n \\"usedResourceSpec\\": {\\n \\"bandWidth\\": 0,\\n \\"storage\\": 0\\n },\\n \\"gmtCreated\\": 0,\\n \\"gmtModified\\": 0,\\n \\"configuration\\": \\"\\",\\n \\"resourceGroupId\\": \\"\\",\\n \\"cacheClusterId\\": \\"\\",\\n \\"createTime\\": \\"\\",\\n \\"cacheClusterName\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"configurations\\": [\\n {\\n \\"name\\": \\"cacheset.xml\\",\\n \\"content\\": \\"\\"\\n }\\n ],\\n \\"bindedWorkspaces\\": [\\n \\"\\"\\n ],\\n \\"cachesets\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"path\\": \\"\\"\\n }\\n ],\\n \\"tags\\": [\\n {\\n \\"key\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"tables\\": [\\n {\\n \\"catalogId\\": \\"\\",\\n \\"catalogProvider\\": \\"\\",\\n \\"database\\": \\"\\",\\n \\"table\\": \\"\\",\\n \\"workspaceId\\": \\"\\"\\n }\\n ],\\n \\"extra\\": \\"\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetCuHours' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/metric/cuHours/{queue}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduceT8XN05'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-dsa23*****'],
+ ],
+ [
+ 'name' => 'queue',
+ 'in' => 'path',
+ 'schema' => ['description' => '队列名称。', 'type' => 'string', 'required' => true, 'example' => 'root_queue'],
+ ],
+ [
+ 'name' => 'startTime',
+ 'in' => 'query',
+ 'schema' => ['description' => '查询时间范围起点。', 'type' => 'string', 'required' => true, 'example' => '2024-01-01 00:00:00'],
+ ],
+ [
+ 'name' => 'endTime',
+ 'in' => 'query',
+ 'schema' => ['description' => '查询时间范围终点。', 'type' => 'string', 'required' => true, 'example' => '2024-01-08 00:00:00'],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '响应结构体。',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求 ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n",
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
'data' => [
'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'kyuubiServiceId' => [
- 'description' => 'Kyuubi Service ID。',
- 'type' => 'string',
- 'example' => 'kb-f99935b350fb4****7ef700b8b4197a3',
- ],
+ 'cuHours' => ['description' => '查询周期内对应查询队列所消耗的CU时(该值为预估值,最终以账单为准)。', 'type' => 'string', 'example' => '{2025-01-09 00:00:00=2.033333, 2025-01-09 01:00:00=2.033333, 2025-01-09 02:00:00=2.033333, 2025-01-09 03:00:00=2.033333, 2025-01-09 04:00:00=2.033333, 2025-01-09 05:00:00=2.033333, 2025-01-09 06:00:00=2.033333, 2025-01-09 07:00:00=2.033333, 2025-01-09 08:00:00=2.033333, 2025-01-09 09:00:00=1.933333, 2025-01-09 10:00:00=2.133333, 2025-01-09 11:00:00=3.100000, 2025-01-09 12:00:00=2.900000}'],
],
+ 'example' => '{'."\n"
+ .' "cuHours": "{2025-01-09 00:00:00=2.033333, 2025-01-09 01:00:00=2.033333, 2025-01-09 02:00:00=2.033333, 2025-01-09 03:00:00=2.033333, 2025-01-09 04:00:00=2.033333, 2025-01-09 05:00:00=2.033333, 2025-01-09 06:00:00=2.033333, 2025-01-09 07:00:00=2.033333, 2025-01-09 08:00:00=2.033333, 2025-01-09 09:00:00=1.933333, 2025-01-09 10:00:00=2.133333, 2025-01-09 11:00:00=3.100000, 2025-01-09 12:00:00=2.900000}"'."\n"
+ .'}',
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\",\\n \\"data\\": {\\n \\"kyuubiServiceId\\": \\"kb-f99935b350fb4****7ef700b8b4197a3\\"\\n }\\n}","type":"json"}]',
- 'title' => '创建 Kyuubi Gateway',
- ],
- 'GetKyuubiService' => [
- 'summary' => '获取 Kyuubi Gateway。',
- 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取工作空间队列CU时',
+ 'summary' => 'GetCuHours',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetCuHours',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"cuHours\\": \\"{2025-01-09 00:00:00=2.033333, 2025-01-09 01:00:00=2.033333, 2025-01-09 02:00:00=2.033333, 2025-01-09 03:00:00=2.033333, 2025-01-09 04:00:00=2.033333, 2025-01-09 05:00:00=2.033333, 2025-01-09 06:00:00=2.033333, 2025-01-09 07:00:00=2.033333, 2025-01-09 08:00:00=2.033333, 2025-01-09 09:00:00=1.933333, 2025-01-09 10:00:00=2.133333, 2025-01-09 11:00:00=3.100000, 2025-01-09 12:00:00=2.900000}\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetDoctorApplication' => [
+ 'summary' => 'get doctor application for serverless spark',
+ 'path' => '/api/v1/workspaces/{workspaceId}/runs/{runId}/action/getDoctorApplication',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeCode' => '193399',
+ 'abilityTreeNodes' => ['FEATUREemapreduce60H0RM'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-cea2c314a****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
- 'name' => 'kyuubiServiceId',
+ 'name' => 'runId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi 服务 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-415ddee******f1d1eac0388b86',
- ],
+ 'schema' => ['description' => '运行任务id。', 'type' => 'string', 'required' => false, 'example' => 'jr-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'queryTime',
+ 'in' => 'query',
+ 'schema' => ['description' => '查询时间。', 'type' => 'string', 'required' => false, 'example' => '2024-01-01'],
+ ],
+ [
+ 'name' => 'locale',
+ 'in' => 'query',
+ 'schema' => ['description' => '诊断信息语言。', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'default' => 'zh-CN'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '响应结构体。',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求 ID。',
- 'type' => 'string',
- 'example' => '8CE06D75-E6A2-505D-9B4B-31DEE3D98A04',
- ],
'data' => [
'description' => '返回结果。',
'type' => 'object',
'properties' => [
- 'kyuubiConfigs' => [
- 'description' => 'Kyuubi Service 配置。',
- 'type' => 'string',
- 'example' => '[]',
- ],
- 'sparkConfigs' => [
- 'description' => 'Spark 配置。',
- 'type' => 'string',
- 'example' => '[]',
- ],
- 'state' => [
- 'description' => 'Kyuubi Service 状态。',
- 'type' => 'string',
- 'example' => 'RUNNING',
- ],
- 'name' => [
- 'description' => 'Kyuubi Service 名称。',
- 'type' => 'string',
- 'example' => 'dev_serverless_spark'."\n",
- ],
- 'queue' => [
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'dev_queue',
- ],
- 'createTime' => [
- 'description' => '创建时间。',
- 'type' => 'string',
- 'example' => '1749456094000',
- ],
- 'startTime' => [
- 'description' => '启动时间。',
- 'type' => 'string',
- 'example' => '1749456094000',
- ],
- 'creator' => [
- 'description' => '创建者UID。',
- 'type' => 'string',
- 'example' => '150978934701****',
- ],
- 'kyuubiServiceId' => [
- 'description' => 'Kyuubi Service ID。',
- 'type' => 'string',
- 'example' => 'kb-4e209b04588***95f04ad3538ae4',
- ],
- 'innerEndpoint' => [
- 'description' => '内网域名。',
- 'type' => 'string',
- 'example' => 'kyuubi-cn-beijing-internal.spark.emr.aliyuncs.com',
- ],
- 'publicEndpoint' => [
- 'description' => '公网域名。',
- 'type' => 'string',
- 'example' => 'emr-spark-kyuubi-gateway-cn-beijing.aliyuncs.com',
- ],
- 'releaseVersion' => [
- 'description' => 'Spark 引擎版本。',
- 'type' => 'string',
- 'example' => 'esr-4.6.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'computeInstance' => [
- 'description' => 'Kyuubi Service 规格。',
- 'type' => 'string',
- 'example' => '2c8g',
- ],
- 'publicEndpointEnabled' => [
- 'description' => '是否开启公网访问。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'replica' => [
- 'description' => '开启高可用副本数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'kyuubiReleaseVersion' => [
- 'description' => 'Kyuubi Service 引擎版本。',
- 'type' => 'string',
- 'example' => '1.9.2-0.0.2',
+ 'suggestions' => [
+ 'description' => '诊断信息列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '诊断信息描述。', 'type' => 'string', 'example' => '正常。'],
+ 'example' => 'Normal.',
],
],
],
@@ -4244,493 +2956,524 @@
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8CE06D75-E6A2-505D-9B4B-31DEE3D98A04\\",\\n \\"data\\": {\\n \\"kyuubiConfigs\\": \\"[]\\",\\n \\"sparkConfigs\\": \\"[]\\",\\n \\"state\\": \\"RUNNING\\",\\n \\"name\\": \\"dev_serverless_spark\\\\n\\",\\n \\"queue\\": \\"dev_queue\\",\\n \\"createTime\\": \\"1749456094000\\",\\n \\"startTime\\": \\"1749456094000\\",\\n \\"creator\\": \\"150978934701****\\",\\n \\"kyuubiServiceId\\": \\"kb-4e209b04588***95f04ad3538ae4\\",\\n \\"innerEndpoint\\": \\"kyuubi-cn-beijing-internal.spark.emr.aliyuncs.com\\",\\n \\"publicEndpoint\\": \\"emr-spark-kyuubi-gateway-cn-beijing.aliyuncs.com\\",\\n \\"releaseVersion\\": \\"esr-4.6.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"computeInstance\\": \\"2c8g\\",\\n \\"publicEndpointEnabled\\": true,\\n \\"replica\\": 0,\\n \\"kyuubiReleaseVersion\\": \\"1.9.2-0.0.2\\"\\n }\\n}","type":"json"}]',
- 'title' => '获取 Kyuubi Gateway',
- ],
- 'UpdateKyuubiService' => [
- 'summary' => '更新Kyuubi Gateway。',
- 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}',
- 'methods' => [
- 'put',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"data\\": {\\n \\"suggestions\\": [\\n \\"正常。\\"\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => '获取作业诊断信息',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetDoctorApplication',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'GetJobRun' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns/{jobRunId}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeCode' => '215794',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d2d82aa09151****'],
],
[
- 'name' => 'kyuubiServiceId',
+ 'name' => 'jobRunId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi 服务 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '任务实例ID。', 'description' => '任务运行ID。', 'type' => 'string', 'required' => true, 'example' => 'jr-93d98d2f7061****'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
- 'schema' => [
- 'description' => '请求结构体。',
- 'type' => 'object',
- 'properties' => [
- 'kyuubiConfigs' => [
- 'description' => 'Kyuubi Service配置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[]',
- ],
- 'sparkConfigs' => [
- 'description' => 'Spark 配置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[]',
- ],
- 'name' => [
- 'description' => '名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_serverless_spark'."\n",
- ],
- 'queue' => [
- 'description' => 'Kyuubi Service 运行队列。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_queue',
- ],
- 'releaseVersion' => [
- 'description' => 'Spark引擎版本号。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.6.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'computeInstance' => [
- 'description' => 'Kyuubi Service 规格。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2c8g',
- ],
- 'publicEndpointEnabled' => [
- 'description' => '是否开启公网访问。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'false',
- ],
- 'replica' => [
- 'description' => '开启高可用副本数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
- 'kyuubiReleaseVersion' => [
- 'description' => 'Kyuubi Service 引擎版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1.9.2-0.0.2',
- ],
- 'restart' => [
- 'description' => '是否重启。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- 'required' => false,
- ],
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '响应结构体。',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求 ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'data' => [
- 'description' => '返回数据。',
- 'type' => 'any',
- 'example' => 'true',
+ 'jobRun' => [
+ 'description' => '任务详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-d2d82aa09155****'],
+ 'jobRunId' => ['title' => '任务实例ID。', 'description' => '任务运行ID。', 'type' => 'string', 'example' => 'jr-93d98d2f7061****'],
+ 'name' => ['title' => '作业实例名称。', 'description' => '任务名称。', 'type' => 'string', 'example' => 'jobName'],
+ 'state' => ['title' => '作业状态。', 'description' => '任务状态。', 'type' => 'string', 'example' => 'Running'],
+ 'stateChangeReason' => [
+ 'description' => '状态变化原因。',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => '错误码。', 'type' => 'string', 'example' => 'ERR-100000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'connection refused'],
+ ],
+ ],
+ 'submitTime' => ['title' => '作业提交时间。', 'description' => '任务提交时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1684119314000'],
+ 'endTime' => ['title' => '作业结束时间。', 'description' => '任务结束时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1684122914000'],
+ 'codeType' => ['title' => '作业代码类型。', 'description' => '任务代码类型。可能值:'."\n"
+ ."\n"
+ .'- SQL'."\n"
+ ."\n"
+ .'- JAR'."\n"
+ ."\n"
+ .'- PYTHON', 'type' => 'string', 'example' => 'SQL'],
+ 'webUI' => ['title' => '作业web ui。', 'description' => '作业Web UI。', 'type' => 'string', 'example' => 'http://spark-ui'],
+ 'executionTimeoutSeconds' => ['title' => '运行超时时间。', 'description' => '运行超时时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'],
+ 'resourceOwnerId' => ['title' => '创建用户Uid。', 'description' => '创建用户UID。', 'type' => 'string', 'example' => '150978934701****'],
+ 'tags' => [
+ 'title' => '标签。',
+ 'description' => '标签列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '标签。', '$ref' => '#/components/schemas/Tag'],
+ ],
+ 'log' => ['description' => '运行日志路径。', '$ref' => '#/components/schemas/RunLog'],
+ 'releaseVersion' => ['description' => '运行任务的Spark引擎版本。', 'type' => 'string', 'example' => 'esr-3.3.1'],
+ 'resourceQueueId' => ['description' => '运行任务的队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'jobDriver' => ['description' => 'Spark Driver相关信息。', '$ref' => '#/components/schemas/JobDriver'],
+ 'configurationOverrides' => [
+ 'description' => 'Spark任务配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'configurations' => [
+ 'description' => '配置列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '配置信息。', '$ref' => '#/components/schemas/Configuration'],
+ ],
+ ],
+ ],
+ 'displayReleaseVersion' => ['description' => '控制台实际展示的版本。', 'type' => 'string', 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'],
+ 'fusion' => ['description' => '是否开启 Fusion 引擎加速。', 'type' => 'boolean', 'example' => 'false'],
+ 'environmentId' => ['description' => '环境 ID。', 'type' => 'string', 'example' => 'env-cpv569tlhtgndjl8****'],
+ 'notebookAccessUrl' => ['type' => 'string', 'example' => 'http://workflow-ide-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/spark-notebook-output/w-xxxxxxxxx/xxxxxxx'],
+ 'priority' => ['type' => 'string', 'example' => '5'],
+ ],
],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => '获取Spark任务详情',
+ 'summary' => '调用GetJobRun获取任务详情。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": \\"true\\"\\n}","type":"json"}]',
- 'title' => '更新Kyuubi Gateway',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetJobRun',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"jobRun\\": {\\n \\"workspaceId\\": \\"w-d2d82aa09155****\\",\\n \\"jobRunId\\": \\"jr-93d98d2f7061****\\",\\n \\"name\\": \\"jobName\\",\\n \\"state\\": \\"Running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"ERR-100000\\",\\n \\"message\\": \\"connection refused\\"\\n },\\n \\"submitTime\\": 1684119314000,\\n \\"endTime\\": 1684122914000,\\n \\"codeType\\": \\"SQL\\",\\n \\"webUI\\": \\"http://spark-ui\\",\\n \\"executionTimeoutSeconds\\": 3600,\\n \\"resourceOwnerId\\": \\"150978934701****\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ],\\n \\"log\\": {\\n \\"driverStdOut\\": \\"oss://bucket/path/to/stdout\\",\\n \\"driverStdError\\": \\"oss://bucket/path/to/stderr\\",\\n \\"driverSyslog\\": \\"oss://bucket/path/to/syslog\\",\\n \\"driverStartup\\": \\"oss://bucket/path/to/startup\\"\\n },\\n \\"releaseVersion\\": \\"esr-3.3.1\\",\\n \\"resourceQueueId\\": \\"root_queue\\",\\n \\"jobDriver\\": {\\n \\"sparkSubmit\\": {\\n \\"entryPoint\\": \\"oss://bucket/path/to/entrypoint.jar\\",\\n \\"entryPointArguments\\": [\\n \\"arg1\\"\\n ],\\n \\"sparkSubmitParameters\\": \\"--conf spark.app.name=test\\"\\n }\\n },\\n \\"configurationOverrides\\": {\\n \\"configurations\\": [\\n {\\n \\"configFileName\\": \\"common.conf\\",\\n \\"configItemKey\\": \\"hive.metastore.type\\",\\n \\"configItemValue\\": \\"USER_RDS\\"\\n }\\n ]\\n },\\n \\"displayReleaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"fusion\\": false,\\n \\"environmentId\\": \\"env-cpv569tlhtgndjl8****\\",\\n \\"notebookAccessUrl\\": \\"http://workflow-ide-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/spark-notebook-output/w-xxxxxxxxx/xxxxxxx\\",\\n \\"priority\\": \\"5\\"\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
],
- 'DeleteKyuubiService' => [
- 'summary' => '删除Kyuubi Gateway。',
+ 'GetKyuubiService' => [
'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}',
- 'methods' => [
- 'delete',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-cea2c314a****'],
],
[
'name' => 'kyuubiServiceId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi 服务 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****',
- ],
+ 'schema' => ['description' => 'Kyuubi 服务 ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-415ddee******f1d1eac0388b86'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '返回结果。',
+ 'description' => '响应结构体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求 ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => '8CE06D75-E6A2-505D-9B4B-31DEE3D98A04'],
'data' => [
'description' => '返回结果。',
- 'type' => 'any',
- 'example' => 'true',
+ 'type' => 'object',
+ 'properties' => [
+ 'kyuubiConfigs' => ['description' => 'Kyuubi Service 配置。', 'type' => 'string', 'example' => '[]'],
+ 'sparkConfigs' => ['description' => 'Spark 配置。', 'type' => 'string', 'example' => '[]'],
+ 'state' => ['description' => 'Kyuubi Service 状态。', 'type' => 'string', 'example' => 'RUNNING'],
+ 'name' => ['description' => 'Kyuubi Service 名称。', 'type' => 'string', 'example' => 'dev_serverless_spark'."\n"],
+ 'queue' => ['description' => '队列名称。', 'type' => 'string', 'example' => 'dev_queue'],
+ 'createTime' => ['description' => '创建时间。', 'type' => 'string', 'example' => '1749456094000'],
+ 'startTime' => ['description' => '启动时间。', 'type' => 'string', 'example' => '1749456094000'],
+ 'creator' => ['description' => '创建者UID。', 'type' => 'string', 'example' => '150978934701****'],
+ 'kyuubiServiceId' => ['description' => 'Kyuubi Service ID。', 'type' => 'string', 'example' => 'kb-4e209b04588***95f04ad3538ae4'],
+ 'innerEndpoint' => ['description' => '内网域名。', 'type' => 'string', 'example' => 'kyuubi-cn-beijing-internal.spark.emr.aliyuncs.com'],
+ 'publicEndpoint' => ['description' => '公网域名。', 'type' => 'string', 'example' => 'emr-spark-kyuubi-gateway-cn-beijing.aliyuncs.com'],
+ 'releaseVersion' => ['description' => 'Spark 引擎版本。', 'type' => 'string', 'example' => 'esr-4.6.0 (Spark 3.5.2, Scala 2.12)'],
+ 'computeInstance' => ['description' => 'Kyuubi Service 规格。', 'type' => 'string', 'example' => '2c8g'],
+ 'publicEndpointEnabled' => ['description' => '是否开启公网访问。', 'type' => 'boolean', 'example' => 'true'],
+ 'replica' => ['description' => '开启高可用副本数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'kyuubiReleaseVersion' => ['description' => 'Kyuubi Service 引擎版本。', 'type' => 'string', 'example' => '1.9.2-0.0.2'],
+ ],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取 Kyuubi Gateway',
+ 'summary' => '获取 Kyuubi Gateway。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": \\"true\\"\\n}","type":"json"}]',
- 'title' => '删除Kyuubi Gateway',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8CE06D75-E6A2-505D-9B4B-31DEE3D98A04\\",\\n \\"data\\": {\\n \\"kyuubiConfigs\\": \\"[]\\",\\n \\"sparkConfigs\\": \\"[]\\",\\n \\"state\\": \\"RUNNING\\",\\n \\"name\\": \\"dev_serverless_spark\\\\n\\",\\n \\"queue\\": \\"dev_queue\\",\\n \\"createTime\\": \\"1749456094000\\",\\n \\"startTime\\": \\"1749456094000\\",\\n \\"creator\\": \\"150978934701****\\",\\n \\"kyuubiServiceId\\": \\"kb-4e209b04588***95f04ad3538ae4\\",\\n \\"innerEndpoint\\": \\"kyuubi-cn-beijing-internal.spark.emr.aliyuncs.com\\",\\n \\"publicEndpoint\\": \\"emr-spark-kyuubi-gateway-cn-beijing.aliyuncs.com\\",\\n \\"releaseVersion\\": \\"esr-4.6.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"computeInstance\\": \\"2c8g\\",\\n \\"publicEndpointEnabled\\": true,\\n \\"replica\\": 0,\\n \\"kyuubiReleaseVersion\\": \\"1.9.2-0.0.2\\"\\n }\\n}","type":"json"}]',
],
- 'StartKyuubiService' => [
- 'summary' => '启动Kyuubi Gateway。',
- 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}/start',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'GetKyuubiToken' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token/{tokenId}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'get',
'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-cea2c314a****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
'name' => 'kyuubiServiceId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi 服务 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-415ddee******f1d1eac0388b86',
- ],
+ 'schema' => ['description' => 'Kyuubi服务ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'],
+ ],
+ [
+ 'name' => 'tokenId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Token ID。', 'type' => 'string', 'required' => false, 'example' => 'tk-zpi0*****hdv4y'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '响应结构体。',
+ 'description' => '请求响应结构体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求 ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
'data' => [
'description' => '返回数据。',
- 'type' => 'any',
- 'example' => 'true',
+ 'type' => 'object',
+ 'properties' => [
+ 'tokenId' => ['description' => 'Token ID。', 'type' => 'string', 'example' => 'tk-zpi0*****hdv4y'],
+ 'name' => ['description' => 'Token名称。', 'type' => 'string', 'example' => 'dev_serverless_spark'."\n"],
+ 'token' => ['description' => '遮蔽处理的Token。', 'type' => 'string', 'example' => 'dxj**********wfg'."\n"],
+ 'createdBy' => ['description' => '创建者名称。', 'type' => 'string', 'example' => 'admin'],
+ 'createTime' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456094000'],
+ 'expireTime' => ['description' => '过期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1753932319390'],
+ 'lastUsedTime' => ['description' => '上次使用时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456098000'],
+ 'autoExpireConfiguration' => [
+ 'description' => '自动过期配置结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否自动过期。', 'type' => 'boolean', 'example' => 'true'],
+ 'expireDays' => ['description' => '过期时间(单位:天)。', 'type' => 'integer', 'format' => 'int32', 'example' => '365'],
+ ],
+ ],
+ 'memberArns' => [
+ 'description' => '授权用户arn列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '授权用户arn。', 'type' => 'string', 'example' => 'acs:emr::w-d2d82aa09155****:member/195****7311'],
+ ],
+ 'sparkRole' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string'],
+ ],
+ ],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": \\"true\\"\\n}","type":"json"}]',
- 'title' => '启动Kyuubi Gateway',
- ],
- 'StopKyuubiService' => [
- 'summary' => '停止Kyuubi Gateway。',
- 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}/stop',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取Kyuubi Gateway认证Token',
+ 'summary' => '获取Kyuubi Gateway认证Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"tokenId\\": \\"tk-zpi0*****hdv4y\\",\\n \\"name\\": \\"dev_serverless_spark\\\\n\\",\\n \\"token\\": \\"dxj**********wfg\\\\n\\",\\n \\"createdBy\\": \\"admin\\",\\n \\"createTime\\": 1749456094000,\\n \\"expireTime\\": 1753932319390,\\n \\"lastUsedTime\\": 1749456098000,\\n \\"autoExpireConfiguration\\": {\\n \\"enable\\": true,\\n \\"expireDays\\": 365\\n },\\n \\"memberArns\\": [\\n \\"acs:emr::w-d2d82aa09155****:member/195****7311\\"\\n ],\\n \\"sparkRole\\": [\\n \\"\\"\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'GetLivyCompute' => [
+ 'summary' => '获取Livy Gateway信息。',
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'get',
'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce5JTF6C',
- ],
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '222260',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceId',
+ 'name' => 'workspaceBizId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
],
[
- 'name' => 'kyuubiServiceId',
+ 'name' => 'livyComputeId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Kyuubi 服务 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'."\n",
- ],
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-i8xogcdfa4fk3yn1'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '响应结构体。',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求 ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n",
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
'data' => [
- 'description' => '返回数据。',
- 'type' => 'any',
- 'example' => 'true',
+ 'description' => '返回结果。',
+ 'type' => 'object',
+ 'properties' => [
+ 'computeId' => ['description' => 'Livy Gateway的ID', 'type' => 'string', 'example' => 'lc-xxxxxxxxxxxxx'],
+ 'name' => ['description' => '名称。', 'type' => 'string', 'example' => 'test'],
+ 'livyVersion' => [
+ 'description' => 'Livy版本。',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => '0.8.0',
+ 'enum' => ['0.8.0'],
+ ],
+ 'releaseVersion' => ['description' => 'Spark引擎版本号,已废弃,请使用displayReleaseVersion。', 'type' => 'string', 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12, Java Runtime)'."\n"],
+ 'queueName' => ['description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'cpuLimit' => [
+ 'description' => 'Livy Server的CPU核数。'."\n"
+ .'- 1'."\n"
+ .'- 2'."\n"
+ .'- 4',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => '1',
+ ],
+ 'memoryLimit' => [
+ 'description' => 'Livy Server的内存大小。'."\n"
+ .'- 4Gi'."\n"
+ .'- 8Gi'."\n"
+ .'- 16Gi',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => '4Gi',
+ ],
+ 'autoStopConfiguration' => [
+ 'description' => '自动终止配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否创建后自动启动。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'example' => 'false'],
+ 'idleTimeoutMinutes' => ['description' => 'Livy Gateway空闲指定分钟数后自动终止。', 'type' => 'integer', 'format' => 'int64', 'example' => '300'],
+ ],
+ ],
+ 'authType' => [
+ 'description' => '认证方式。',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'Token',
+ 'enum' => ['Token'],
+ ],
+ 'status' => [
+ 'description' => '运行状态。',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'RUNNING',
+ 'enum' => ['RUNNING', 'STOPPED', 'STARTING', 'STOPPING', 'FAILED'],
+ ],
+ 'endpoint' => ['description' => '公网连接地址。', 'type' => 'string', 'example' => 'emr-spark-livy-gateway-cn-hangzhou.data.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx'],
+ 'createdBy' => ['description' => '创建者名称。', 'type' => 'string', 'example' => 'alice'],
+ 'ramUserId' => ['description' => '创建人ID。', 'type' => 'string', 'example' => '10000001'],
+ 'displayReleaseVersion' => ['description' => 'Spark引擎版本号。', 'type' => 'string', 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12)'],
+ 'fusion' => ['description' => '是否开启fusion开关。', 'type' => 'boolean', 'example' => 'false'."\n"],
+ 'startTime' => ['description' => '启动时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456094000'],
+ 'gmtCreate' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456094000'],
+ 'environmentId' => ['description' => '运行环境ID。', 'type' => 'string', 'example' => 'ev-cq31c7tlhtgm9nrrlj4g'],
+ 'endpointInner' => ['description' => '内网连接地址。', 'type' => 'string', 'example' => 'emr-spark-livy-gateway-cn-hangzhou-internal.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx'],
+ 'networkName' => ['description' => '网络连接名称。', 'type' => 'string', 'example' => 'test'],
+ 'livyServerConf' => ['description' => 'Livy Gateway配置,JSON格式,支持以下文件:'."\n"
+ ."\n"
+ .'- sparkDefaultsConf'."\n"
+ .'- sparkBlackListConf'."\n"
+ .'- livyConf'."\n"
+ .'- livyClientConf', 'type' => 'string', 'example' => ' '."\n"
+ .'{'."\n"
+ .' "sparkDefaultsConf": "spark.driver.cores 1\\nspark.driver.memory 4g\\nspark.executor.cores 1\\nspark.executor.memory 4g\\n",'."\n"
+ .' "sparkBlackListConf": "spark.driver.cores\\nspark.driver.memory",'."\n"
+ .' "livyConf": "livy.server.session.timeout 1h\\n",'."\n"
+ .' "livyClientConf": "livy.rsc.sql.num-rows 1000\\n"'."\n"
+ .'}'],
+ 'enablePublic' => ['description' => '公网地址开关状态。'."\n", 'type' => 'boolean', 'example' => 'true'],
+ ],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\",\\n \\"data\\": \\"true\\"\\n}","type":"json"}]',
- 'title' => '停止Kyuubi Gateway',
- ],
- 'ListLivyComputeSessions' => [
- 'summary' => '获取Livy Gateway的历史Session。',
- 'path' => '/api/v1/workspaces/{workspaceId}/livycompute/{livyComputeId}/session',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取Livy Gateway信息',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"computeId\\": \\"lc-xxxxxxxxxxxxx\\",\\n \\"name\\": \\"test\\",\\n \\"livyVersion\\": \\"0.8.0\\",\\n \\"releaseVersion\\": \\"esr-4.3.0 (Spark 3.5.2, Scala 2.12, Java Runtime)\\\\n\\",\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpuLimit\\": \\"1\\",\\n \\"memoryLimit\\": \\"4Gi\\",\\n \\"autoStopConfiguration\\": {\\n \\"enable\\": false,\\n \\"idleTimeoutMinutes\\": 300\\n },\\n \\"authType\\": \\"Token\\",\\n \\"status\\": \\"RUNNING\\",\\n \\"endpoint\\": \\"emr-spark-livy-gateway-cn-hangzhou.data.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx\\",\\n \\"createdBy\\": \\"alice\\",\\n \\"ramUserId\\": \\"10000001\\",\\n \\"displayReleaseVersion\\": \\"esr-4.3.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"fusion\\": true,\\n \\"startTime\\": 1749456094000,\\n \\"gmtCreate\\": 1749456094000,\\n \\"environmentId\\": \\"ev-cq31c7tlhtgm9nrrlj4g\\",\\n \\"endpointInner\\": \\"emr-spark-livy-gateway-cn-hangzhou-internal.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx\\",\\n \\"networkName\\": \\"test\\",\\n \\"livyServerConf\\": \\"\\\\t\\\\n{\\\\n \\\\\\"sparkDefaultsConf\\\\\\": \\\\\\"spark.driver.cores 1\\\\\\\\nspark.driver.memory 4g\\\\\\\\nspark.executor.cores 1\\\\\\\\nspark.executor.memory 4g\\\\\\\\n\\\\\\",\\\\n \\\\\\"sparkBlackListConf\\\\\\": \\\\\\"spark.driver.cores\\\\\\\\nspark.driver.memory\\\\\\",\\\\n \\\\\\"livyConf\\\\\\": \\\\\\"livy.server.session.timeout 1h\\\\\\\\n\\\\\\",\\\\n \\\\\\"livyClientConf\\\\\\": \\\\\\"livy.rsc.sql.num-rows 1000\\\\\\\\n\\\\\\"\\\\n}\\",\\n \\"enablePublic\\": true\\n }\\n}","type":"json"}]',
+ ],
+ 'GetLivyComputeToken' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token/{tokenId}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '246258',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
- ],
- 'autoTest' => false,
- 'notSupportAutoTestReason' => '不支持',
- 'tenantRelevance' => 'tenant',
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '222371',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceId',
+ 'name' => 'workspaceBizId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d80f373d3ace824f',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
],
[
'name' => 'livyComputeId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lc-zm4dzdiubu73w2yx',
- ],
- ],
- [
- 'name' => 'pageNum',
- 'in' => 'query',
- 'schema' => [
- 'description' => '页码,默认值 1。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-6mkvn01zrg8rqhhv'],
],
[
- 'name' => 'pageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => '返回结果的分页数。默认值:20,最小值:1,最大值:100。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ 'name' => 'tokenId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Token ID。', 'type' => 'string', 'required' => false, 'example' => 'lctk-xxxxxxxx'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -4740,110 +3483,28 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '8FAA8EEC-3026-5D15-8733-4E2A3DD970A1',
- ],
- 'totalCount' => [
- 'description' => '总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'sessions' => [
- 'description' => 'Session列表。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'name' => [
- 'description' => 'Session名称。',
- 'type' => 'string',
- 'example' => 'test_session',
- ],
- 'computeId' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'example' => 'lc-xxxxxx',
- ],
- 'sessionId' => [
- 'description' => 'Livy Gateway Session的ID。',
- 'type' => 'string',
- 'example' => 'livy-xxxxxx',
- ],
- 'sparkConf' => [
- 'description' => 'Spark任务配置。',
- 'type' => 'string',
- 'example' => '{'."\n"
- .' "proxyUser": "test",'."\n"
- .' "conf": {'."\n"
- .' "spark.driver.cores": 1'."\n"
- .' }'."\n"
- .'}',
- ],
- 'state' => [
- 'description' => 'Session状态。'."\n"
- .'- starting:启动中。'."\n"
- .'- running:运行中。'."\n"
- .'- terminating:正在停止。'."\n"
- .'- terminated:已停止。'."\n"
- .'- error:已失败。',
- 'type' => 'string',
- 'example' => 'running',
- 'enum' => [
- 'starting',
- 'running',
- 'error',
- 'terminated',
- 'terminating',
- ],
- ],
- 'info' => [
- 'description' => '运行信息。',
- 'type' => 'string',
- 'example' => 'null',
- ],
- 'createTime' => [
- 'description' => '创建时间,unix毫秒级别时间戳。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1768213240000',
- ],
- 'webUI' => [
- 'description' => 'Session的Web UI地址。',
- 'type' => 'string',
- 'example' => 'http://emr-spark-ui-cn-hangzhou.data.aliyun.com',
- ],
- 'endTime' => [
- 'description' => '结束时间,unix毫秒级别时间戳。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1768213240000',
- ],
- 'queue' => [
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'root_queue',
- ],
- 'cuHours' => [
- 'description' => '任务运行周期内所消耗的 CU 数量(该值为预估值,最终以账单为准)。',
- 'type' => 'number',
- 'format' => 'double',
- 'example' => '322.5',
- ],
- 'vcoreSeconds' => [
- 'description' => '任务已分配的 vcore 总量乘以任务已运行的秒数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '343',
- ],
- 'mbSeconds' => [
- 'description' => '任务已分配的内存总量乘以任务已运行的秒数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1098888',
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '484D9DDA-300D-525E-AF7A-0CCCA5C64A7A'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'ok'],
+ 'data' => [
+ 'description' => '返回数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'tokenId' => ['description' => 'Token ID。', 'type' => 'string', 'example' => 'lctk-xxxxxxxxxx'],
+ 'name' => ['description' => 'Token名称。', 'type' => 'string', 'example' => 'test'],
+ 'token' => ['description' => 'Token内容。', 'type' => 'string', 'example' => 'd25561157a635bb'],
+ 'createdBy' => ['description' => '创建者名称。', 'type' => 'string', 'example' => 'alice'],
+ 'createTime' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456094000'],
+ 'expireTime' => ['description' => '过期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749457994000'],
+ 'lastUsedTime' => ['description' => '上次使用时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456098000'],
+ 'autoExpireConfiguration' => [
+ 'description' => 'Token过期信息结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Token是否自动过期。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'example' => 'false'],
+ 'expireDays' => ['description' => '过期时间(天)。', 'type' => 'integer', 'format' => 'int32', 'example' => '7'],
],
],
],
@@ -4852,72 +3513,58 @@
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FAA8EEC-3026-5D15-8733-4E2A3DD970A1\\",\\n \\"totalCount\\": 10,\\n \\"sessions\\": [\\n {\\n \\"name\\": \\"test_session\\",\\n \\"computeId\\": \\"lc-xxxxxx\\",\\n \\"sessionId\\": \\"livy-xxxxxx\\",\\n \\"sparkConf\\": \\"{\\\\n \\\\\\"proxyUser\\\\\\": \\\\\\"test\\\\\\",\\\\n \\\\\\"conf\\\\\\": {\\\\n \\\\\\"spark.driver.cores\\\\\\": 1\\\\n }\\\\n}\\",\\n \\"state\\": \\"running\\",\\n \\"info\\": \\"null\\",\\n \\"createTime\\": 1768213240000,\\n \\"webUI\\": \\"http://emr-spark-ui-cn-hangzhou.data.aliyun.com\\",\\n \\"endTime\\": 1768213240000,\\n \\"queue\\": \\"root_queue\\",\\n \\"cuHours\\": 322.5,\\n \\"vcoreSeconds\\": 343,\\n \\"mbSeconds\\": 1098888\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '列出Livy Gateway的历史Session',
- ],
- 'DeleteLivyCompute' => [
- 'summary' => '删除Livy Gateway。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}',
- 'methods' => [
- 'delete',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取Livy Gateway的Token',
+ 'summary' => '获取Livy Gateway的Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"484D9DDA-300D-525E-AF7A-0CCCA5C64A7A\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"tokenId\\": \\"lctk-xxxxxxxxxx\\",\\n \\"name\\": \\"test\\",\\n \\"token\\": \\"d25561157a635bb\\",\\n \\"createdBy\\": \\"alice\\",\\n \\"createTime\\": 1749456094000,\\n \\"expireTime\\": 1749457994000,\\n \\"lastUsedTime\\": 1749456098000,\\n \\"autoExpireConfiguration\\": {\\n \\"enable\\": false,\\n \\"expireDays\\": 7\\n }\\n }\\n}","type":"json"}]',
+ ],
+ 'GetRayCluster' => [
+ 'summary' => '获取Ray集群。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '222245',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
],
[
- 'name' => 'livyComputeId',
+ 'name' => 'clusterId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lc-i8xogcdfa4fk3yn1',
- ],
- ],
- [
- 'name' => 'regionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '集群ID。', 'description' => '集群ID。', 'type' => 'string', 'required' => false, 'example' => 'ray-xxxxxxxxxx'],
],
],
'responses' => [
@@ -4927,238 +3574,350 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'clusterId' => ['title' => 'Ray集群ID。'."\n", 'description' => 'Ray集群ID。'."\n", 'type' => 'string', 'example' => 'ray-k7nm8ahl5te4tg91'],
+ 'name' => ['title' => 'Ray集群名称。', 'description' => 'Ray集群名称。', 'type' => 'string', 'example' => 'myRayCluster'],
+ 'displayReleaseVersion' => ['title' => 'Ray引擎版本。', 'description' => 'Ray引擎版本。', 'type' => 'string', 'example' => 'ray-1.0.0 (Ray 2.47.1, Python 3.12)'],
+ 'description' => ['title' => '描述信息。', 'description' => '描述信息。', 'type' => 'string', 'example' => 'Ray Cluster for dev.'],
+ 'networkServiceName' => ['title' => '网络连接名称。', 'description' => '网络连接名称。', 'type' => 'string', 'example' => 'vpc'],
+ 'headSpec' => [
+ 'title' => 'Ray集群Head节点参数。',
+ 'description' => 'Ray集群Head节点参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'example' => '8Gi'],
+ 'enableAutoScaling' => ['title' => 'Worker节点是否开启自动扩缩容。', 'description' => 'Worker节点是否开启自动扩缩容。', 'type' => 'boolean', 'example' => 'false'],
+ 'idleTimeoutSeconds' => ['title' => '开启自动扩缩容后Worker节点Idle时间。', 'description' => '开启自动扩缩容后Worker节点Idle时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
+ 'replica' => ['title' => '节点数量。', 'description' => '节点数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'gpuSpec' => ['title' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
+ ],
],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
+ 'state' => [
+ 'title' => '会话状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。',
+ 'description' => '会话状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。',
'type' => 'string',
- 'example' => '1000000',
+ 'example' => 'Running',
+ 'enum' => ['Starting', 'Running', 'Stopping', 'Stopped', 'Error'],
+ ],
+ 'creator' => ['title' => '创建集群的用户UID。', 'description' => '创建集群的用户UID。', 'type' => 'string', 'example' => '202077646755523991'],
+ 'creatorName' => ['title' => '创建者昵称。', 'description' => '创建者昵称。', 'type' => 'string', 'example' => 'Alice'],
+ 'modifier' => ['title' => '集群更新者UID。', 'description' => '集群更新者UID。', 'type' => 'string', 'example' => '202077646755523991'],
+ 'modifierName' => ['title' => '修改者昵称。', 'description' => '修改者昵称。', 'type' => 'string', 'example' => 'Alice'],
+ 'userId' => ['title' => '创建者主账号ID。', 'description' => '创建者主账号ID。', 'type' => 'string', 'example' => '123456789012'],
+ 'dashboardUrl' => ['title' => 'Ray集群Dashboard链接。', 'description' => 'Ray集群Dashboard链接。', 'type' => 'string', 'example' => 'https://emr-ray-gateway-cn-hangzhou.aliyuncs.com/workspace/w-xxxxxxxx/raycluster/ray-xxxxxx/dashboard?token=xxxxxx'],
+ 'jobUrl' => ['title' => '提交Ray Job的地址。', 'description' => '提交Ray Job的地址(公网)。', 'type' => 'string', 'example' => 'https://emr-spark-ray-gateway-cn-hangzhou.aliyuncs.com'],
+ 'submitToken' => ['title' => '提交Ray Job时的鉴权Token。', 'description' => '提交Ray Job时的鉴权Token,需要放到请求头中,"ray-token": "token"。', 'type' => 'string', 'example' => '1d06484d3b424f7fa4ab7082a4076da2'],
+ 'modified' => ['title' => '配置是否修改过。', 'description' => '配置是否修改过。', 'type' => 'boolean', 'example' => 'false'],
+ 'extraParam' => ['title' => '额外参数,json格式。', 'description' => '额外参数,json格式。', 'type' => 'string', 'example' => '{}'],
+ 'message' => ['title' => '状态为Error时的错误信息。', 'description' => '状态为Error时的错误信息。', 'type' => 'string', 'example' => 'ok'],
+ 'instances' => [
+ 'title' => 'Ray集群节点ID。',
+ 'description' => 'Ray集群节点ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => 'Ray集群节点结构体。',
+ 'description' => 'Ray集群节点结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => ['title' => '节点类型。', 'description' => '节点类型。', 'type' => 'string', 'example' => 'Head'],
+ 'instanceId' => ['title' => '节点ID。', 'description' => '节点ID。', 'type' => 'string', 'example' => 'ray-uiulpgow9xljim10-head-7cgta'],
+ 'containerState' => ['title' => '主容器状态。', 'description' => '主容器状态。', 'type' => 'string', 'example' => 'Running'],
+ 'reason' => ['title' => '节点信息。', 'description' => '节点信息。', 'type' => 'string', 'example' => 'OOMKilled'],
+ 'phase' => ['title' => '节点Pod状态。', 'description' => '节点Pod状态。', 'type' => 'string', 'example' => 'Running'],
+ 'message' => ['title' => '节点Pod状态信息。', 'description' => '节点Pod状态信息。', 'type' => 'string', 'example' => 'ok'],
+ 'startTime' => ['title' => '启动时间。', 'description' => '启动时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1762946698000'],
+ 'createTime' => ['title' => '创建时间。', 'description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1735870116167'],
+ 'containerStateReason' => ['title' => '主容器信息。', 'description' => '主容器信息。', 'type' => 'string', 'example' => 'ok'],
+ 'containerStateMessage' => ['title' => '主容器状态信息。', 'description' => '主容器状态信息。', 'type' => 'string', 'example' => 'ContainerExit'],
+ 'containerExitCode' => ['title' => '主容器退出码。', 'description' => '主容器退出码。', 'type' => 'integer', 'format' => 'int32', 'example' => '137'],
+ ],
+ ],
],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
+ 'instanceId' => ['title' => 'Ray集群节点ID。', 'description' => 'Ray集群节点ID。', 'type' => 'string', 'example' => 'ray-k7nm8ahl5te4tg93-xxxxxxx'],
+ 'workerSpec' => [
+ 'title' => 'Ray集群Worker节点信息。',
+ 'description' => 'Ray集群Worker节点信息。',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => 'Ray集群Worker节点信息结构体。',
+ 'description' => 'Ray集群Worker节点信息结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'groupName' => ['title' => 'Worker节点组名称。', 'description' => 'Worker节点组名称。', 'type' => 'string', 'example' => 'WorkerGroup1'],
+ 'workerType' => [
+ 'title' => 'Worker节点组类型。',
+ 'description' => 'Worker节点组类型。',
+ 'type' => 'string',
+ 'example' => 'CPU',
+ 'enum' => ['CPU'],
+ ],
+ 'replica' => ['title' => 'Worker节点数量。', 'description' => 'Worker节点数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'example' => '8Gi'],
+ 'minReplica' => ['title' => 'Worker最小数量', 'description' => 'Worker最小数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'maxReplica' => ['title' => 'Worker最大数量', 'description' => 'Worker最大数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ 'gpuSpec' => ['title' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
+ ],
+ ],
+ ],
+ 'startTime' => ['title' => '启动时间,Unix时间戳,单位毫秒。', 'description' => '启动时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1750327083303'],
+ 'createTime' => ['title' => '创建时间,Unix时间戳,单位毫秒。', 'description' => '创建时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1750327083303'],
+ 'modifiedTime' => ['title' => '更新时间,Unix时间戳,单位毫秒。', 'description' => '更新时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1754274541693'],
+ 'grpcEndpoint' => ['title' => 'gRPC连接地址。', 'description' => 'gRPC连接地址(内网),其中的域名也可以用作提交ray job。', 'type' => 'string', 'example' => 'ray://emr-spark-ray-gateway-cn-hangzhou-internal.emr.aliyuncs.com:80'],
+ 'volumeIds' => [
+ 'title' => '纳管文件id列表。',
+ 'type' => 'array',
+ 'items' => ['title' => '纳管文件id。', 'type' => 'string', 'example' => 'vol-123456789'],
],
+ 'jobUrlInner' => ['title' => '提交Ray Job的内网地址。', 'type' => 'string', 'example' => 'http://emr-spark-ray-gateway-cn-hangzhou-internal.emr.aliyuncs.com'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
- 'title' => '删除Livy Gateway',
- ],
- 'CreateLivyCompute' => [
- 'summary' => '创建Livy compute。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute',
- 'methods' => [
- 'put',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取Ray集群信息',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetRayCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"clusterId\\": \\"ray-k7nm8ahl5te4tg91\\",\\n \\"name\\": \\"myRayCluster\\",\\n \\"displayReleaseVersion\\": \\"ray-1.0.0 (Ray 2.47.1, Python 3.12)\\",\\n \\"description\\": \\"Ray Cluster for dev.\\",\\n \\"networkServiceName\\": \\"vpc\\",\\n \\"headSpec\\": {\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"enableAutoScaling\\": false,\\n \\"idleTimeoutSeconds\\": 60,\\n \\"replica\\": 1,\\n \\"gpuSpec\\": \\"ecs.gn6i-c4g1.xlarge\\"\\n },\\n \\"state\\": \\"Running\\",\\n \\"creator\\": \\"202077646755523991\\",\\n \\"creatorName\\": \\"Alice\\",\\n \\"modifier\\": \\"202077646755523991\\",\\n \\"modifierName\\": \\"Alice\\",\\n \\"userId\\": \\"123456789012\\",\\n \\"dashboardUrl\\": \\"https://emr-ray-gateway-cn-hangzhou.aliyuncs.com/workspace/w-xxxxxxxx/raycluster/ray-xxxxxx/dashboard?token=xxxxxx\\",\\n \\"jobUrl\\": \\"https://emr-spark-ray-gateway-cn-hangzhou.aliyuncs.com\\",\\n \\"submitToken\\": \\"1d06484d3b424f7fa4ab7082a4076da2\\",\\n \\"modified\\": false,\\n \\"extraParam\\": \\"{}\\",\\n \\"message\\": \\"ok\\",\\n \\"instances\\": [\\n {\\n \\"type\\": \\"Head\\",\\n \\"instanceId\\": \\"ray-uiulpgow9xljim10-head-7cgta\\",\\n \\"containerState\\": \\"Running\\",\\n \\"reason\\": \\"OOMKilled\\",\\n \\"phase\\": \\"Running\\",\\n \\"message\\": \\"ok\\",\\n \\"startTime\\": 1762946698000,\\n \\"createTime\\": 1735870116167,\\n \\"containerStateReason\\": \\"ok\\",\\n \\"containerStateMessage\\": \\"ContainerExit\\",\\n \\"containerExitCode\\": 137\\n }\\n ],\\n \\"instanceId\\": \\"ray-k7nm8ahl5te4tg93-xxxxxxx\\",\\n \\"workerSpec\\": [\\n {\\n \\"groupName\\": \\"WorkerGroup1\\",\\n \\"workerType\\": \\"CPU\\",\\n \\"replica\\": 2,\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"minReplica\\": 1,\\n \\"maxReplica\\": 10,\\n \\"gpuSpec\\": \\"ecs.gn6i-c4g1.xlarge\\"\\n }\\n ],\\n \\"startTime\\": 1750327083303,\\n \\"createTime\\": 1750327083303,\\n \\"modifiedTime\\": 1754274541693,\\n \\"grpcEndpoint\\": \\"ray://emr-spark-ray-gateway-cn-hangzhou-internal.emr.aliyuncs.com:80\\",\\n \\"volumeIds\\": [\\n \\"vol-123456789\\"\\n ],\\n \\"jobUrlInner\\": \\"http://emr-spark-ray-gateway-cn-hangzhou-internal.emr.aliyuncs.com\\"\\n}","type":"json"}]',
+ ],
+ 'GetRayJob' => [
+ 'summary' => '获取Ray Job信息。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayJob/{submissionId}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '222228',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'submissionId',
+ 'in' => 'path',
+ 'schema' => ['title' => '集群ID。', 'description' => 'Ray Job的id。', 'type' => 'string', 'required' => false, 'example' => 'rj-xxxxxxxxxx'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '请求结构体。',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'name' => [
- 'description' => 'Livy Gateway名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testGateway',
- ],
- 'livyVersion' => [
- 'description' => 'Livy版本。',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => '0.8.0',
- 'enum' => [
- '0.8.0',
- ],
- ],
- 'releaseVersion' => [
- 'description' => 'Spark引擎版本号,已废弃,请使用displayReleaseVersion。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12, Java Runtime)',
- ],
- 'queueName' => [
- 'description' => '提交队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
- 'cpuLimit' => [
- 'description' => 'Livy Server的CPU核数。'."\n"
- .'- 1'."\n"
- .'- 2'."\n"
- .'- 4',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => '1',
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'submissionId' => ['description' => 'Ray Job的id。', 'type' => 'string', 'example' => 'rj-xxxxxxxxxx'],
+ 'name' => ['title' => 'Ray集群名称。', 'description' => 'Ray集群名称。', 'type' => 'string', 'example' => 'myRayCluster'],
+ 'displayReleaseVersion' => ['title' => 'Ray引擎版本。', 'description' => 'Ray引擎版本。', 'type' => 'string', 'example' => 'err-1.2.0 (Ray 2.55.1, Python 3.12)'],
+ 'tags' => [
+ 'description' => '标签。',
+ 'type' => 'array',
+ 'items' => ['description' => '标签。', '$ref' => '#/components/schemas/Tag'],
],
- 'memoryLimit' => [
- 'description' => 'Livy Server的内存大小。'."\n"
- .'- 4Gi'."\n"
- .'- 8Gi'."\n"
- .'- 16Gi',
+ 'status' => [
+ 'title' => '会话状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。',
+ 'description' => '任务状态'."\n"
+ .'- Submitted 已提交。'."\n"
+ .'- Pending:集群创建中。'."\n"
+ .'- Running:任务运行中。'."\n"
+ .'- Succeeded:任务已成功。'."\n"
+ .'- Failed:任务已失败。'."\n"
+ .'- Cancelling:取消中。'."\n"
+ .'- Cancelled:已取消。'."\n"
+ .'- Timeout:超时取消。',
'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => '4Gi',
+ 'example' => 'Running',
+ 'enum' => ['Submitted', 'Pending', 'Running', 'Succeeded', 'Failed', 'Cancelling', 'Cancelled', 'Timeout'],
+ ],
+ 'message' => ['title' => '状态为Error时的错误信息。', 'description' => '执行信息。', 'type' => 'string', 'example' => 'Job finished successfully.'],
+ 'entrypoint' => ['description' => '启动命令。', 'type' => 'string', 'example' => 'python main.py'],
+ 'submitTime' => ['description' => '任务提交时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1750327082303'],
+ 'startTime' => ['title' => '启动时间,Unix时间戳,单位毫秒。', 'description' => '启动时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1750327083303'],
+ 'endTime' => ['description' => '任务结束时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1762949372000'],
+ 'duration' => ['description' => '任务持续时间,单位秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '2459764'],
+ 'networkServiceName' => ['title' => '网络连接名称。', 'description' => '网络连接名称。', 'type' => 'string', 'example' => 'vpc'],
+ 'runtimeEnvJson' => ['title' => 'Ray runtime environment JSON 字符串。', 'description' => 'Ray runtime environment JSON 字符串。', 'type' => 'string', 'example' => '{"pip":["requests==2.26.0","pendulum==2.1.2"],"env_vars":{"KEY":"VALUE"}}'],
+ 'workingDir' => ['title' => '任务代码工作目录 URL。', 'description' => '任务代码工作目录 URL。', 'type' => 'string', 'example' => 'oss://mybucket/hello.zip'],
+ 'submissionMode' => ['title' => '提交作业方式', 'description' => '提交作业方式。', 'type' => 'string', 'example' => 'HTTPMode'],
+ 'metadataJson' => ['title' => '任务元数据 JSON 字符串。', 'description' => '任务元数据 JSON 字符串。', 'type' => 'string', 'example' => '{"owner": "alice"}'],
+ 'entrypointNumCpus' => ['title' => '入口任务申请的 CPU 数量。', 'description' => '入口任务申请的 CPU 数量。', 'type' => 'string', 'example' => '1'],
+ 'entrypointNumGpus' => ['title' => '入口任务申请的 GPU 数量。', 'description' => '入口任务申请的 GPU 数量。', 'type' => 'string', 'example' => '0'],
+ 'entrypointMemory' => ['title' => '入口任务申请的内存大小。', 'description' => '入口任务申请的内存大小。', 'type' => 'string', 'example' => '4Gi'],
+ 'entrypointResources' => ['title' => '入口任务自定义资源请求 JSON 字符串。', 'description' => '入口任务自定义资源请求 JSON 字符串。', 'type' => 'string', 'example' => '{"fpu": 1}'],
+ 'shutdownAfterJobFinishes' => ['title' => '任务完成后是否自动销毁临时集群,默认 true。', 'description' => '任务完成后是否自动销毁临时集群,默认 true。', 'type' => 'boolean', 'example' => 'true'],
+ 'ttlSecondsAfterFinished' => ['title' => '集群销毁前等待秒数,shutdownAfterJobFinishes 为 true 时有效。', 'description' => '集群销毁前等待秒数,shutdownAfterJobFinishes 为 true 时有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
+ 'activeDeadlineSeconds' => ['title' => '超时时间', 'description' => '超时时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'],
+ 'volumeIds' => [
+ 'title' => '纳管文件id列表。',
+ 'description' => '纳管文件id列表。',
+ 'type' => 'array',
+ 'items' => ['title' => '纳管文件id。', 'description' => '纳管文件id。', 'type' => 'string', 'example' => 'vol-123456789'],
],
- 'autoStartConfiguration' => [
- 'description' => '自动启动配置。',
+ 'backoffLimit' => ['title' => '超时时间', 'description' => '失败重试次数,当前固定为0。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'headSpec' => [
+ 'title' => 'Ray集群Head节点参数。',
+ 'description' => 'Ray集群Head节点参数。',
'type' => 'object',
'properties' => [
- 'enable' => [
- 'description' => '创建后是否自动启动。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'replica' => ['title' => '节点数量。', 'description' => '节点数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'enableAutoScaling' => ['title' => 'Worker节点是否开启自动扩缩容。', 'description' => 'Worker节点是否开启自动扩缩容。', 'type' => 'boolean', 'example' => 'true'],
+ 'idleTimeoutSeconds' => ['title' => '开启自动扩缩容后Worker节点Idle时间。', 'description' => '开启自动扩缩容后Worker节点Idle时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'example' => '8Gi'],
+ 'gpuSpec' => ['title' => 'gpu机型。', 'description' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
],
- 'required' => false,
],
- 'autoStopConfiguration' => [
- 'description' => '自动终止配置。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => '是否自动终止。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'idleTimeoutMinutes' => [
- 'description' => 'Livy Gateway空闲指定分钟数后自动终止。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '300',
+ 'workerSpecs' => [
+ 'title' => 'Ray集群Worker节点信息。',
+ 'description' => 'Ray集群Worker节点信息。',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => 'Ray集群Worker节点信息结构体。',
+ 'description' => 'Ray集群Worker节点信息结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'groupName' => ['title' => 'Worker节点组名称。', 'description' => 'Worker节点组名称。', 'type' => 'string', 'example' => 'WorkerGroup1'],
+ 'replica' => ['title' => 'Worker节点数量。', 'description' => 'Worker节点数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'minReplica' => ['title' => 'Worker最小数量', 'description' => 'Worker最小数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'maxReplica' => ['title' => 'Worker最大数量', 'description' => 'Worker最大数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'example' => '8Gi'],
+ 'gpuSpec' => ['title' => 'gpu机型。', 'description' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
],
],
- 'required' => false,
],
- 'authType' => [
- 'description' => '认证方式。',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => 'Token',
- 'enum' => [
- 'Token',
+ 'extraParam' => ['title' => '额外参数,json格式。', 'description' => '额外参数,json格式。', 'type' => 'string', 'example' => '{"userDefinedFiles": "oss://mybucket/artifact/config.json,oss://mybucket/artifact/config2.json", "userRequirementsFile": "oss://mybucket/requirements.txt"}'],
+ 'creatorName' => ['description' => '创建者昵称。', 'type' => 'string', 'example' => 'Alice'],
+ 'dashboardUrl' => ['title' => 'Ray集群Dashboard链接。', 'description' => 'Ray集群Dashboard链接,Ray集群状态为Running时为Runtime UI,状态为Deleted后为History UI,仅err-1.2.0及以上版本支持History UI。', 'type' => 'string', 'example' => 'https://emr-ray-gateway-cn-hangzhou.aliyuncs.com/workspace/w-xxxxxxxx/raycluster/ray-xxxxxx/dashboard?token=xxxxxx'],
+ 'logBucketName' => ['title' => 'log bucket名称', 'description' => '存放日志的bucket名称。', 'type' => 'string', 'example' => 'ss-ray-cn-hangzhou'],
+ 'logPath' => ['title' => 'log路径', 'description' => '存放日志的路径。', 'type' => 'string', 'example' => 'w-xxxxxxx/ray/logs/xxxxxx/'],
+ 'cuHours' => ['title' => 'cu时', 'description' => '消耗的cu资源,在集群释放后十分钟后返回。', 'type' => 'number', 'format' => 'double', 'example' => '1899'],
+ 'guHours' => [
+ 'description' => '消耗的gpu时间,当前为空。',
+ 'type' => 'object',
+ 'properties' => [
+ 'gpuSpec' => ['description' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
+ 'gpuHours' => ['description' => '消耗的gpu时间。', 'type' => 'number', 'format' => 'double', 'example' => '2.6'],
],
],
- 'displayReleaseVersion' => [
- 'description' => 'Spark引擎版本号。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12)'."\n",
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'environmentId' => [
- 'description' => '运行环境ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ev-ctfq0fem1hkhgv4hapng',
- ],
- 'networkName' => [
- 'description' => '网络连接名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
+ 'dashboardUrlExtra' => [
+ 'description' => '额外的dashboard UI链接,当前为空。',
+ 'type' => 'array',
+ 'items' => ['description' => '额外的 dashboard UI 链接,当前为空。', 'type' => 'string', 'example' => '-'],
],
- 'livyServerConf' => [
- 'description' => 'Livy Gateway配置,JSON格式,支持以下文件:'."\n"
- ."\n"
- .'- sparkDefaultsConf'."\n"
- .'- sparkBlackListConf'."\n"
- .'- livyConf'."\n"
- .'- livyClientConf',
+ 'clusterState' => [
+ 'description' => '对应的Ray集群的状态。'."\n"
+ .'- Deleted:已删除。'."\n"
+ .'- Submitted:已提交未开始创建。'."\n"
+ .'- Pending:创建中。'."\n"
+ .'- Running:运行中。',
'type' => 'string',
- 'required' => false,
- 'example' => '{'."\n"
- .' "sparkDefaultsConf": "spark.driver.cores 1\\nspark.driver.memory 4g\\nspark.executor.cores 1\\nspark.executor.memory 4g\\n",'."\n"
- .' "sparkBlackListConf": "spark.driver.cores\\nspark.driver.memory",'."\n"
- .' "livyConf": "livy.server.session.timeout 1h\\n",'."\n"
- .' "livyClientConf": "livy.rsc.sql.num-rows 1000\\n"'."\n"
- .'}',
- ],
- 'enablePublic' => [
- 'description' => '公网地址开关状态。'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
+ 'example' => 'Running',
+ 'enum' => ['Deleted', 'Submitted', 'Pending', 'Running'],
],
+ 'taskBizId' => ['description' => '数据开发任务ID。', 'type' => 'string', 'example' => 'TSK-682e0112f6f24d9f9305b92174846985'],
],
- 'required' => false,
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取Ray Job信息',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"submissionId\\": \\"rj-xxxxxxxxxx\\",\\n \\"name\\": \\"myRayCluster\\",\\n \\"displayReleaseVersion\\": \\"err-1.2.0 (Ray 2.55.1, Python 3.12)\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ],\\n \\"status\\": \\"Running\\",\\n \\"message\\": \\"Job finished successfully.\\",\\n \\"entrypoint\\": \\"python main.py\\",\\n \\"submitTime\\": 1750327082303,\\n \\"startTime\\": 1750327083303,\\n \\"endTime\\": 1762949372000,\\n \\"duration\\": 2459764,\\n \\"networkServiceName\\": \\"vpc\\",\\n \\"runtimeEnvJson\\": \\"{\\\\\\"pip\\\\\\":[\\\\\\"requests==2.26.0\\\\\\",\\\\\\"pendulum==2.1.2\\\\\\"],\\\\\\"env_vars\\\\\\":{\\\\\\"KEY\\\\\\":\\\\\\"VALUE\\\\\\"}}\\",\\n \\"workingDir\\": \\"oss://mybucket/hello.zip\\",\\n \\"submissionMode\\": \\"HTTPMode\\",\\n \\"metadataJson\\": \\"{\\\\\\"owner\\\\\\": \\\\\\"alice\\\\\\"}\\",\\n \\"entrypointNumCpus\\": \\"1\\",\\n \\"entrypointNumGpus\\": \\"0\\",\\n \\"entrypointMemory\\": \\"4Gi\\",\\n \\"entrypointResources\\": \\"{\\\\\\"fpu\\\\\\": 1}\\",\\n \\"shutdownAfterJobFinishes\\": true,\\n \\"ttlSecondsAfterFinished\\": 60,\\n \\"activeDeadlineSeconds\\": 3600,\\n \\"volumeIds\\": [\\n \\"vol-123456789\\"\\n ],\\n \\"backoffLimit\\": 2,\\n \\"headSpec\\": {\\n \\"replica\\": 1,\\n \\"enableAutoScaling\\": true,\\n \\"idleTimeoutSeconds\\": 60,\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"gpuSpec\\": \\"ecs.gn6i-c4g1.xlarge\\"\\n },\\n \\"workerSpecs\\": [\\n {\\n \\"groupName\\": \\"WorkerGroup1\\",\\n \\"replica\\": 1,\\n \\"minReplica\\": 1,\\n \\"maxReplica\\": 10,\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"gpuSpec\\": \\"ecs.gn6i-c4g1.xlarge\\"\\n }\\n ],\\n \\"extraParam\\": \\"{\\\\\\"userDefinedFiles\\\\\\": \\\\\\"oss://mybucket/artifact/config.json,oss://mybucket/artifact/config2.json\\\\\\", \\\\\\"userRequirementsFile\\\\\\": \\\\\\"oss://mybucket/requirements.txt\\\\\\"}\\",\\n \\"creatorName\\": \\"Alice\\",\\n \\"dashboardUrl\\": \\"https://emr-ray-gateway-cn-hangzhou.aliyuncs.com/workspace/w-xxxxxxxx/raycluster/ray-xxxxxx/dashboard?token=xxxxxx\\",\\n \\"logBucketName\\": \\"ss-ray-cn-hangzhou\\",\\n \\"logPath\\": \\"w-xxxxxxx/ray/logs/xxxxxx/\\",\\n \\"cuHours\\": 1899,\\n \\"guHours\\": {\\n \\"gpuSpec\\": \\"ecs.gn6i-c4g1.xlarge\\",\\n \\"gpuHours\\": 2.6\\n },\\n \\"dashboardUrlExtra\\": [\\n \\"-\\"\\n ],\\n \\"clusterState\\": \\"Running\\",\\n \\"taskBizId\\": \\"TSK-682e0112f6f24d9f9305b92174846985\\"\\n}","type":"json"}]',
+ ],
+ 'GetRayLog' => [
+ 'summary' => '获取Ray Job日志。',
+ 'path' => '/api/interactive/v1/workspace/{workspaceId}/ray/{instanceId}/log',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'regionId',
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-790b443d72394bfc'],
+ ],
+ [
+ 'name' => 'instanceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Ray Job的id。', 'type' => 'string', 'required' => false, 'example' => 'rj-xxxxxxxx'],
+ ],
+ [
+ 'name' => 'bucketName',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'bucket名称。', 'type' => 'string', 'required' => false, 'example' => 'mybucket'],
+ ],
+ [
+ 'name' => 'path',
+ 'in' => 'query',
+ 'schema' => ['description' => '日志文件路径。', 'type' => 'string', 'required' => false, 'example' => '/w-xxxxxxx/ray/logs/rj-xxxxxxxxxx_default/xxxx/rj-xxxx_driver.log'],
],
],
'responses' => [
@@ -5168,356 +3927,312 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'B06AADC1-1627-5B1C-B62F-A2226C122897'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
'data' => [
'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'livyComputeId' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'example' => 'lc-i8xogcdfa4fk3yn1',
- ],
+ 'accessUrl' => ['description' => '文件下载链接。', 'type' => 'string', 'example' => 'https://mybucket.cn-hangzhou.com/xxxxxx'],
],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取Ray Job日志',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"livyComputeId\\": \\"lc-i8xogcdfa4fk3yn1\\"\\n }\\n}","type":"json"}]',
- 'title' => '创建Livy Gateway',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B06AADC1-1627-5B1C-B62F-A2226C122897\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"accessUrl\\": \\"https://mybucket.cn-hangzhou.com/xxxxxx\\"\\n }\\n}","type":"json"}]',
],
- 'UpdateLivyCompute' => [
- 'summary' => '更新Livy Gateway',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetRunConfiguration' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/runs/{runId}/action/getRunConfiguration',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '222234',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
- ],
+ 'operationType' => 'read',
+ 'systemTags' => [],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '工作空间id。', 'description' => '工作空间id。', 'type' => 'string', 'required' => true, 'example' => 'w-d2d82aa09151****'],
],
[
- 'name' => 'livyComputeId',
+ 'name' => 'runId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lc-i8xogcdfa4fk3yn1',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '任务实例ID。', 'description' => '任务实例ID。', 'type' => 'string', 'required' => true, 'example' => 'jr-93d98d2f7061****'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '请求结构体。',
+ 'title' => '返回数据',
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'name' => [
- 'description' => '名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'livyVersion' => [
- 'description' => 'Livy版本。',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => '0.8.0',
- 'enum' => [
- '0.8.0',
- ],
- ],
- 'releaseVersion' => [
- 'description' => 'Spark引擎版本号,已废弃,请使用displayReleaseVersion。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12, Java Runtime)'."\n",
- ],
- 'queueName' => [
- 'description' => '队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
- 'cpuLimit' => [
- 'description' => 'Livy Server的CPU核数。'."\n"
- .'- 1'."\n"
- .'- 2'."\n"
- .'- 4',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => '1',
- ],
- 'memoryLimit' => [
- 'description' => 'Livy Server的内存大小。'."\n"
- .'- 4Gi'."\n"
- .'- 8Gi'."\n"
- .'- 16Gi',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => '4Gi',
- ],
- 'autoStartConfiguration' => [
- 'description' => '自动启动配置。',
+ 'runConfiguration' => [
+ 'description' => '运行配置。',
'type' => 'object',
'properties' => [
- 'enable' => [
- 'description' => '是否创建后自动启动。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ 'runtimeConfigs' => [
+ 'title' => '运行配置。',
+ 'description' => '运行时参数列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '运行时参数。', '$ref' => '#/components/schemas/Tag'],
],
- ],
- 'required' => false,
- ],
- 'autoStopConfiguration' => [
- 'description' => '自动终止配置。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => '是否允许自动终止。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ 'applicationConfigs' => [
+ 'title' => '应用配置项',
+ 'description' => 'Spark配置参数列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Spark配置参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'configFileName' => ['title' => '应用配置文件名。 应用配置文件名。 ```spark-defaults.conf```', 'description' => '应用配置文件名。 应用配置文件名。', 'type' => 'string', 'example' => 'spark-defaults.conf'],
+ 'configItemKey' => ['title' => '配置项键。 配置项键。 ```dfs.namenode.checkpoint.period```', 'description' => '配置项键。', 'type' => 'string', 'example' => 'spark.driver.cores'],
+ 'configItemValue' => ['title' => '配置项值。 配置项值。 ```3600s```', 'description' => '配置项值。', 'type' => 'string', 'example' => '2'],
+ ],
+ ],
],
- 'idleTimeoutMinutes' => [
- 'description' => 'Livy Gateway空闲指定分钟数后自动终止。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '300',
+ 'logConfig' => [
+ 'description' => '日志配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'LogLevel' => ['description' => '日志级别。', 'type' => 'string', 'example' => 'INFO'],
+ 'LogPath' => ['description' => '日志路径。', 'type' => 'string', 'example' => 'oss://test'],
+ ],
],
],
- 'required' => false,
- ],
- 'authType' => [
- 'description' => '认证方式。',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => 'Token',
- 'enum' => [
- 'Token',
- ],
- ],
- 'displayReleaseVersion' => [
- 'description' => 'Spark引擎版本号。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12)'."\n",
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'environmentId' => [
- 'description' => '运行环境ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ev-cq146allhtgkulp5smk0',
- ],
- 'networkName' => [
- 'description' => '网络连接名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'livyServerConf' => [
- 'description' => 'Livy Gateway配置,JSON格式,支持以下文件:'."\n"
- ."\n"
- .'- sparkDefaultsConf'."\n"
- .'- sparkBlackListConf'."\n"
- .'- livyConf'."\n"
- .'- livyClientConf',
- 'type' => 'string',
- 'required' => false,
- 'example' => '{'."\n"
- .' "sparkDefaultsConf": "spark.driver.cores 1\\nspark.driver.memory 4g\\nspark.executor.cores 1\\nspark.executor.memory 4g\\n",'."\n"
- .' "sparkBlackListConf": "spark.driver.cores\\nspark.driver.memory",'."\n"
- .' "livyConf": "livy.server.session.timeout 1h\\n",'."\n"
- .' "livyClientConf": "livy.rsc.sql.num-rows 1000\\n"'."\n"
- .'}',
- ],
- 'enablePublic' => [
- 'description' => '公网地址开关状态。'."\n",
- 'type' => 'boolean',
- 'required' => false,
],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
- 'required' => false,
],
],
+ ],
+ 'title' => '获取Spark任务配置',
+ 'summary' => '获取Spark任务配置',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"runConfiguration\\": {\\n \\"runtimeConfigs\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ],\\n \\"applicationConfigs\\": [\\n {\\n \\"configFileName\\": \\"spark-defaults.conf\\",\\n \\"configItemKey\\": \\"spark.driver.cores\\",\\n \\"configItemValue\\": \\"2\\"\\n }\\n ],\\n \\"logConfig\\": {\\n \\"LogLevel\\": \\"INFO\\",\\n \\"LogPath\\": \\"oss://test\\"\\n }\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'GetSessionCluster' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters/{sessionClusterId}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '203510',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-1234abcd'],
+ ],
+ [
+ 'name' => 'sessionClusterId',
+ 'in' => 'path',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '作业名称。', 'description' => '作业名称。', 'type' => 'string', 'required' => false, 'example' => 'emr-spark-demo-job'],
+ ],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'title' => '返回数据',
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
+ 'sessionCluster' => [
+ 'description' => '会话对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-1234abcd'],
+ 'sessionClusterId' => ['title' => '交互式作业会话id。', 'description' => '交互式作业会话ID。', 'type' => 'string', 'example' => '1234abcd-12ab-34cd-56ef-1234567890ab'],
+ 'userId' => ['title' => '任务实例ID。', 'description' => '用户ID。', 'type' => 'string', 'example' => '123xxxxxxxx'],
+ 'queueName' => ['title' => '作业实例名称。', 'description' => '队列名称。', 'type' => 'string', 'example' => 'dev_queue'],
+ 'state' => [
+ 'title' => '作业状态。',
+ 'description' => '作业状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'Running',
+ ],
+ 'stateChangeReason' => [
+ 'description' => '状态变化原因。',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => '状态变化编码。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '状态变化消息。', 'type' => 'string', 'example' => 'ok'],
+ ],
+ ],
+ 'autoStartConfiguration' => [
+ 'description' => '配置是否开启自动启动。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => [
+ 'description' => '是否开启自动启动。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。',
+ 'type' => 'boolean',
+ 'enumValueTitles' => [],
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'autoStopConfiguration' => [
+ 'description' => '配置是否允许自动终止。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => [
+ 'description' => '是否允许自动终止。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。',
+ 'type' => 'boolean',
+ 'enumValueTitles' => [],
+ 'example' => 'false',
+ ],
+ 'idleTimeoutMinutes' => ['description' => '会话空闲指定分钟数后自动终止。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
+ ],
+ ],
+ 'applicationConfigs' => [
+ 'description' => 'Spark应用配置列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Spark应用配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'configFileName' => ['description' => '配置文件名。', 'type' => 'string', 'example' => 'spark-defaults.conf'],
+ 'configItemKey' => ['description' => '配置键。', 'type' => 'string', 'example' => 'spark.app.name'],
+ 'configItemValue' => ['description' => '配置值。', 'type' => 'string', 'example' => 'test'],
+ ],
+ ],
+ ],
+ 'releaseVersion' => ['description' => 'Serverless Spark版本。', 'type' => 'string', 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'],
+ 'name' => ['description' => '会话名称。', 'type' => 'string', 'example' => 'test'],
+ 'userName' => ['description' => '会话创建者名称。', 'type' => 'string', 'example' => 'user1'],
+ 'kind' => ['description' => '生效作业类型,必填,创建后无法修改。'."\n"
+ .'- SQLSCRIPT:SQL作业。'."\n"
+ .'- JAR:JAR作业。'."\n"
+ .'- PYTHON:Python作业。', 'type' => 'string', 'example' => 'SQL'],
+ 'webUI' => ['description' => '会话Spark UI链接地址。', 'type' => 'string', 'example' => 'https://spark-ui/link'],
+ 'draftId' => ['description' => '会话绑定的开发作业ID。', 'type' => 'string', 'example' => 'TSK-xxxxxxxx'],
+ 'domain' => ['description' => '会话Spark UI所属域。', 'type' => 'string', 'example' => 'your.domain.com'],
+ 'displayReleaseVersion' => ['description' => '控制台实际展示的版本。', 'type' => 'string', 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'example' => 'false'],
+ 'envId' => ['description' => '环境ID。', 'type' => 'string', 'example' => 'env-cpv569tlhtgndjl8****'],
+ 'gmtCreate' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '2024-09-01 06:23:01'."\n"],
+ 'startTime' => ['description' => '开始时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '2024-09-01 06:23:01'],
+ 'domainInner' => ['description' => '内网域名。', 'type' => 'string', 'example' => 'emr-spark-gateway-cn-hangzhou-internal.data.aliyuncs.com'],
+ 'extra' => ['description' => '会话额外元数据。', 'type' => 'string', 'example' => '{"extraInfoKey":"extraInfoValue"}'],
+ 'publicEndpointEnabled' => ['type' => 'boolean'],
+ 'connectionToken' => ['type' => 'string'],
+ ],
],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
- 'title' => '更新Livy Gateway',
- ],
- 'ListLivyCompute' => [
- 'summary' => '列出Livy Gateway。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute',
- 'methods' => [
- 'get',
+ 'title' => '获取会话详情',
+ 'summary' => '获取会话详情。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetSessionCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionCluster\\": {\\n \\"workspaceId\\": \\"w-1234abcd\\",\\n \\"sessionClusterId\\": \\"1234abcd-12ab-34cd-56ef-1234567890ab\\",\\n \\"userId\\": \\"123xxxxxxxx\\",\\n \\"queueName\\": \\"dev_queue\\",\\n \\"state\\": \\"Running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n },\\n \\"autoStartConfiguration\\": {\\n \\"enable\\": false\\n },\\n \\"autoStopConfiguration\\": {\\n \\"enable\\": false,\\n \\"idleTimeoutMinutes\\": 60\\n },\\n \\"applicationConfigs\\": [\\n {\\n \\"configFileName\\": \\"spark-defaults.conf\\",\\n \\"configItemKey\\": \\"spark.app.name\\",\\n \\"configItemValue\\": \\"test\\"\\n }\\n ],\\n \\"releaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"name\\": \\"test\\",\\n \\"userName\\": \\"user1\\",\\n \\"kind\\": \\"SQL\\",\\n \\"webUI\\": \\"https://spark-ui/link\\",\\n \\"draftId\\": \\"TSK-xxxxxxxx\\",\\n \\"domain\\": \\"your.domain.com\\",\\n \\"displayReleaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"fusion\\": false,\\n \\"envId\\": \\"env-cpv569tlhtgndjl8****\\",\\n \\"gmtCreate\\": 0,\\n \\"startTime\\": 0,\\n \\"domainInner\\": \\"emr-spark-gateway-cn-hangzhou-internal.data.aliyuncs.com\\",\\n \\"extra\\": \\"{\\\\\\"extraInfoKey\\\\\\":\\\\\\"extraInfoValue\\\\\\"}\\",\\n \\"publicEndpointEnabled\\": true,\\n \\"connectionToken\\": \\"\\"\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'GetSqlStatement' => [
+ 'summary' => '获取SQL查询详情。',
+ 'path' => '/api/interactive/v1/workspace/{workspaceId}/statement/{statementId}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '222250',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeCode' => '224752',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
- 'name' => 'environmentId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '运行环ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ev-cq31c7tlhtgm9nrrlj4g',
- ],
+ 'name' => 'statementId',
+ 'in' => 'path',
+ 'schema' => ['description' => '交互式查询ID。', 'type' => 'string', 'required' => false, 'example' => 'st-2dadfhajk11cv****'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -5527,161 +4242,113 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
'data' => [
'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'livyComputes' => [
- 'description' => 'Livy Gateway列表。',
+ 'statementId' => ['description' => '查询ID。', 'type' => 'string', 'example' => 'st-1231311abadfaa'],
+ 'state' => [
+ 'description' => '查询状态。',
+ 'type' => 'string',
+ 'enumValueTitles' => ['running' => 'running', 'available' => 'available', 'cancelled' => 'cancelled', 'error' => 'error', 'cancelling' => 'cancelling'],
+ 'example' => 'running',
+ 'enum' => ['running', 'error', 'waiting', 'cancelling', 'cancelled', 'available', 'success'],
+ ],
+ 'sqlOutputs' => [
+ 'description' => 'SQL查询结果列表',
'type' => 'array',
'items' => [
+ 'description' => '单个SQL查询结果',
'type' => 'object',
'properties' => [
- 'computeId' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'example' => 'lc-xxxxxxxxxxxx',
- ],
- 'name' => [
- 'description' => '名称。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'queueName' => [
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'root_queue',
- ],
- 'status' => [
- 'description' => '运行状态。',
- 'type' => 'string',
- 'example' => 'RUNNING',
- 'enum' => [
- 'RUNNING',
- 'STOPPED',
- 'STARTING',
- 'STOPPING',
- 'FAILED',
- ],
- ],
- 'endpoint' => [
- 'description' => '公网连接地址。',
- 'type' => 'string',
- 'example' => 'emr-spark-livy-gateway-cn-hangzhou.data.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx',
- ],
- 'createdBy' => [
- 'description' => '创建者名称。',
- 'type' => 'string',
- 'example' => 'alice',
- ],
- 'gmtCreate' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456094000',
- ],
- 'startTime' => [
- 'description' => '启动时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456094000',
- ],
- 'endpointInner' => [
- 'description' => '内网连接地址。',
- 'type' => 'string',
- 'example' => 'emr-spark-livy-gateway-cn-hangzhou-internal.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx',
- ],
+ 'rows' => ['description' => '查询数据,格式为经过JSON序列化的字符串。', 'type' => 'string', 'example' => '[{\\"values\\":[\\"test_db\\",\\"test_table\\",false]}'],
+ 'schema' => ['description' => 'Schema的详细信息,格式为经过JSON序列化的字符串。', 'type' => 'string', 'example' => '{\\"type\\":\\"struct\\",\\"fields\\":[{\\"name\\":\\"namespace\\",\\"type\\":\\"string\\",\\"nullable\\":false,\\"metadata\\":{}},{\\"name\\":\\"tableName\\",\\"type\\":\\"string\\",\\"nullable\\":false,\\"metadata\\":{}},{\\"name\\":\\"isTemporary\\",\\"type\\":\\"boolean\\",\\"nullable\\":false,\\"metadata\\":{}}]}'],
+ 'rowsFilePath' => ['type' => 'string'],
],
],
],
+ 'sqlErrorCode' => ['description' => 'SQL查询错误码。', 'type' => 'string', 'example' => 'ERROR-102'],
+ 'sqlErrorMessage' => ['description' => 'SQL查询错误信息。', 'type' => 'string', 'example' => 'error message'],
+ 'executionTime' => [
+ 'description' => 'SQL查询耗时列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '每个SQL查询消耗时间,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1717138731701'],
+ ],
],
],
+ 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"livyComputes\\": [\\n {\\n \\"computeId\\": \\"lc-xxxxxxxxxxxx\\",\\n \\"name\\": \\"test\\",\\n \\"queueName\\": \\"root_queue\\",\\n \\"status\\": \\"RUNNING\\",\\n \\"endpoint\\": \\"emr-spark-livy-gateway-cn-hangzhou.data.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx\\",\\n \\"createdBy\\": \\"alice\\",\\n \\"gmtCreate\\": 1749456094000,\\n \\"startTime\\": 1749456094000,\\n \\"endpointInner\\": \\"emr-spark-livy-gateway-cn-hangzhou-internal.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
- 'title' => '列出Livy Gateway',
- ],
- 'StartLivyCompute' => [
- 'summary' => '启动Livy Gateway。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/start',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取SQL查询详情',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetSqlStatement',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"data\\": {\\n \\"statementId\\": \\"st-1231311abadfaa\\",\\n \\"state\\": \\"running\\",\\n \\"sqlOutputs\\": [\\n {\\n \\"rows\\": \\"[{\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"test_db\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"test_table\\\\\\\\\\\\\\",false]}\\",\\n \\"schema\\": \\"{\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"struct\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"fields\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"namespace\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nullable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{}},{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"tableName\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nullable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{}},{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"isTemporary\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"boolean\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nullable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{}}]}\\",\\n \\"rowsFilePath\\": \\"\\"\\n }\\n ],\\n \\"sqlErrorCode\\": \\"ERROR-102\\",\\n \\"sqlErrorMessage\\": \\"error message\\",\\n \\"executionTime\\": [\\n 1717138731701\\n ]\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'GetTemplate' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/template',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '222269',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '191100',
+ 'abilityTreeNodes' => ['FEATUREemapreduceUECZZL'],
],
'parameters' => [
[
'name' => 'workspaceBizId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
],
[
- 'name' => 'livyComputeId',
- 'in' => 'path',
+ 'name' => 'templateType',
+ 'in' => 'query',
'schema' => [
- 'description' => 'Livy Gateway的ID。',
+ 'description' => '模板类型。',
'type' => 'string',
'required' => false,
- 'example' => 'lc-i8xogcdfa4fk3yn1',
+ 'example' => 'TASK',
+ 'default' => 'TASK',
+ 'enum' => ['TASK', 'SESSION'],
],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'templateBizId',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'required' => false],
],
],
'responses' => [
@@ -5691,132 +4358,74 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
+ 'httpStatusCode' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '200'],
+ 'errorCode' => ['description' => '- 当success为false,返回业务错误码。'."\n"
+ .' '."\n"
+ .'- 当success为true,返回空值。', 'type' => 'string', 'example' => '040003'],
+ 'errorMessage' => ['description' => '- 当success为false,返回业务错误信息;'."\n"
+ ."\n"
+ .'- 当success为true,返回空值。', 'type' => 'string', 'example' => 'InvalidUser.NotFound'],
+ 'data' => ['description' => '返回数据。', '$ref' => '#/components/schemas/Template'],
+ 'success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'True'],
+ 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '484D9DDA-300D-525E-AF7A-0CCCA5C64A7A'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
- 'title' => '启动Livy Gateway',
- ],
- 'RefreshLivyComputeToken' => [
- 'summary' => '更新Livy Gateway的Token。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token/{tokenId}',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取EMR Serverless Spark任务模板信息',
+ 'summary' => '获取任务模板。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"httpStatusCode\\": \\"200\\",\\n \\"errorCode\\": \\"040003\\",\\n \\"errorMessage\\": \\"InvalidUser.NotFound\\",\\n \\"data\\": {\\n \\"templateType\\": \\"TASK\\",\\n \\"gmtModified\\": \\"2025-03-10T02:02:41.000+00:00\\",\\n \\"creator\\": 0,\\n \\"sparkLogLevel\\": \\"INFO\\",\\n \\"gmtCreated\\": \\"2025-03-10T02:02:41.000+00:00\\\\n\\",\\n \\"sparkDriverMemory\\": 1073741824,\\n \\"modifier\\": 0,\\n \\"sparkExecutorCores\\": 1,\\n \\"sparkConf\\": [\\n {\\n \\"value\\": \\"test_application\\",\\n \\"key\\": \\"spark.app.name\\"\\n }\\n ],\\n \\"sparkVersion\\": \\"esr-4.1.1\\",\\n \\"sparkExecutorMemory\\": 1073741824,\\n \\"fusion\\": true,\\n \\"isDefault\\": true,\\n \\"sparkDriverCores\\": 1,\\n \\"displaySparkVersion\\": \\"esr-4.1.1\\",\\n \\"sparkLogPath\\": \\"oss://your_bucket/path/to/your/log\\",\\n \\"name\\": \\"\\",\\n \\"bizId\\": \\"\\"\\n },\\n \\"success\\": true,\\n \\"requestId\\": \\"484D9DDA-300D-525E-AF7A-0CCCA5C64A7A\\"\\n}","type":"json"}]',
+ ],
+ 'GrantRoleToUsers' => [
+ 'summary' => '调用GrantRoleToUsers为用户授予指定角色权限。',
+ 'path' => '/api/v1/auth/roles/grant',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '222308',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeCode' => '193394',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
- ],
- [
- 'name' => 'livyComputeId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lc-i8xogcdfa4fk3yn1',
- ],
- ],
- [
- 'name' => 'tokenId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lctk-xxxxxxxx',
- ],
- ],
- [
'name' => 'body',
'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => '请求结构体。',
+ 'description' => '请求体参数。',
'type' => 'object',
'properties' => [
- 'name' => [
- 'description' => '名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'token' => [
- 'description' => 'Token内容,长度需要大于等于16。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'fe86812667f04v343',
- ],
- 'autoExpireConfiguration' => [
- 'description' => 'Token过期信息结构体。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => 'Token是否自动过期。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'expireDays' => [
- 'description' => '过期时间(天)。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '7',
- ],
- ],
+ 'roleArn' => ['description' => '角色ARN。', 'type' => 'string', 'required' => false, 'example' => 'acs:emr::w-975bcfda9625****:role/Owner'],
+ 'userArns' => [
+ 'description' => '用户ARN列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '用户ARN。', 'type' => 'string', 'required' => false, 'example' => 'acs:emr::w-975bcfda96258dd7:member/20468369839086****'],
'required' => false,
],
],
@@ -5826,322 +4435,201 @@
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => '请求返回体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
- 'title' => '更新Livy Gateway的Token',
- ],
- 'GetLivyComputeToken' => [
- 'summary' => '获取Livy Gateway的Token。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token/{tokenId}',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '赋予用户角色',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GrantRoleToUsers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'ListCatalogs' => [
+ 'summary' => '查看数据目录列表',
+ 'path' => '/api/v1/workspaces/{workspaceId}/catalogs',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '222371',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '213262',
+ 'abilityTreeNodes' => ['FEATUREemapreduceR6MU4Y'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
- ],
- [
- 'name' => 'livyComputeId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lc-6mkvn01zrg8rqhhv',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
- 'name' => 'tokenId',
- 'in' => 'path',
+ 'name' => 'environment',
+ 'in' => 'query',
'schema' => [
- 'description' => 'Token ID。',
+ 'description' => '环境类型。',
'type' => 'string',
'required' => false,
- 'example' => 'lctk-xxxxxxxx',
+ 'enumValueTitles' => ['dev' => 'dev', 'production' => 'production'],
+ 'example' => 'dev',
],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '484D9DDA-300D-525E-AF7A-0CCCA5C64A7A',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '响应消息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- 'data' => [
- 'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'tokenId' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'example' => 'lctk-xxxxxxxxxx',
- ],
- 'name' => [
- 'description' => 'Token名称。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'token' => [
- 'description' => 'Token内容。',
- 'type' => 'string',
- 'example' => 'd25561157a635bb',
- ],
- 'createdBy' => [
- 'description' => '创建者名称。',
- 'type' => 'string',
- 'example' => 'alice',
- ],
- 'createTime' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456094000',
- ],
- 'expireTime' => [
- 'description' => '过期时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749457994000',
- ],
- 'lastUsedTime' => [
- 'description' => '上次使用时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456098000',
- ],
- 'autoExpireConfiguration' => [
- 'description' => 'Token过期信息结构体。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => 'Token是否自动过期。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'expireDays' => [
- 'description' => '过期时间(天)。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '7',
- ],
+ 'catalogs' => [
+ 'description' => '数据目录。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '数据目录。',
+ 'type' => 'object',
+ 'properties' => [
+ 'catalogId' => ['title' => 'regionId。', 'description' => '数据目录ID。', 'type' => 'string', 'example' => '15097**********'],
+ 'workspaceId' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-d2d82aa09155****'."\n"],
+ 'environments' => [
+ 'description' => '环境类型。',
+ 'type' => 'array',
+ 'items' => ['description' => '环境类型。', 'type' => 'string', 'example' => 'dev,production'],
+ ],
+ 'catalogType' => ['description' => '是否为默认数据目录。', 'type' => 'string', 'example' => 'default_catalog'],
+ 'catalogProvider' => ['description' => '数据目录类型。', 'type' => 'string', 'example' => 'HMS'],
+ 'gmtCreate' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1760604889'],
+ 'gmtModified' => ['description' => '更新时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1760604889'],
+ 'resourceOwnerId' => ['description' => '资源持有者ID。', 'type' => 'string', 'example' => '15097**********'],
+ 'alias' => ['title' => 'alias', 'type' => 'string', 'example' => 'alias'],
+ 'extras' => [
+ 'description' => '额外信息。',
+ 'type' => 'object',
+ 'additionalProperties' => ['type' => 'string', 'description' => '额外信息。', 'example' => '{"networkName":"hms","metastoreUrl":"thrift://master-1-1.c-70*********.cn-hangzhou.emr.aliyuncs.com:9083","keytabPath":"oss://********/hive.keytab","principal":"hive/master-1-1.c-70****************"}'],
],
],
],
],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['title' => '下一页TOKEN。', 'description' => '下一页TOKEN。', 'type' => 'string', 'example' => '1'],
+ 'totalCount' => ['title' => '记录总数。', 'description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
+ 'maxResults' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"484D9DDA-300D-525E-AF7A-0CCCA5C64A7A\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"tokenId\\": \\"lctk-xxxxxxxxxx\\",\\n \\"name\\": \\"test\\",\\n \\"token\\": \\"d25561157a635bb\\",\\n \\"createdBy\\": \\"alice\\",\\n \\"createTime\\": 1749456094000,\\n \\"expireTime\\": 1749457994000,\\n \\"lastUsedTime\\": 1749456098000,\\n \\"autoExpireConfiguration\\": {\\n \\"enable\\": false,\\n \\"expireDays\\": 7\\n }\\n }\\n}","type":"json"}]',
- 'title' => '获取Livy Gateway的Token',
- ],
- 'CreateLivyComputeToken' => [
- 'summary' => '创建Livy Gateway的Token。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token',
- 'methods' => [
- 'put',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '查询数据目录列表',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListCatalogs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"catalogs\\": [\\n {\\n \\"catalogId\\": \\"15097**********\\",\\n \\"workspaceId\\": \\"w-d2d82aa09155****\\\\n\\",\\n \\"environments\\": [\\n \\"dev,production\\"\\n ],\\n \\"catalogType\\": \\"default_catalog\\",\\n \\"catalogProvider\\": \\"HMS\\",\\n \\"gmtCreate\\": 1760604889,\\n \\"gmtModified\\": 1760604889,\\n \\"resourceOwnerId\\": \\"15097**********\\",\\n \\"alias\\": \\"alias\\",\\n \\"extras\\": {\\n \\"key\\": \\"{\\\\\\"networkName\\\\\\":\\\\\\"hms\\\\\\",\\\\\\"metastoreUrl\\\\\\":\\\\\\"thrift://master-1-1.c-70*********.cn-hangzhou.emr.aliyuncs.com:9083\\\\\\",\\\\\\"keytabPath\\\\\\":\\\\\\"oss://********/hive.keytab\\\\\\",\\\\\\"principal\\\\\\":\\\\\\"hive/master-1-1.c-70****************\\\\\\"}\\"\\n }\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"totalCount\\": 200,\\n \\"maxResults\\": 20\\n}","type":"json"}]',
+ ],
+ 'ListExecutorLogs' => [
+ 'summary' => '列出作业executor的日志文件列表',
+ 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns/{jobRunId}/executors/{executorId}/logs',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '222305',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '231264',
+ 'abilityTreeNodes' => ['FEATUREemapreduceT8XN05'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d2d82aa09155****'],
],
[
- 'name' => 'livyComputeId',
+ 'name' => 'jobRunId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lc-zm4dzdiubu73w2yx',
- ],
+ 'schema' => ['description' => '任务运行ID。', 'type' => 'string', 'required' => true, 'example' => 'jr-f09a8fda2396****'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
- 'schema' => [
- 'description' => '请求结构体。',
- 'type' => 'object',
- 'properties' => [
- 'name' => [
- 'description' => 'Token名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'mytoken',
- ],
- 'token' => [
- 'description' => 'Token内容,长度需要大于等于16。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'gs3fy75w4o7hqe5s',
- ],
- 'autoExpireConfiguration' => [
- 'description' => 'Token过期信息结构体。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => 'Token是否自动过期。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'expireDays' => [
- 'description' => '过期时间(天)。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '7',
- ],
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
+ 'name' => 'executorId',
+ 'in' => 'path',
+ 'schema' => ['description' => '作业Executor ID。', 'type' => 'string', 'required' => true, 'example' => '1'],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => '下一页TOKEN。', 'type' => 'string', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
+ ],
+ [
+ 'name' => 'logType',
+ 'in' => 'query',
+ 'schema' => ['description' => '日志类型。', 'type' => 'string', 'required' => false, 'example' => 'log4j'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -6151,30 +4639,22 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误详情。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- 'data' => [
- 'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'tokenId' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'example' => 'lctk-xxxxxxxx',
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'nextToken' => ['description' => '下一页TOKEN。', 'type' => 'string', 'example' => '2'],
+ 'maxResults' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
+ 'logs' => [
+ 'description' => '获取到的日志,按上下文顺序排列。当根据指定起始日志查询不到上下文日志时,此参数为空。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '获取到的日志,按上下文顺序排列。当根据指定起始日志查询不到上下文日志时,此参数为空。',
+ 'type' => 'object',
+ 'properties' => [
+ 'logName' => ['description' => '日志名称。', 'type' => 'string', 'example' => 'log4j.log'],
+ 'logType' => ['description' => '日志类型。', 'type' => 'string', 'example' => 'log4j'],
+ 'fileName' => ['description' => '文件全路径名称。', 'type' => 'string', 'example' => 'oss://spark-*********/w-*******467/spark/logs/jr-581482ffa9f4e0e8/driver/stdout.log'],
+ 'updateTime' => ['description' => '日志更新时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1745390462'],
+ 'fileSize' => ['description' => '文件大小。', 'type' => 'integer', 'format' => 'int64', 'example' => '6383327'],
],
],
],
@@ -6182,82 +4662,76 @@
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"tokenId\\": \\"lctk-xxxxxxxx\\"\\n }\\n}","type":"json"}]',
- 'title' => '创建Livy Gateway的Token',
- ],
- 'DeleteLivyComputeToken' => [
- 'summary' => '删除Livy Gateway的Token。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token/{tokenId}',
- 'methods' => [
- 'delete',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => '获取Spark作业日志',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"nextToken\\": \\"2\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200,\\n \\"logs\\": [\\n {\\n \\"logName\\": \\"log4j.log\\",\\n \\"logType\\": \\"log4j\\",\\n \\"fileName\\": \\"oss://spark-*********/w-*******467/spark/logs/jr-581482ffa9f4e0e8/driver/stdout.log\\",\\n \\"updateTime\\": 1745390462,\\n \\"fileSize\\": 6383327\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListJobExecutors' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns/{jobRunId}/executors',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '222309',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '231260',
+ 'abilityTreeNodes' => ['FEATUREemapreduceT8XN05'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d2d82aa09155****'],
],
[
- 'name' => 'livyComputeId',
+ 'name' => 'jobRunId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lc-zm4dzdiubu73w2yx',
- ],
+ 'schema' => ['description' => '任务运行ID。', 'type' => 'string', 'required' => true, 'example' => 'jr-f09a8fda2396****'],
],
[
- 'name' => 'tokenId',
- 'in' => 'path',
- 'schema' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lctk-xxxxxxxxxx',
- ],
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => '下一页TOKEN。', 'type' => 'string', 'required' => false, 'example' => '2'],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
+ ],
+ [
+ 'name' => 'status',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Executor状态。', 'type' => 'string', 'required' => false, 'example' => 'Dead'],
+ ],
+ [
+ 'name' => 'executorType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Executor类型。', 'type' => 'string', 'required' => false, 'example' => 'driver'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -6267,261 +4741,397 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['description' => '下一页TOKEN。', 'type' => 'string', 'example' => '2'],
+ 'maxResults' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
+ 'exexutors' => [
+ 'description' => 'Executor列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '单条Executor信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-78faee4da118f02e'],
+ 'jobRunId' => ['description' => '任务运行ID。', 'type' => 'string', 'example' => 'jr-1fe145df8ade366a'],
+ 'executorId' => ['description' => '作业Executor ID。', 'type' => 'string', 'example' => '1'],
+ 'status' => ['description' => 'Executor运行状态。', 'type' => 'string', 'example' => 'Running'],
+ 'hostPort' => ['description' => 'Executor地址信息。', 'type' => 'string', 'example' => '21.10.x.x:1201x'],
+ 'rddBlocks' => ['description' => 'Executor管理的RDD Block数。', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'memoryUsed' => ['description' => 'Executor内存使用率。', 'type' => 'integer', 'format' => 'int64', 'example' => '30'],
+ 'diskUsed' => ['description' => 'Executor磁盘率。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
+ 'totalCores' => ['description' => 'Executor总核数。', 'type' => 'integer', 'format' => 'int64', 'example' => '4'],
+ 'activeTasks' => ['description' => 'Executor总执行活跃任务数。', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
+ 'failedTasks' => ['description' => 'Executor总执行失败任务数。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'],
+ 'completedTasks' => ['description' => 'Executor总执行完成任务数。', 'type' => 'integer', 'format' => 'int64', 'example' => '8'],
+ 'totalTasks' => ['description' => 'Executor总执行任务数。', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
+ 'totalDuration' => ['description' => 'Executor总运行时长。', 'type' => 'integer', 'format' => 'int64', 'example' => '123'],
+ 'totalGCTime' => ['description' => 'Executor总GC时长', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'totalInputBytes' => ['description' => 'Executor输入数据字节数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1024'],
+ 'totalShuffleRead' => ['description' => 'Executor Shuffle Read字节数。', 'type' => 'integer', 'format' => 'int64', 'example' => '2048'],
+ 'totalShuffleWrite' => ['description' => 'Executor Shuffle Write字节数。', 'type' => 'integer', 'format' => 'int64', 'example' => '2048'."\n"],
+ 'maxMemory' => ['description' => 'Executor最大内存。', 'type' => 'integer', 'format' => 'int64', 'example' => '4294967296'],
+ 'addTime' => ['description' => 'Executor创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1760601***'],
+ 'executorType' => ['description' => 'Executor类型。', 'type' => 'string', 'example' => 'driver'],
+ ],
+ ],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
- 'title' => '删除Livy Gateway的Token',
- ],
- 'StopLivyCompute' => [
- 'summary' => '停止Livy Gateway。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/stop',
- 'methods' => [
- 'post',
+ 'title' => '作业Executor列表',
+ 'summary' => '列出作业的executors',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListJobExecutors',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"2\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200,\\n \\"exexutors\\": [\\n {\\n \\"workspaceId\\": \\"w-78faee4da118f02e\\",\\n \\"jobRunId\\": \\"jr-1fe145df8ade366a\\",\\n \\"executorId\\": \\"1\\",\\n \\"status\\": \\"Running\\",\\n \\"hostPort\\": \\"21.10.x.x:1201x\\",\\n \\"rddBlocks\\": 10,\\n \\"memoryUsed\\": 30,\\n \\"diskUsed\\": 20,\\n \\"totalCores\\": 4,\\n \\"activeTasks\\": 10,\\n \\"failedTasks\\": 2,\\n \\"completedTasks\\": 8,\\n \\"totalTasks\\": 50,\\n \\"totalDuration\\": 123,\\n \\"totalGCTime\\": 3,\\n \\"totalInputBytes\\": 1024,\\n \\"totalShuffleRead\\": 2048,\\n \\"totalShuffleWrite\\": 2048,\\n \\"maxMemory\\": 4294967296,\\n \\"addTime\\": 0,\\n \\"executorType\\": \\"driver\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListJobRuns' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'deprecated' => false,
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '222278',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '215800',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '标记当前开始读取的位置。', 'description' => '标记当前开始读取的位置。', 'type' => 'string', 'required' => false, 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C89568980'],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数,最大不超过100。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
+ ],
+ [
+ 'name' => 'workspaceId',
'in' => 'path',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'name',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '作业名称。', 'description' => '任务名称。', 'type' => 'string', 'required' => false, 'example' => 'emr-spark-demo-job'],
+ ],
+ [
+ 'name' => 'creator',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '创建用户Uid。', 'description' => '创建用户UID。', 'type' => 'string', 'required' => false, 'example' => '150976534701****'],
+ ],
+ [
+ 'name' => 'jobRunId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '作业id。', 'description' => '任务ID。', 'type' => 'string', 'required' => false, 'example' => 'j-xxx'],
+ ],
+ [
+ 'name' => 'tags',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'style' => 'json',
'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
+ 'title' => '标签。',
+ 'description' => '标签列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => '标签键。', 'type' => 'string', 'required' => false, 'example' => 'tag_key'],
+ 'value' => ['description' => '标签值。', 'type' => 'string', 'required' => false, 'example' => 'value'],
+ ],
+ 'required' => false,
+ ],
'required' => false,
- 'example' => 'w-8adde60aa809701f',
],
],
[
- 'name' => 'livyComputeId',
- 'in' => 'path',
+ 'name' => 'states',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'style' => 'json',
'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
+ 'title' => '作业状态。',
+ 'description' => '任务状态。',
+ 'type' => 'array',
+ 'items' => ['description' => '任务状态。取值范围:'."\n"
+ .'- Submitted:已提交。'."\n"
+ .'- Pending:待处理。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Success:成功。'."\n"
+ .'- Failed:失败。'."\n"
+ .'- Cancelling:取消中。'."\n"
+ .'- Cancelled:已取消。'."\n"
+ .'- CancelFailed:取消失败。', 'type' => 'string', 'required' => false, 'example' => 'Running'],
'required' => false,
- 'example' => 'lc-6mkvn01zrg8rqhhv',
+ 'example' => '["Running","Submitted"]',
],
],
[
- 'name' => 'regionId',
+ 'name' => 'startTime',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
+ 'description' => '任务开始时间范围。',
+ 'type' => 'object',
+ 'properties' => [
+ 'startTime' => ['description' => '任务开始时间范围的起点。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1709740800000'],
+ 'endTime' => ['description' => '任务开始时间范围的终点。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1710432000000'],
+ ],
'required' => false,
- 'example' => 'cn-hangzhou',
],
],
+ [
+ 'name' => 'endTime',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '任务结束时间范围。',
+ 'type' => 'object',
+ 'properties' => [
+ 'startTime' => ['description' => '任务结束时间范围的起点。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1709740800000'],
+ 'endTime' => ['description' => '任务结束时间范围的终点。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1710432000000'],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'resourceQueueId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Spark任务运行的资源队列名称。', 'type' => 'string', 'required' => false, 'example' => 'dev_queue'],
+ ],
+ [
+ 'name' => 'jobRunDeploymentId',
+ 'in' => 'query',
+ 'schema' => ['description' => '流任务部署的任务ID。', 'type' => 'string', 'required' => false, 'example' => 'jd-b6d003f1930f****'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'minDuration',
+ 'in' => 'query',
+ 'schema' => ['description' => '任务执行时长的最小值,单位ms。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60000'],
+ ],
+ [
+ 'name' => 'isWorkflow',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否为工作流任务。', 'type' => 'string', 'required' => false, 'example' => 'false'],
+ ],
+ [
+ 'name' => 'runtimeConfigs',
+ 'in' => 'query',
+ 'schema' => ['description' => '运行配置。', 'type' => 'string', 'required' => false, 'example' => '[{\\"key\\":\\"mainClass\\",\\"value\\":\\"yourClass\\"}]'],
+ ],
+ [
+ 'name' => 'applicationConfigs',
+ 'in' => 'query',
+ 'schema' => ['description' => 'spark配置。', 'type' => 'string', 'required' => false, 'example' => '[{\\"key\\":\\"spark.app.name\\",\\"value\\":\\"test\\"}]'],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '484D9DDA-300D-525E-AF7A-0CCCA5C64A7A',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
+ 'jobRuns' => [
+ 'description' => 'Spark任务列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Spark任务对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-d2d82aa09155****'],
+ 'jobRunId' => ['title' => '任务实例ID。', 'description' => '任务ID。', 'type' => 'string', 'example' => 'jr-231231'],
+ 'name' => ['title' => '作业实例名称。', 'description' => '任务名称。', 'type' => 'string', 'example' => 'jobName'],
+ 'state' => ['title' => '作业状态。', 'description' => '任务状态。', 'type' => 'string', 'example' => 'Running'],
+ 'stateChangeReason' => [
+ 'description' => '状态变化原因。',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => '错误码。', 'type' => 'string', 'example' => '0'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'connection refused'."\n"],
+ ],
+ ],
+ 'submitTime' => ['title' => '作业提交时间。', 'description' => '任务提交时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1684119314000'],
+ 'endTime' => ['title' => '作业结束时间。', 'description' => '任务结束时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1684119314000'],
+ 'codeType' => ['title' => '作业代码类型。', 'description' => '任务代码类型。取值范围:'."\n"
+ ."\n"
+ .'SQL'."\n"
+ ."\n"
+ .'JAR'."\n"
+ ."\n"
+ .'PYTHON', 'type' => 'string', 'example' => 'SQL'],
+ 'webUI' => ['title' => '作业web ui。', 'description' => '作业Web UI。', 'type' => 'string', 'example' => 'http://spark-ui'],
+ 'executionTimeoutSeconds' => ['title' => '运行超时时间。', 'description' => '运行超时时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'],
+ 'creator' => ['title' => '创建用户Uid。', 'description' => '创建用户UID。', 'type' => 'string', 'example' => '150978934701****'],
+ 'tags' => [
+ 'title' => '标签。',
+ 'description' => '标签。',
+ 'type' => 'array',
+ 'items' => ['description' => '任务标签.', '$ref' => '#/components/schemas/Tag'],
+ ],
+ 'log' => ['description' => '运行日志路径。', '$ref' => '#/components/schemas/RunLog'],
+ 'releaseVersion' => ['description' => '运行任务的Spark引擎版本。', 'type' => 'string', 'example' => 'esr-3.0.0 (Spark 3.4.3, Scala 2.12, Native Runtime)'],
+ 'jobDriver' => ['description' => 'Spark Driver相关信息,List接口不返回此参数。', '$ref' => '#/components/schemas/JobDriver'],
+ 'configurationOverrides' => [
+ 'description' => 'Spark高级配置,List接口不返回此参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'configurations' => [
+ 'description' => 'Spark Conf列表。',
+ 'type' => 'array',
+ 'items' => ['description' => 'Spark Conf对象。', '$ref' => '#/components/schemas/Configuration'],
+ ],
+ ],
+ ],
+ 'displayReleaseVersion' => ['description' => '运行任务的Spark引擎版本。', 'type' => 'string', 'example' => 'esr-3.0.0 (Spark 3.4.3, Scala 2.12)'],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'example' => 'true'],
+ 'vcoreSeconds' => ['description' => '任务已分配的 vcore 总量乘以任务已运行的秒数。', 'type' => 'integer', 'format' => 'int64', 'example' => '8236'],
+ 'mbSeconds' => ['description' => '任务已分配的内存总量乘以任务已运行的秒数。', 'type' => 'integer', 'format' => 'int64', 'example' => '33030784'],
+ 'cuHours' => ['description' => '任务运行周期内所消耗的 CU 数量(该值为预估值,最终以账单为准)。', 'type' => 'number', 'format' => 'double', 'example' => '2.059'],
+ 'resourceQueueId' => ['type' => 'string', 'example' => 'dev_queue'],
+ 'priority' => ['type' => 'string', 'example' => '5'],
+ ],
+ ],
],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['title' => '返回读取到的数据位置。', 'description' => '返回读取到的数据位置。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['title' => '本次请求所返回的最大记录条数。', 'description' => '本次请求所返回的最大记录条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['title' => '本次请求条件下的数据总量。', 'description' => '本次请求条件下的数据总量。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"484D9DDA-300D-525E-AF7A-0CCCA5C64A7A\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
- 'title' => '停止Livy Gateway',
- ],
- 'ListLivyComputeToken' => [
- 'summary' => '列出Livy Gateway的Token。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token',
- 'methods' => [
- 'get',
+ 'title' => '获取Spark任务列表',
+ 'summary' => '调用ListJobRuns获取Spark任务列表。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListJobRuns',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"jobRuns\\": [\\n {\\n \\"workspaceId\\": \\"w-d2d82aa09155****\\",\\n \\"jobRunId\\": \\"jr-231231\\",\\n \\"name\\": \\"jobName\\",\\n \\"state\\": \\"Running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"0\\",\\n \\"message\\": \\"connection refused\\\\n\\"\\n },\\n \\"submitTime\\": 1684119314000,\\n \\"endTime\\": 1684119314000,\\n \\"codeType\\": \\"SQL\\",\\n \\"webUI\\": \\"http://spark-ui\\",\\n \\"executionTimeoutSeconds\\": 3600,\\n \\"creator\\": \\"150978934701****\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ],\\n \\"log\\": {\\n \\"driverStdOut\\": \\"oss://bucket/path/to/stdout\\",\\n \\"driverStdError\\": \\"oss://bucket/path/to/stderr\\",\\n \\"driverSyslog\\": \\"oss://bucket/path/to/syslog\\",\\n \\"driverStartup\\": \\"oss://bucket/path/to/startup\\"\\n },\\n \\"releaseVersion\\": \\"esr-3.0.0 (Spark 3.4.3, Scala 2.12, Native Runtime)\\",\\n \\"jobDriver\\": {\\n \\"sparkSubmit\\": {\\n \\"entryPoint\\": \\"oss://bucket/path/to/entrypoint.jar\\",\\n \\"entryPointArguments\\": [\\n \\"arg1\\"\\n ],\\n \\"sparkSubmitParameters\\": \\"--conf spark.app.name=test\\"\\n }\\n },\\n \\"configurationOverrides\\": {\\n \\"configurations\\": [\\n {\\n \\"configFileName\\": \\"common.conf\\",\\n \\"configItemKey\\": \\"hive.metastore.type\\",\\n \\"configItemValue\\": \\"USER_RDS\\"\\n }\\n ]\\n },\\n \\"displayReleaseVersion\\": \\"esr-3.0.0 (Spark 3.4.3, Scala 2.12)\\",\\n \\"fusion\\": true,\\n \\"vcoreSeconds\\": 8236,\\n \\"mbSeconds\\": 33030784,\\n \\"cuHours\\": 2.059,\\n \\"resourceQueueId\\": \\"dev_queue\\",\\n \\"priority\\": \\"5\\"\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
+ ],
+ 'ListKyuubiServices' => [
+ 'path' => '/api/v1/kyuubi/{workspaceId}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'abilityTreeCode' => '222370',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
- ],
- [
- 'name' => 'livyComputeId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lc-zm4dzdiubu73w2yx',
- ],
- ],
- [
- 'name' => 'regionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => '返回结构体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
'data' => [
'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'tokens' => [
- 'description' => 'Token列表。',
+ 'kyuubiServices' => [
+ 'description' => 'KyuubiServer列表。',
'type' => 'array',
'items' => [
- 'description' => 'Token信息。',
+ 'description' => 'KyuubiServer记录。',
'type' => 'object',
'properties' => [
- 'tokenId' => [
- 'description' => 'Token ID。',
- 'type' => 'string',
- 'example' => 'lctk-xxxxxxxxxxx',
- ],
- 'name' => [
- 'description' => 'Token名称。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'token' => [
- 'description' => 'Token内容。',
- 'type' => 'string',
- 'example' => '5d37843fb6f1e8',
- ],
- 'createdby' => [
- 'description' => 'Token创建人。',
- 'type' => 'string',
- 'example' => 'alice',
- ],
- 'createTime' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456094000',
- ],
- 'expireTime' => [
- 'description' => '过期时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456994000',
- ],
- 'lastUsedTime' => [
- 'description' => '上次使用时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456098000',
- ],
+ 'kyuubiConfigs' => ['description' => 'KyuubiServer配置。', 'type' => 'string', 'example' => 'kyuubi.conf.key=value1'."\n"
+ .'kyuubi.conf.key1=value2'],
+ 'sparkConfigs' => ['description' => 'KyuubiServer启动Spark Application默认配置。', 'type' => 'string', 'example' => 'spark.conf.key=value1'."\n"
+ .'spark.conf.key1=value2'],
+ 'state' => ['description' => 'KyuubiServer状态。', 'type' => 'string', 'example' => 'Running'],
+ 'name' => ['description' => 'KyuubiServer名称。', 'type' => 'string', 'example' => 'test'],
+ 'queue' => ['description' => '队列名称。', 'type' => 'string', 'example' => 'dev_queue'],
+ 'createTime' => ['description' => '创建时间。', 'type' => 'string', 'example' => '2025-03-11T08:21:58Z'],
+ 'startTime' => ['description' => 'KyuubiServer最近启动时间。', 'type' => 'string', 'example' => '2024-11-23 09:22:00'],
+ 'creator' => ['description' => '创建用户UID。', 'type' => 'string', 'example' => '103*******'],
+ 'kyuubiServiceId' => ['description' => 'KyuubiServer ID。', 'type' => 'string', 'example' => 'kb-070104e7631242448d12a1377c309f30'],
+ 'innerEndpoint' => ['description' => '内网域名。', 'type' => 'string', 'example' => 'kyuubi-cn-hangzhou-internal.spark.emr.aliyuncs.com'],
+ 'publicEndpoint' => ['description' => '公网域名。', 'type' => 'string', 'example' => 'emr-spark-kyuubi-gateway-cn-hangzhou.aliyuncs.com'],
+ 'releaseVersion' => ['description' => 'Spark引擎版本号。', 'type' => 'string', 'example' => 'esr-4.2.0 (Spark 3.5.2, Scala 2.12)'."\n"],
+ 'computeInstance' => ['description' => 'KyuubiServer实例规格。', 'type' => 'string', 'example' => '4C16G'],
+ 'replica' => ['description' => 'KyuubiServer副本数。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
+ 'kyuubiReleaseVersion' => ['description' => 'KyuubiServer版本。', 'type' => 'string', 'example' => '1.9.2-0.0.1'],
],
],
],
@@ -6531,469 +5141,352 @@
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"tokens\\": [\\n {\\n \\"tokenId\\": \\"lctk-xxxxxxxxxxx\\",\\n \\"name\\": \\"test\\",\\n \\"token\\": \\"5d37843fb6f1e8\\",\\n \\"createdby\\": \\"alice\\",\\n \\"createTime\\": 1749456094000,\\n \\"expireTime\\": 1749456994000,\\n \\"lastUsedTime\\": 1749456098000\\n }\\n ]\\n }\\n}","type":"json"}]',
- 'title' => '列出Livy Gateway的Token',
- ],
- 'GetLivyCompute' => [
- 'summary' => '获取Livy Gateway信息。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '列出Kyuubi Gateway信息',
+ 'summary' => '列出Kyuubi Gateway。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListKyuubiServices',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"kyuubiServices\\": [\\n {\\n \\"kyuubiConfigs\\": \\"kyuubi.conf.key=value1\\\\nkyuubi.conf.key1=value2\\",\\n \\"sparkConfigs\\": \\"spark.conf.key=value1\\\\nspark.conf.key1=value2\\",\\n \\"state\\": \\"Running\\",\\n \\"name\\": \\"test\\",\\n \\"queue\\": \\"dev_queue\\",\\n \\"createTime\\": \\"2025-03-11T08:21:58Z\\",\\n \\"startTime\\": \\"2024-11-23 09:22:00\\",\\n \\"creator\\": \\"103*******\\",\\n \\"kyuubiServiceId\\": \\"kb-070104e7631242448d12a1377c309f30\\",\\n \\"innerEndpoint\\": \\"kyuubi-cn-hangzhou-internal.spark.emr.aliyuncs.com\\",\\n \\"publicEndpoint\\": \\"emr-spark-kyuubi-gateway-cn-hangzhou.aliyuncs.com\\",\\n \\"releaseVersion\\": \\"esr-4.2.0 (Spark 3.5.2, Scala 2.12)\\\\n\\",\\n \\"computeInstance\\": \\"4C16G\\",\\n \\"replica\\": 3,\\n \\"kyuubiReleaseVersion\\": \\"1.9.2-0.0.1\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'ListKyuubiSparkApplications' => [
+ 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}/applications',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '222260',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => '下一页TOKEN。', 'type' => 'string', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
+ ],
+ [
+ 'name' => 'workspaceId',
'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'kyuubiServiceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Kyuubi服务ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'],
+ ],
+ [
+ 'name' => 'applicationId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Kyuubi提交的Spark应用ID,用于搜索。', 'type' => 'string', 'required' => false, 'example' => 'spark-339f844005b6404c95f9f7c7a13b****'],
+ ],
+ [
+ 'name' => 'applicationName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Kyuubi提交的Spark应用名,用于搜索。', 'type' => 'string', 'required' => false, 'example' => 'kyuubi-connection-spark-sql-anonymous-fa9a5e73-b4b1-474a-b****'],
+ ],
+ [
+ 'name' => 'startTime',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
+ 'description' => '任务开始时间范围。',
+ 'type' => 'object',
+ 'properties' => [
+ 'startTime' => ['description' => '任务开始时间范围的起点。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1709740800000'],
+ 'endTime' => ['description' => '任务开始时间范围的终点。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1710432000000'],
+ ],
'required' => false,
- 'example' => 'w-8adde60aa809701f',
],
],
[
- 'name' => 'livyComputeId',
- 'in' => 'path',
+ 'name' => 'resourceQueueId',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'required' => false, 'example' => 'root_queue', 'description' => ''],
+ ],
+ [
+ 'name' => 'minDuration',
+ 'in' => 'query',
+ 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60000', 'description' => ''],
+ ],
+ [
+ 'name' => 'orderBy',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'Livy Gateway的ID。',
- 'type' => 'string',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'required' => false, 'example' => 'startTime', 'description' => ''],
'required' => false,
- 'example' => 'lc-i8xogcdfa4fk3yn1',
+ 'description' => '',
],
],
[
- 'name' => 'regionId',
+ 'name' => 'sort',
'in' => 'query',
+ 'schema' => ['type' => 'string', 'required' => false, 'example' => 'asc', 'description' => ''],
+ ],
+ [
+ 'name' => 'endTime',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ 'type' => 'object',
+ 'properties' => [
+ 'startTime' => ['type' => 'integer', 'format' => 'int64', 'example' => '1774209636'],
+ 'endTime' => ['type' => 'integer', 'format' => 'int64', 'example' => '1774209636'],
+ ],
],
],
+ [
+ 'name' => 'states',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'example' => '["ERROR"]'],
+ ],
+ [
+ 'name' => 'latestSqlStatementStatuses',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'example' => '["SUCCESS"]'],
+ ],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => '返回格式。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。',
- 'type' => 'string',
- 'example' => '1000000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- 'data' => [
- 'description' => '返回结果。',
- 'type' => 'object',
- 'properties' => [
- 'computeId' => [
- 'description' => 'Livy Gateway的ID',
- 'type' => 'string',
- 'example' => 'lc-xxxxxxxxxxxxx',
- ],
- 'name' => [
- 'description' => '名称。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'livyVersion' => [
- 'description' => 'Livy版本。',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => '0.8.0',
- 'enum' => [
- '0.8.0',
- ],
- ],
- 'releaseVersion' => [
- 'description' => 'Spark引擎版本号,已废弃,请使用displayReleaseVersion。',
- 'type' => 'string',
- 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12, Java Runtime)'."\n",
- ],
- 'queueName' => [
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'root_queue',
- ],
- 'cpuLimit' => [
- 'description' => 'Livy Server的CPU核数。'."\n"
- .'- 1'."\n"
- .'- 2'."\n"
- .'- 4',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => '1',
- ],
- 'memoryLimit' => [
- 'description' => 'Livy Server的内存大小。'."\n"
- .'- 4Gi'."\n"
- .'- 8Gi'."\n"
- .'- 16Gi',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => '4Gi',
- ],
- 'autoStopConfiguration' => [
- 'description' => '自动终止配置。',
- 'type' => 'object',
- 'properties' => [
- 'enable' => [
- 'description' => '是否创建后自动启动。'."\n"
- .'- true:是。'."\n"
- .'- false:否。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'idleTimeoutMinutes' => [
- 'description' => 'Livy Gateway空闲指定分钟数后自动终止。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '300',
- ],
- ],
- ],
- 'authType' => [
- 'description' => '认证方式。',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'Token',
- 'enum' => [
- 'Token',
- ],
- ],
- 'status' => [
- 'description' => '运行状态。',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'RUNNING',
- 'enum' => [
- 'RUNNING',
- 'STOPPED',
- 'STARTING',
- 'STOPPING',
- 'FAILED',
+ 'applications' => [
+ 'description' => '应用详情列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '应用详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'applicationId' => ['description' => 'Kyuubi提交的Spark应用ID。', 'type' => 'string', 'example' => 'spark-339f844005b6404c95f9f7c7a13b****'],
+ 'applicationName' => ['description' => 'Kyuubi提交的Spark应用名。', 'type' => 'string', 'example' => 'kyuubi-connection-spark-sql-anonymous-fa9a5e73-b4b1-474a-b****'],
+ 'webUI' => ['description' => 'Spark应用UI链接地址。', 'type' => 'string', 'example' => 'https://emr-spark-ui-cn-hangzhou.data.aliyun.com/history/w-cf351f3b6dcb****-spark-339f844005b6404c95f9f7c7a13b****/jobs/?spm=emr-serverless-spark.gateway_sessions.0.0.711344e3QfMVTz&token=NS9CU1lpWGl1Q2RRdi9sZUtuS3hy****'],
+ 'state' => ['description' => 'Spark应用状态。'."\n"
+ .'- STARTING:启动中。'."\n"
+ .'- RUNNING:运行中。'."\n"
+ .'- TERMINATED:已终止。', 'type' => 'string', 'example' => 'STARTING'],
+ 'startTime' => ['description' => '任务开始的时间。', 'type' => 'string', 'example' => '2025-02-12 19:59:16'],
+ 'endTime' => ['description' => '任务结束的时间。', 'type' => 'string', 'example' => '2025-02-12 20:02:02'],
+ 'cuHours' => ['description' => '任务运行周期内所消耗的 CU 数量(该值为预估值,最终以账单为准)。', 'type' => 'number', 'format' => 'double', 'example' => '0.238302'],
+ 'mbSeconds' => ['description' => '任务已分配的内存总量乘以任务已运行的秒数。', 'type' => 'integer', 'format' => 'int64', 'example' => '3513900'],
+ 'vcoreSeconds' => ['description' => '任务已分配的 vcore 总量乘以任务已运行的秒数。', 'type' => 'integer', 'format' => 'int64', 'example' => '780'],
+ 'resourceQueueId' => ['description' => 'Spark任务运行的资源队列名称。', 'type' => 'string', 'example' => 'dev_queue'],
+ 'exitReason' => ['type' => 'string', 'example' => 'Exit Code: 137, Exit Reason: OOMKilled', 'description' => ''],
+ 'latestSqlStatementStatus' => ['type' => 'string', 'example' => 'SUCCESS', 'description' => ''],
+ 'runLog' => ['$ref' => '#/components/schemas/RunLog'],
+ 'kyuubiServiceId' => ['type' => 'string', 'example' => 'kb-2b93ec*******c9440c'],
+ 'tags' => [
+ 'type' => 'array',
+ 'items' => ['$ref' => '#/components/schemas/Tag'],
],
- ],
- 'endpoint' => [
- 'description' => '公网连接地址。',
- 'type' => 'string',
- 'example' => 'emr-spark-livy-gateway-cn-hangzhou.data.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx',
- ],
- 'createdBy' => [
- 'description' => '创建者名称。',
- 'type' => 'string',
- 'example' => 'alice',
- ],
- 'ramUserId' => [
- 'description' => '创建人ID。',
- 'type' => 'string',
- 'example' => '10000001',
- ],
- 'displayReleaseVersion' => [
- 'description' => 'Spark引擎版本号。',
- 'type' => 'string',
- 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'fusion' => [
- 'description' => '是否开启fusion开关。',
- 'type' => 'boolean',
- 'example' => 'false'."\n",
- ],
- 'startTime' => [
- 'description' => '启动时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456094000',
- ],
- 'gmtCreate' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1749456094000',
- ],
- 'environmentId' => [
- 'description' => '运行环境ID。',
- 'type' => 'string',
- 'example' => 'ev-cq31c7tlhtgm9nrrlj4g',
- ],
- 'endpointInner' => [
- 'description' => '内网连接地址。',
- 'type' => 'string',
- 'example' => 'emr-spark-livy-gateway-cn-hangzhou-internal.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx',
- ],
- 'networkName' => [
- 'description' => '网络连接名称。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'livyServerConf' => [
- 'description' => 'Livy Gateway配置,JSON格式,支持以下文件:'."\n"
- ."\n"
- .'- sparkDefaultsConf'."\n"
- .'- sparkBlackListConf'."\n"
- .'- livyConf'."\n"
- .'- livyClientConf',
- 'type' => 'string',
- 'example' => ' '."\n"
- .'{'."\n"
- .' "sparkDefaultsConf": "spark.driver.cores 1\\nspark.driver.memory 4g\\nspark.executor.cores 1\\nspark.executor.memory 4g\\n",'."\n"
- .' "sparkBlackListConf": "spark.driver.cores\\nspark.driver.memory",'."\n"
- .' "livyConf": "livy.server.session.timeout 1h\\n",'."\n"
- .' "livyClientConf": "livy.rsc.sql.num-rows 1000\\n"'."\n"
- .'}',
- ],
- 'enablePublic' => [
- 'description' => '公网地址开关状态。'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
+ 'priority' => ['type' => 'string', 'example' => '5'],
],
],
],
+ 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['description' => '下一页TOKEN。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"computeId\\": \\"lc-xxxxxxxxxxxxx\\",\\n \\"name\\": \\"test\\",\\n \\"livyVersion\\": \\"0.8.0\\",\\n \\"releaseVersion\\": \\"esr-4.3.0 (Spark 3.5.2, Scala 2.12, Java Runtime)\\\\n\\",\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpuLimit\\": \\"1\\",\\n \\"memoryLimit\\": \\"4Gi\\",\\n \\"autoStopConfiguration\\": {\\n \\"enable\\": false,\\n \\"idleTimeoutMinutes\\": 300\\n },\\n \\"authType\\": \\"Token\\",\\n \\"status\\": \\"RUNNING\\",\\n \\"endpoint\\": \\"emr-spark-livy-gateway-cn-hangzhou.data.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx\\",\\n \\"createdBy\\": \\"alice\\",\\n \\"ramUserId\\": \\"10000001\\",\\n \\"displayReleaseVersion\\": \\"esr-4.3.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"fusion\\": true,\\n \\"startTime\\": 1749456094000,\\n \\"gmtCreate\\": 1749456094000,\\n \\"environmentId\\": \\"ev-cq31c7tlhtgm9nrrlj4g\\",\\n \\"endpointInner\\": \\"emr-spark-livy-gateway-cn-hangzhou-internal.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx\\",\\n \\"networkName\\": \\"test\\",\\n \\"livyServerConf\\": \\"\\\\t\\\\n{\\\\n \\\\\\"sparkDefaultsConf\\\\\\": \\\\\\"spark.driver.cores 1\\\\\\\\nspark.driver.memory 4g\\\\\\\\nspark.executor.cores 1\\\\\\\\nspark.executor.memory 4g\\\\\\\\n\\\\\\",\\\\n \\\\\\"sparkBlackListConf\\\\\\": \\\\\\"spark.driver.cores\\\\\\\\nspark.driver.memory\\\\\\",\\\\n \\\\\\"livyConf\\\\\\": \\\\\\"livy.server.session.timeout 1h\\\\\\\\n\\\\\\",\\\\n \\\\\\"livyClientConf\\\\\\": \\\\\\"livy.rsc.sql.num-rows 1000\\\\\\\\n\\\\\\"\\\\n}\\",\\n \\"enablePublic\\": true\\n }\\n}","type":"json"}]',
- 'title' => '获取Livy Gateway信息',
- ],
- 'GetTemplate' => [
- 'summary' => '获取任务模板。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/template',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取Kyuubi提交的Spark应用详情列表',
+ 'summary' => 'ListKyuubiSparkApplications',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListKyuubiSparkApplications',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"applications\\": [\\n {\\n \\"applicationId\\": \\"spark-339f844005b6404c95f9f7c7a13b****\\",\\n \\"applicationName\\": \\"kyuubi-connection-spark-sql-anonymous-fa9a5e73-b4b1-474a-b****\\",\\n \\"webUI\\": \\"https://emr-spark-ui-cn-hangzhou.data.aliyun.com/history/w-cf351f3b6dcb****-spark-339f844005b6404c95f9f7c7a13b****/jobs/?spm=emr-serverless-spark.gateway_sessions.0.0.711344e3QfMVTz&token=NS9CU1lpWGl1Q2RRdi9sZUtuS3hy****\\",\\n \\"state\\": \\"STARTING\\",\\n \\"startTime\\": \\"2025-02-12 19:59:16\\",\\n \\"endTime\\": \\"2025-02-12 20:02:02\\",\\n \\"cuHours\\": 0.238302,\\n \\"mbSeconds\\": 3513900,\\n \\"vcoreSeconds\\": 780,\\n \\"resourceQueueId\\": \\"dev_queue\\",\\n \\"exitReason\\": \\"Exit Code: 137, Exit Reason: OOMKilled\\",\\n \\"latestSqlStatementStatus\\": \\"SUCCESS\\",\\n \\"runLog\\": {\\n \\"driverStdOut\\": \\"oss://bucket/path/to/stdout\\",\\n \\"driverStdError\\": \\"oss://bucket/path/to/stderr\\",\\n \\"driverSyslog\\": \\"oss://bucket/path/to/syslog\\",\\n \\"driverStartup\\": \\"oss://bucket/path/to/startup\\"\\n },\\n \\"kyuubiServiceId\\": \\"kb-2b93ec*******c9440c\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ],\\n \\"priority\\": \\"5\\"\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
+ ],
+ 'ListKyuubiToken' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '191100',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceUECZZL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
],
'parameters' => [
[
- 'name' => 'workspaceBizId',
+ 'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
- 'name' => 'templateType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '模板类型。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TASK',
- 'default' => 'TASK',
- 'enum' => [
- 'TASK',
- 'SESSION',
- ],
- ],
+ 'name' => 'kyuubiServiceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Kyuubi服务ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'templateBizId',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => '请求响应结构体。',
'type' => 'object',
'properties' => [
- 'httpStatusCode' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'errorCode' => [
- 'description' => '- 当success为false,返回业务错误码。'."\n"
- .' '."\n"
- .'- 当success为true,返回空值。',
- 'type' => 'string',
- 'example' => '040003',
- ],
- 'errorMessage' => [
- 'description' => '- 当success为false,返回业务错误信息;'."\n"
- ."\n"
- .'- 当success为true,返回空值。',
- 'type' => 'string',
- 'example' => 'InvalidUser.NotFound',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
'data' => [
'description' => '返回数据。',
- '$ref' => '#/components/schemas/Template',
- ],
- 'success' => [
- 'description' => '请求是否成功。',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'requestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '484D9DDA-300D-525E-AF7A-0CCCA5C64A7A',
+ 'type' => 'object',
+ 'properties' => [
+ 'tokens' => [
+ 'description' => 'Token列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Token记录。',
+ 'type' => 'object',
+ 'properties' => [
+ 'tokenId' => ['description' => 'Token ID。', 'type' => 'string', 'example' => 'tk-zpi0*****hdv4y'],
+ 'name' => ['description' => 'Token名称。', 'type' => 'string', 'example' => 'dev_serverless_spark'],
+ 'token' => ['description' => '遮蔽处理的Token。', 'type' => 'string', 'example' => 'dxj**********wfg'],
+ 'createdBy' => ['description' => '创建者名称。', 'type' => 'string', 'example' => 'admin'],
+ 'createTime' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1755496031000'],
+ 'expireTime' => ['description' => '过期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1787033891000'],
+ 'lastUsedTime' => ['description' => '上次使用时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1760366232121'],
+ 'memberArns' => [
+ 'description' => '授权用户arn列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '授权用户arn。', 'type' => 'string', 'example' => 'acs:emr::w-d2d82aa09155****:member/195****7311'],
+ ],
+ 'accountNames' => [
+ 'description' => '授权用户RAM账号名列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '授权用户RAM账号名。', 'type' => 'string', 'example' => 'dev-serverless-spark'],
+ ],
+ 'sparkRole' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string'],
+ ],
+ ],
+ ],
+ ],
+ ],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"httpStatusCode\\": \\"200\\",\\n \\"errorCode\\": \\"040003\\",\\n \\"errorMessage\\": \\"InvalidUser.NotFound\\",\\n \\"data\\": {\\n \\"templateType\\": \\"\\",\\n \\"gmtModified\\": \\"\\",\\n \\"creator\\": 0,\\n \\"sparkLogLevel\\": \\"\\",\\n \\"gmtCreated\\": \\"\\",\\n \\"sparkDriverMemory\\": 0,\\n \\"modifier\\": 0,\\n \\"sparkExecutorCores\\": 0,\\n \\"sparkConf\\": [\\n {\\n \\"value\\": \\"\\",\\n \\"key\\": \\"\\"\\n }\\n ],\\n \\"sparkVersion\\": \\"\\",\\n \\"sparkExecutorMemory\\": 0,\\n \\"fusion\\": true,\\n \\"isDefault\\": true,\\n \\"sparkDriverCores\\": 0,\\n \\"displaySparkVersion\\": \\"\\",\\n \\"sparkLogPath\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"bizId\\": \\"\\"\\n },\\n \\"success\\": true,\\n \\"requestId\\": \\"484D9DDA-300D-525E-AF7A-0CCCA5C64A7A\\"\\n}","type":"json"}]',
- 'title' => '获取EMR Serverless Spark任务模板信息',
- ],
- 'TerminateSqlStatement' => [
- 'summary' => '终止正在执行的SQL查询。',
- 'path' => '/api/interactive/v1/workspace/{workspaceId}/statement/{statementId}/terminate',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '列出Kyuubi Gateway认证Token',
+ 'summary' => '列出KyuubiServer认证Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"tokens\\": [\\n {\\n \\"tokenId\\": \\"tk-zpi0*****hdv4y\\",\\n \\"name\\": \\"dev_serverless_spark\\",\\n \\"token\\": \\"dxj**********wfg\\",\\n \\"createdBy\\": \\"admin\\",\\n \\"createTime\\": 1755496031000,\\n \\"expireTime\\": 1787033891000,\\n \\"lastUsedTime\\": 1760366232121,\\n \\"memberArns\\": [\\n \\"acs:emr::w-d2d82aa09155****:member/195****7311\\"\\n ],\\n \\"accountNames\\": [\\n \\"dev-serverless-spark\\"\\n ],\\n \\"sparkRole\\": [\\n \\"\\"\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'ListLivyCompute' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '224753',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeCode' => '222250',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceId',
+ 'name' => 'workspaceBizId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
],
[
- 'name' => 'statementId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '交互式查询ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'st-abcadfadf12****',
- ],
+ 'name' => 'environmentId',
+ 'in' => 'query',
+ 'schema' => ['description' => '运行环ID。', 'type' => 'string', 'required' => false, 'example' => 'ev-cq31c7tlhtgm9nrrlj4g'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -7003,123 +5496,113 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ 'data' => [
+ 'description' => '返回数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'livyComputes' => [
+ 'description' => 'Livy Gateway列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'computeId' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'example' => 'lc-xxxxxxxxxxxx'],
+ 'name' => ['description' => '名称。', 'type' => 'string', 'example' => 'test'],
+ 'queueName' => ['description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'status' => [
+ 'description' => '运行状态。',
+ 'type' => 'string',
+ 'example' => 'RUNNING',
+ 'enum' => ['RUNNING', 'STOPPED', 'STARTING', 'STOPPING', 'FAILED'],
+ ],
+ 'endpoint' => ['description' => '公网连接地址。', 'type' => 'string', 'example' => 'emr-spark-livy-gateway-cn-hangzhou.data.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx'],
+ 'createdBy' => ['description' => '创建者名称。', 'type' => 'string', 'example' => 'alice'],
+ 'gmtCreate' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456094000'],
+ 'startTime' => ['description' => '启动时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456094000'],
+ 'endpointInner' => ['description' => '内网连接地址。', 'type' => 'string', 'example' => 'emr-spark-livy-gateway-cn-hangzhou-internal.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx'],
+ ],
+ ],
+ ],
+ ],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '终止SQL查询',
- ],
- 'CreateSqlStatement' => [
- 'summary' => '创建SQL查询。',
- 'path' => '/api/interactive/v1/workspace/{workspaceId}/statement',
- 'methods' => [
- 'put',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '列出Livy Gateway',
+ 'summary' => '列出Livy Gateway。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"livyComputes\\": [\\n {\\n \\"computeId\\": \\"lc-xxxxxxxxxxxx\\",\\n \\"name\\": \\"test\\",\\n \\"queueName\\": \\"root_queue\\",\\n \\"status\\": \\"RUNNING\\",\\n \\"endpoint\\": \\"emr-spark-livy-gateway-cn-hangzhou.data.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx\\",\\n \\"createdBy\\": \\"alice\\",\\n \\"gmtCreate\\": 1749456094000,\\n \\"startTime\\": 1749456094000,\\n \\"endpointInner\\": \\"emr-spark-livy-gateway-cn-hangzhou-internal.aliyun.com/api/v1/workspace/w-xxxxxxxxx/livycompute/lc-xxxxxxxxxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'ListLivyComputeSessions' => [
+ 'summary' => '获取Livy Gateway的历史Session。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/livycompute/{livyComputeId}/session',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'readAndWrite',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '224750',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeCode' => '246258',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
+ 'autoTest' => false,
+ 'notSupportAutoTestReason' => '不支持',
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'title' => 'A short description of struct',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-26ca1703f6d****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d80f373d3ace824f'],
],
[
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'flat',
- 'schema' => [
- 'description' => '创建SQL查询请求体。',
- 'type' => 'object',
- 'properties' => [
- 'codeContent' => [
- 'description' => 'SQL代码。允许传入一条或多条SQL语句进行执行。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SHOW TABLES',
- ],
- 'defaultDatabase' => [
- 'description' => '默认数据库名。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'default',
- ],
- 'limit' => [
- 'description' => 'limit值,取值范围:1~10000。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1000',
- 'default' => '1000',
- ],
- 'defaultCatalog' => [
- 'description' => '默认DLF Catalog ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'default_catalog',
- ],
- 'sqlComputeId' => [
- 'description' => 'SQL会话ID。需要在EMR Serverless Spark工作空间的会话管理模块内创建。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'sc-dfahdfjafhajd****',
- ],
- 'taskBizId' => [
- 'type' => 'string',
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
+ 'name' => 'livyComputeId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-zm4dzdiubu73w2yx'],
+ ],
+ [
+ 'name' => 'pageNum',
+ 'in' => 'query',
+ 'schema' => ['description' => '页码,默认值 1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'pageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '返回结果的分页数。默认值:20,最小值:1,最大值:100。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -7129,95 +5612,91 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'data' => [
- 'description' => '返回结果。',
- 'type' => 'object',
- 'properties' => [
- 'statementId' => [
- 'description' => '交互式查询ID。',
- 'type' => 'string',
- 'example' => 'st-1231dfafadfa***',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '8FAA8EEC-3026-5D15-8733-4E2A3DD970A1'],
+ 'totalCount' => ['description' => '总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ 'sessions' => [
+ 'description' => 'Session列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'Session名称。', 'type' => 'string', 'example' => 'test_session'],
+ 'computeId' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'example' => 'lc-xxxxxx'],
+ 'sessionId' => ['description' => 'Livy Gateway Session的ID。', 'type' => 'string', 'example' => 'livy-xxxxxx'],
+ 'sparkConf' => ['description' => 'Spark任务配置。', 'type' => 'string', 'example' => '{'."\n"
+ .' "proxyUser": "test",'."\n"
+ .' "conf": {'."\n"
+ .' "spark.driver.cores": 1'."\n"
+ .' }'."\n"
+ .'}'],
+ 'state' => [
+ 'description' => 'Session状态。'."\n"
+ .'- starting:启动中。'."\n"
+ .'- running:运行中。'."\n"
+ .'- terminating:正在停止。'."\n"
+ .'- terminated:已停止。'."\n"
+ .'- error:已失败。',
+ 'type' => 'string',
+ 'example' => 'running',
+ 'enum' => ['starting', 'running', 'error', 'terminated', 'terminating'],
+ ],
+ 'info' => ['description' => '运行信息。', 'type' => 'string', 'example' => 'null'],
+ 'createTime' => ['description' => '创建时间,unix毫秒级别时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1768213240000'],
+ 'webUI' => ['description' => 'Session的Web UI地址。', 'type' => 'string', 'example' => 'http://emr-spark-ui-cn-hangzhou.data.aliyun.com'],
+ 'endTime' => ['description' => '结束时间,unix毫秒级别时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1768213240000'],
+ 'queue' => ['description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'cuHours' => ['description' => '任务运行周期内所消耗的 CU 数量(该值为预估值,最终以账单为准)。', 'type' => 'number', 'format' => 'double', 'example' => '322.5'],
+ 'vcoreSeconds' => ['description' => '任务已分配的 vcore 总量乘以任务已运行的秒数。', 'type' => 'integer', 'format' => 'int64', 'example' => '343'],
+ 'mbSeconds' => ['description' => '任务已分配的内存总量乘以任务已运行的秒数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1098888'],
+ ],
+ 'description' => '',
],
],
- 'requestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '列出Livy Gateway的历史Session',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"data\\": {\\n \\"statementId\\": \\"st-1231dfafadfa***\\"\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '创建SQL查询',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FAA8EEC-3026-5D15-8733-4E2A3DD970A1\\",\\n \\"totalCount\\": 10,\\n \\"sessions\\": [\\n {\\n \\"name\\": \\"test_session\\",\\n \\"computeId\\": \\"lc-xxxxxx\\",\\n \\"sessionId\\": \\"livy-xxxxxx\\",\\n \\"sparkConf\\": \\"{\\\\n \\\\\\"proxyUser\\\\\\": \\\\\\"test\\\\\\",\\\\n \\\\\\"conf\\\\\\": {\\\\n \\\\\\"spark.driver.cores\\\\\\": 1\\\\n }\\\\n}\\",\\n \\"state\\": \\"running\\",\\n \\"info\\": \\"null\\",\\n \\"createTime\\": 1768213240000,\\n \\"webUI\\": \\"http://emr-spark-ui-cn-hangzhou.data.aliyun.com\\",\\n \\"endTime\\": 1768213240000,\\n \\"queue\\": \\"root_queue\\",\\n \\"cuHours\\": 322.5,\\n \\"vcoreSeconds\\": 343,\\n \\"mbSeconds\\": 1098888\\n }\\n ]\\n}","type":"json"}]',
],
- 'GetSqlStatement' => [
- 'summary' => '获取SQL查询详情。',
- 'path' => '/api/interactive/v1/workspace/{workspaceId}/statement/{statementId}',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListLivyComputeToken' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '224752',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '222370',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceId',
+ 'name' => 'workspaceBizId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
],
[
- 'name' => 'statementId',
+ 'name' => 'livyComputeId',
'in' => 'path',
- 'schema' => [
- 'description' => '交互式查询ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'st-2dadfhajk11cv****',
- ],
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-zm4dzdiubu73w2yx'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -7227,1236 +5706,870 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
'data' => [
'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'statementId' => [
- 'description' => '查询ID。',
- 'type' => 'string',
- 'example' => 'st-1231311abadfaa',
- ],
- 'state' => [
- 'description' => '查询状态。',
- 'type' => 'string',
- 'enumValueTitles' => [
- 'running' => 'running',
- 'available' => 'available',
- 'cancelled' => 'cancelled',
- 'error' => 'error',
- 'cancelling' => 'cancelling',
- ],
- 'example' => 'running',
- 'enum' => [
- 'running',
- 'error',
- 'waiting',
- 'cancelling',
- 'cancelled',
- 'available',
- 'success',
- ],
- ],
- 'sqlOutputs' => [
- 'description' => 'SQL查询结果列表',
+ 'tokens' => [
+ 'description' => 'Token列表。',
'type' => 'array',
'items' => [
- 'description' => '单个SQL查询结果',
+ 'description' => 'Token信息。',
'type' => 'object',
'properties' => [
- 'rows' => [
- 'description' => '查询数据,格式为经过JSON序列化的字符串。',
- 'type' => 'string',
- 'example' => '[{\\"values\\":[\\"test_db\\",\\"test_table\\",false]}',
- ],
- 'schema' => [
- 'description' => 'Schema的详细信息,格式为经过JSON序列化的字符串。',
- 'type' => 'string',
- 'example' => '{\\"type\\":\\"struct\\",\\"fields\\":[{\\"name\\":\\"namespace\\",\\"type\\":\\"string\\",\\"nullable\\":false,\\"metadata\\":{}},{\\"name\\":\\"tableName\\",\\"type\\":\\"string\\",\\"nullable\\":false,\\"metadata\\":{}},{\\"name\\":\\"isTemporary\\",\\"type\\":\\"boolean\\",\\"nullable\\":false,\\"metadata\\":{}}]}',
- ],
- 'rowsFilePath' => [
- 'type' => 'string',
- ],
+ 'tokenId' => ['description' => 'Token ID。', 'type' => 'string', 'example' => 'lctk-xxxxxxxxxxx'],
+ 'name' => ['description' => 'Token名称。', 'type' => 'string', 'example' => 'test'],
+ 'token' => ['description' => 'Token内容。', 'type' => 'string', 'example' => '5d37843fb6f1e8'],
+ 'createdby' => ['description' => 'Token创建人。', 'type' => 'string', 'example' => 'alice'],
+ 'createTime' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456094000'],
+ 'expireTime' => ['description' => '过期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456994000'],
+ 'lastUsedTime' => ['description' => '上次使用时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1749456098000'],
],
],
],
- 'sqlErrorCode' => [
- 'description' => 'SQL查询错误码。',
- 'type' => 'string',
- 'example' => 'ERROR-102',
- ],
- 'sqlErrorMessage' => [
- 'description' => 'SQL查询错误信息。',
- 'type' => 'string',
- 'example' => 'error message',
- ],
- 'executionTime' => [
- 'description' => 'SQL查询耗时列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '每个SQL查询消耗时间,单位毫秒。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1717138731701',
- ],
- ],
],
],
- 'requestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"data\\": {\\n \\"statementId\\": \\"st-1231311abadfaa\\",\\n \\"state\\": \\"running\\",\\n \\"sqlOutputs\\": [\\n {\\n \\"rows\\": \\"[{\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"test_db\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"test_table\\\\\\\\\\\\\\",false]}\\",\\n \\"schema\\": \\"{\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"struct\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"fields\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"namespace\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nullable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{}},{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"tableName\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nullable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{}},{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"isTemporary\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"boolean\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nullable\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{}}]}\\",\\n \\"rowsFilePath\\": \\"\\"\\n }\\n ],\\n \\"sqlErrorCode\\": \\"ERROR-102\\",\\n \\"sqlErrorMessage\\": \\"error message\\",\\n \\"executionTime\\": [\\n 1717138731701\\n ]\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '获取SQL查询详情',
- ],
- 'ListSqlStatementContents' => [
- 'summary' => '获取sql statement内容。',
- 'path' => '/api/v1/workspaces/{workspaceId}/action/listSqlStatementContents',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '列出Livy Gateway的Token',
+ 'summary' => '列出Livy Gateway的Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"tokens\\": [\\n {\\n \\"tokenId\\": \\"lctk-xxxxxxxxxxx\\",\\n \\"name\\": \\"test\\",\\n \\"token\\": \\"5d37843fb6f1e8\\",\\n \\"createdby\\": \\"alice\\",\\n \\"createTime\\": 1749456094000,\\n \\"expireTime\\": 1749456994000,\\n \\"lastUsedTime\\": 1749456098000\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'ListLogContents' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/action/listLogContents',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceLNUXSK',
- ],
+ 'abilityTreeCode' => '194779',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
'name' => 'fileName',
'in' => 'query',
- 'schema' => [
- 'description' => '文件全路径名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'oss://oss-****.cn-hangzhou.oss-dls.aliyuncs.com/w-86a9a4da*****a1/spark/logs/jr-b737b****6164d/driver/st-afde7******bb3f',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => '文件全路径名称。', 'type' => 'string', 'required' => false, 'example' => 'oss://datadev******.cn-hangzhou.oss-dls.aliyuncs.com/w-72704d9fb0******/spark/logs/jr-af51aa63cc******/driver/stdout.log'],
],
[
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间 ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-72704d9fb0******',
- ],
+ 'name' => 'offset',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => '查询开始行。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
],
[
- 'name' => 'nextToken',
+ 'name' => 'length',
'in' => 'query',
- 'schema' => [
- 'description' => '标记当前开始读取的位置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => '日志长度。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '9999'],
],
[
- 'name' => 'maxResults',
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-72704d9fb0******'],
+ ],
+ [
+ 'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '2000',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '返回数据。',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'sqlStatementContents' => [
- 'description' => 'SQL执行结果内容。',
+ 'listLogContent' => [
+ 'description' => '日志内容。',
'type' => 'object',
'properties' => [
'contents' => [
- 'description' => 'SQL执行结果内容列表。',
- 'type' => 'string',
- 'example' => '[{\\"values\\":[\\"wj*****\\",\\"test\\",\\"2025-04-15\\"]}]',
- ],
- 'nextToken' => [
- 'description' => '标记当前开始读取的位置。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'maxResults' => [
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2000',
- ],
- 'totalCount' => [
- 'description' => '结果总行数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '40000',
+ 'description' => '日志行内容列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'LineContent' => ['description' => '日志行内容。', 'type' => 'string', 'example' => 'spark pi is 3.14\\n'],
+ ],
+ ],
],
+ 'totalLength' => ['description' => '日志总行数。', 'type' => 'integer', 'format' => 'int64', 'example' => '10'],
],
],
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求 ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n",
- ],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sqlStatementContents\\": {\\n \\"contents\\": \\"[{\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"wj*****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"test\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"2025-04-15\\\\\\\\\\\\\\"]}]\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 2000,\\n \\"totalCount\\": 40000\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\"\\n}","type":"json"}]',
- 'title' => '查询SQL会话执行结果',
- ],
- 'CreateWorkspace' => [
- 'summary' => '创建工作空间。',
- 'path' => '/api/v1/workspaces',
- 'methods' => [
- 'post',
+ 'title' => '查询日志内容',
+ 'summary' => '获取日志内容。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListLogContents',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"listLogContent\\": {\\n \\"contents\\": [\\n {\\n \\"LineContent\\": \\"spark pi is 3.14\\\\\\\\n\\"\\n }\\n ],\\n \\"totalLength\\": 10\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'ListMembers' => [
+ 'path' => '/api/v1/auth/{workspaceId}/members',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '191902',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce0SZW92'],
],
'parameters' => [
[
- 'name' => 'body',
- 'in' => 'body',
+ 'name' => 'nextToken',
+ 'in' => 'query',
'allowEmptyValue' => false,
- 'style' => 'json',
+ 'schema' => ['title' => '标记当前开始读取的位置。', 'description' => '标记当前开始读取的位置。', 'type' => 'string', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
+ ],
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-975bcfda9625****'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '请求结构体',
+ 'title' => '返回数据',
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'workspaceName' => [
- 'description' => '工作空间名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'default',
- ],
- 'resourceSpec' => [
- 'description' => '资源规格。',
- 'type' => 'object',
- 'properties' => [
- 'cu' => [
- 'description' => '工作空间资源上限。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1000',
- ],
- ],
- 'required' => false,
- ],
- 'ossBucket' => [
- 'description' => 'OSS Bucket。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'oss://test-bucket/',
- ],
- 'dlfCatalogId' => [
- 'description' => 'DLF Catalog信息。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '123xxxxx',
- ],
- 'paymentType' => [
- 'description' => '实例的付费模式。可选值:'."\n"
- ."\n"
- .'- PayAsYouGo:按量付费'."\n"
- .'- Pre:包年包月',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'PayAsYouGo',
- ],
- 'paymentDurationUnit' => [
- 'description' => '订购周期。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1000',
- ],
- 'duration' => [
- 'description' => '订购周期数量(pre付费类型必填)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '12452',
- ],
- 'autoRenew' => [
- 'description' => '是否自动续费(pre付费类型必填)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'false',
- ],
- 'autoRenewPeriod' => [
- 'description' => '自动续费时长(pre付费类型必填)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '100',
- ],
- 'autoRenewPeriodUnit' => [
- 'description' => '自动续费周期(pre付费类型必填)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'month',
- ],
- 'clientToken' => [
- 'description' => '幂等校验TOKEN。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '8e6aae2810c8f67229ca70bb31cd****',
- ],
- 'ramRoleName' => [
- 'description' => 'Spark作业执行角色名。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AliyunEMRSparkJobRunDefaultRole',
- ],
- 'autoStartSessionCluster' => [
- 'description' => '是否自动启动Session。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'releaseType' => [
- 'description' => '版本类型。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'pro',
- ],
- 'dlfType' => [
- 'description' => '绑定dlf类型。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dlf1.0',
- 'default' => '1.0',
- ],
- 'tag' => [
- 'description' => '标签列表。',
+ 'members' => [
+ 'description' => '成员列表。',
'type' => 'array',
'items' => [
- 'description' => '标签。',
+ 'description' => '成员。',
'type' => 'object',
'properties' => [
- 'key' => [
- 'description' => '标签键。',
+ 'memberArn' => ['title' => '用户 arn。', 'description' => '用户 arn。', 'type' => 'string', 'example' => 'acs:emr::w-1234****abcd:member/202265*****276'],
+ 'userName' => ['title' => '用户名称。', 'description' => '用户名称。', 'type' => 'string', 'example' => 'jia***test@195*****7311.onaliyun.com'],
+ 'displayName' => ['title' => '用户展示名称。', 'description' => '用户展示名称。', 'type' => 'string', 'example' => 'jia***test'],
+ 'userType' => [
+ 'title' => '用户类型。',
+ 'description' => '用户类型。'."\n"
+ .'- ROLE'."\n"
+ .'- MEMBER',
'type' => 'string',
- 'required' => false,
- 'example' => 'key',
+ 'enumValueTitles' => [],
+ 'example' => 'MEMBER',
],
- 'value' => [
- 'description' => '标签值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'value',
+ 'roles' => [
+ 'title' => '用户角色列表。',
+ 'description' => '工作空间内角色列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '用户角色。',
+ 'type' => 'object',
+ 'properties' => [
+ 'roleArn' => ['title' => '角色 arn。', 'description' => '角色 arn。', 'type' => 'string', 'example' => 'acs:emr::w-1234****abcd:role/DataScience'],
+ 'roleName' => ['title' => '角色名称。', 'description' => '角色名称。', 'type' => 'string', 'example' => 'DataScience'],
+ 'description' => ['title' => '描述。', 'description' => '描述。', 'type' => 'string', 'example' => 'DataScience'],
+ 'createTime' => ['title' => '创建时间。', 'description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1753412502000'],
+ 'actions' => [
+ 'title' => '权限列表。',
+ 'description' => '权限列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'actionArn' => ['title' => '行为 arn。', 'description' => '行为 arn。', 'type' => 'string', 'example' => 'acs:emr::w-1234****abcd:action/add_MEMBER'],
+ 'actionName' => ['title' => '权限名称。', 'description' => '权限名称。', 'type' => 'string', 'example' => 'add'],
+ 'displayName' => ['title' => '权限展示名称。', 'description' => '权限展示名称。', 'type' => 'string', 'example' => 'add members'],
+ 'description' => ['title' => 'action 描述。', 'description' => 'action 描述。', 'type' => 'string', 'example' => 'add members'."\n"],
+ 'dependencies' => [
+ 'title' => 'action 依赖列表。',
+ 'description' => 'action 依赖列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '依赖。', 'type' => 'string', 'example' => 'VIEW'],
+ 'example' => '["view"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
],
+ 'actions' => [
+ 'title' => '针对此用户允许的操作列表。',
+ 'description' => '针对此用户允许的操作列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'actionArn' => ['title' => '行为 arn。', 'description' => '行为 arn。', 'type' => 'string', 'example' => 'acs:emr::w-1234****abcd:action/add_MEMBER'],
+ 'actionName' => ['title' => '权限名称。', 'description' => '权限名称。', 'type' => 'string', 'example' => 'add'],
+ 'displayName' => ['title' => '权限展示名称。', 'description' => '权限展示名称。', 'type' => 'string', 'example' => 'add members'],
+ 'description' => ['title' => 'action 描述。', 'description' => 'action 描述。', 'type' => 'string', 'example' => 'add members'],
+ 'dependencies' => [
+ 'title' => 'action 依赖列表。',
+ 'description' => 'action 依赖列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '依赖。', 'type' => 'string', 'example' => 'VIEW'],
+ 'example' => '["view"]',
+ ],
+ ],
+ ],
+ ],
+ 'visible' => ['description' => '是否可见。', 'type' => 'boolean', 'example' => 'true'],
+ 'createTime' => ['description' => '创建时间。', 'type' => 'string', 'example' => '1753412502000'],
],
- 'required' => false,
],
- 'required' => false,
- 'maxItems' => 20,
],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['title' => '下一页TOKEN。', 'description' => '下一页TOKEN。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['title' => '记录总数。', 'description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
- 'required' => false,
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取成员列表',
+ 'summary' => '调用ListMembers查看工作空间成员列表。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListMembers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"members\\": [\\n {\\n \\"memberArn\\": \\"acs:emr::w-1234****abcd:member/202265*****276\\",\\n \\"userName\\": \\"jia***test@195*****7311.onaliyun.com\\",\\n \\"displayName\\": \\"jia***test\\",\\n \\"userType\\": \\"MEMBER\\",\\n \\"roles\\": [\\n {\\n \\"roleArn\\": \\"acs:emr::w-1234****abcd:role/DataScience\\",\\n \\"roleName\\": \\"DataScience\\",\\n \\"description\\": \\"DataScience\\",\\n \\"createTime\\": 1753412502000,\\n \\"actions\\": [\\n {\\n \\"actionArn\\": \\"acs:emr::w-1234****abcd:action/add_MEMBER\\",\\n \\"actionName\\": \\"add\\",\\n \\"displayName\\": \\"add members\\",\\n \\"description\\": \\"add members\\\\n\\",\\n \\"dependencies\\": [\\n \\"VIEW\\"\\n ]\\n }\\n ]\\n }\\n ],\\n \\"actions\\": [\\n {\\n \\"actionArn\\": \\"acs:emr::w-1234****abcd:action/add_MEMBER\\",\\n \\"actionName\\": \\"add\\",\\n \\"displayName\\": \\"add members\\",\\n \\"description\\": \\"add members\\",\\n \\"dependencies\\": [\\n \\"VIEW\\"\\n ]\\n }\\n ],\\n \\"visible\\": true,\\n \\"createTime\\": \\"1753412502000\\"\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
+ ],
+ 'ListNetworkServices' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/networkServices',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '208335',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '返回数据',
- 'description' => '返回数据',
+ 'description' => '请求响应结构体。',
'type' => 'object',
'properties' => [
- 'workspaceId' => [
- 'title' => 'Workspace Id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-******',
- ],
- 'operationId' => [
- 'title' => 'Operation Id。',
- 'description' => '操作流程ID。',
- 'type' => 'string',
- 'example' => 'op-******',
+ 'queues' => [
+ 'description' => '已过期参数。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '已过期参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'w-d2d82aa09155****'],
+ 'networkServiceId' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'ns-d7a1d02045fb****'."\n"],
+ 'name' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'test'],
+ 'type' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'NetworkService'],
+ 'vpcId' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'vpc-uf6k2anfa9nzbm4cj****'],
+ 'vswitchIds' => [
+ 'description' => '已过期参数。',
+ 'type' => 'array',
+ 'items' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'vsw-bp1yc4kfdjxq9s1zn****'],
+ ],
+ 'state' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'running'],
+ 'stateChangeReason' => [
+ 'description' => '已过期参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'code'],
+ 'message' => ['description' => '已过期参数。', 'type' => 'string', 'example' => 'message'],
+ ],
+ ],
+ ],
+ ],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
+ 'networkServices' => [
+ 'description' => '网络连接列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网络连接。',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-d2d82aa09155****'."\n"],
+ 'networkServiceId' => ['description' => '网络连接id。', 'type' => 'string', 'example' => 'ns-d7a1d02045fb****'],
+ 'name' => ['description' => '网络连接名称。', 'type' => 'string', 'example' => 'vpc_test'],
+ 'type' => ['description' => '类型。', 'type' => 'string', 'example' => 'NetworkService'],
+ 'vpcId' => ['description' => 'VPC id。', 'type' => 'string', 'example' => 'vpc-bp1vt6r7o1w4tw7j6****'],
+ 'vswitchIds' => [
+ 'description' => '交换机id列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '交换机id。', 'type' => 'string', 'example' => 'vsw-bp1yc4kfdjxq9s1zn****'],
+ ],
+ 'state' => ['description' => '状态。', 'type' => 'string', 'example' => 'running'],
+ 'stateChangeReason' => [
+ 'description' => '状态改变原因。',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => '状态码。', 'type' => 'string', 'example' => 'code'],
+ 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'message'],
+ ],
+ ],
+ ],
+ ],
],
+ 'nextToken' => ['title' => '下一页TOKEN。', 'description' => '下一页TOKEN。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['title' => '记录总数。', 'description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
+ 'requestId' => ['description' => '请求id。', 'type' => 'string', 'example' => '18C7775A-7995-128A-A10C-9116EA87****'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"workspaceId\\": \\"w-******\\",\\n \\"operationId\\": \\"op-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '创建工作空间',
- ],
- 'ListWorkspaces' => [
- 'summary' => '调用ListWorkspaces获取工作空间列表。',
- 'path' => '/api/v1/workspaces',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取网络连接列表',
+ 'summary' => '获取网络连接列表。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"queues\\": [\\n {\\n \\"workspaceId\\": \\"w-d2d82aa09155****\\",\\n \\"networkServiceId\\": \\"ns-d7a1d02045fb****\\\\n\\",\\n \\"name\\": \\"test\\",\\n \\"type\\": \\"NetworkService\\",\\n \\"vpcId\\": \\"vpc-uf6k2anfa9nzbm4cj****\\",\\n \\"vswitchIds\\": [\\n \\"vsw-bp1yc4kfdjxq9s1zn****\\"\\n ],\\n \\"state\\": \\"running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"code\\",\\n \\"message\\": \\"message\\"\\n }\\n }\\n ],\\n \\"networkServices\\": [\\n {\\n \\"workspaceId\\": \\"w-d2d82aa09155****\\\\n\\",\\n \\"networkServiceId\\": \\"ns-d7a1d02045fb****\\",\\n \\"name\\": \\"vpc_test\\",\\n \\"type\\": \\"NetworkService\\",\\n \\"vpcId\\": \\"vpc-bp1vt6r7o1w4tw7j6****\\",\\n \\"vswitchIds\\": [\\n \\"vsw-bp1yc4kfdjxq9s1zn****\\"\\n ],\\n \\"state\\": \\"running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"code\\",\\n \\"message\\": \\"message\\"\\n }\\n }\\n ],\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200,\\n \\"requestId\\": \\"18C7775A-7995-128A-A10C-9116EA87****\\"\\n}","type":"json"}]',
+ ],
+ 'ListRayCluster' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '192019',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
- 'name' => 'nextToken',
- 'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '标记当前开始读取的位置。',
- 'description' => '标记当前开始读取的位置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'maxResults',
- 'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'name',
- 'in' => 'query',
- 'schema' => [
- 'description' => '工作空间的名称,支持根据工作空间名称进行模糊搜索。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test_workspace',
- ],
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
],
[
- 'name' => 'state',
+ 'name' => 'pageSize',
'in' => 'query',
- 'schema' => [
- 'description' => '工作空间状态',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'running',
- ],
+ 'schema' => ['title' => '返回结果的分页数。默认值:20。', 'description' => '返回结果的分页数。默认值:20,最小1,最大100。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
],
[
- 'name' => 'regionId',
+ 'name' => 'pageNum',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'tag',
- 'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'key' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'value' => [
- 'type' => 'string',
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['title' => '页码。', 'description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据。',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'workspaces' => [
- 'description' => '工作空间列表。',
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'rayClusters' => [
+ 'title' => 'Ray集群列表。',
+ 'description' => 'Ray集群列表。',
'type' => 'array',
'items' => [
- 'description' => '工作空间详情。',
+ 'title' => 'Ray集群结构体。',
+ 'description' => 'Ray集群结构体。',
'type' => 'object',
'properties' => [
- 'workspaceId' => [
- 'title' => 'Workspace Id。',
- 'description' => 'Workspace ID。',
- 'type' => 'string',
- 'example' => 'w-******',
- ],
- 'workspaceName' => [
- 'title' => '工作空间名称。',
- 'description' => '工作空间名称。',
- 'type' => 'string',
- 'example' => 'spark批作业空间-1',
- ],
- 'resourceSpec' => [
- 'title' => '资源规格。',
- 'description' => '资源规格。',
- 'type' => 'string',
- 'example' => '100cu',
- ],
- 'storage' => [
- 'title' => 'oss 路径。',
- 'description' => 'OSS路径。',
- 'type' => 'string',
- 'example' => 'spark-result',
- ],
- 'dlfCatalogId' => [
- 'title' => 'dlf catalog 信息。',
- 'description' => 'DLF Catalog信息。',
- 'type' => 'string',
- 'example' => 'default',
- ],
- 'paymentType' => [
- 'title' => '付费类型。',
- 'description' => '付费类型。',
- 'type' => 'string',
- 'example' => 'PayAsYouGo or Subscription',
- ],
- 'paymentDurationUnit' => [
- 'title' => '订购周期(pre付费类型必须)。',
- 'description' => '订购周期(pre付费类型必填)。',
- 'type' => 'string',
- 'example' => 'YEAR, MONTH, WEEK, DAY, HOUR, MINUTE',
- ],
- 'duration' => [
- 'title' => '订购周期数量(pre付费类型必须)。',
- 'description' => '订购周期数量(pre付费类型必填)。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'autoRenew' => [
- 'title' => '是否自动续费(pre付费类型必须)。',
- 'description' => '是否自动续费(pre付费类型必填)。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'autoRenewPeriod' => [
- 'title' => '自动续费时长(pre付费类型必须)。',
- 'description' => '自动续费时长(pre付费类型必填)。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'autoRenewPeriodUnit' => [
- 'title' => '自动续费周期(pre付费类型必须)。',
- 'description' => '自动续费周期(pre付费类型必填)。',
- 'type' => 'string',
- 'example' => 'YEAR, MONTH, WEEK, DAY, HOUR, MINUTE',
- ],
- 'workspaceStatus' => [
- 'title' => '工作空间状态。',
- 'description' => '工作空间状态。',
- 'type' => 'string',
- 'example' => 'STARTING,RUNNING,TERMINATED',
- ],
- 'failReason' => [
- 'title' => '失败原因。',
- 'description' => '失败原因。',
- 'type' => 'string',
- 'example' => 'out of stock',
- ],
- 'paymentStatus' => [
- 'title' => '支付状态。',
- 'description' => '支付状态。',
- 'type' => 'string',
- 'example' => 'PAID/UNPAID',
- ],
- 'regionId' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'example' => 'cn-shanghai',
- ],
- 'createTime' => [
- 'description' => '工作空间创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1684115879955',
- ],
- 'endTime' => [
- 'description' => '工作空间释放时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1687103999999',
- ],
- 'stateChangeReason' => [
- 'description' => '工作空间状态的变更信息。',
- 'type' => 'object',
- 'properties' => [
- 'code' => [
- 'description' => '错误码。',
- 'type' => 'string',
- 'example' => '0',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'Success',
- ],
- ],
- ],
- 'releaseType' => [
- 'description' => '工作空间释放原因。',
- 'type' => 'string',
- 'example' => 'SERVICE_RELEASE',
- ],
- 'dlfType' => [
- 'description' => '绑定dlf类型。',
- 'type' => 'string',
- 'example' => '1.0',
- ],
- 'prePaidQuota' => [
- 'description' => '预付费资源配额的信息。',
+ 'clusterId' => ['title' => '集群ID。', 'description' => '集群ID。', 'type' => 'string', 'example' => 'ray-uiulpgow9xljimm1'],
+ 'name' => ['title' => 'Ray集群名称。', 'description' => 'Ray集群名称。', 'type' => 'string', 'example' => 'testRayCluster'],
+ 'displayReleaseVersion' => ['title' => 'Ray引擎版本。', 'description' => 'Ray引擎版本。', 'type' => 'string', 'example' => 'ray-1.0.0 (Ray 2.47.1, Python 3.12)'],
+ 'description' => ['title' => '描述。', 'description' => '描述。', 'type' => 'string', 'example' => 'Ray Cluster for dev.'],
+ 'networkServiceName' => ['title' => '网络连接名称。', 'description' => '网络连接名称。', 'type' => 'string', 'example' => 'vpc'],
+ 'headSpec' => [
+ 'title' => 'Ray集群Head节点信息。',
+ 'description' => 'Ray集群Head节点信息。',
'type' => 'object',
'properties' => [
- 'usedResource' => [
- 'description' => '当前已使用的资源量。',
- 'type' => 'string',
- 'example' => '{\\"cpu\\":\\"0\\",\\"memory\\":\\"0Gi\\",\\"cu\\":\\"0\\"}',
- ],
- 'maxResource' => [
- 'description' => '可使用的最大资源量。',
- 'type' => 'string',
- 'example' => '{\\"cpu\\":\\"1\\",\\"memory\\":\\"4Gi\\",\\"cu\\":\\"1\\"}',
- ],
- 'allocatedResource' => [
- 'description' => '当前已分配的资源量。',
- 'type' => 'string',
- 'example' => '{\\"cpu\\":\\"1\\",\\"memory\\":\\"4Gi\\",\\"cu\\":\\"1\\"}',
- ],
- 'createTime' => [
- 'description' => '资源配额的创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1745683200000',
- ],
- 'expireTime' => [
- 'description' => '资源配额的过期时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1740537153000',
- ],
- 'autoRenewal' => [
- 'description' => '资源是否开启了自动续费功能。'."\n"
- ."\n"
- .'- true:开启自动续费,资源到期后会自动续订。'."\n"
- .'- false:未开启自动续费,资源到期后将停止使用。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'paymentStatus' => [
- 'description' => '当前资源的支付状态。取值如下:'."\n"
- .'- NORMAL:有效中。'."\n"
- .'- WAIT_FOR_EXPIRE:将过期。'."\n"
- .'- EXPIRED:已过期。',
- 'type' => 'string',
- 'example' => 'NORMAL',
- ],
- 'instanceId' => [
- 'description' => '与该配额关联的资源实例ID。',
- 'type' => 'string',
- 'example' => 'i-abc12345',
- ],
- 'orderId' => [
- 'type' => 'string',
- ],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'example' => '8Gi'],
+ 'enableAutoScaling' => ['title' => 'Worker节点是否开启自动扩缩容。', 'description' => 'Worker节点是否开启自动扩缩容。', 'type' => 'boolean', 'example' => 'false'],
+ 'idleTimeoutSeconds' => ['title' => 'Worker节点Idle时间。', 'description' => 'Worker节点Idle时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
+ 'replica' => ['title' => '节点数量。', 'description' => '节点数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'gpuSpec' => ['type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
],
],
- 'tags' => [
+ 'workerSpec' => [
+ 'title' => 'Ray集群Worker信息。',
+ 'description' => 'Ray集群Worker信息。',
'type' => 'array',
'items' => [
+ 'title' => 'Ray集群Worker信息结构体。',
+ 'description' => 'Ray集群Worker信息结构体。',
'type' => 'object',
'properties' => [
- 'tagKey' => [
- 'type' => 'string',
- ],
- 'tagValue' => [
+ 'groupName' => ['title' => 'Worker组名称。', 'description' => 'Worker组名称。', 'type' => 'string', 'example' => 'Group1'],
+ 'workerType' => [
+ 'title' => 'Worker类型。',
+ 'description' => 'Worker类型。',
'type' => 'string',
+ 'example' => 'CPU',
+ 'enum' => ['CPU'],
],
+ 'replica' => ['title' => '节点数量。', 'description' => '节点数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'example' => '8Gi'],
+ 'minReplica' => ['title' => '开启自动扩缩容后最小Worker数量。', 'description' => '开启自动扩缩容后最小Worker数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'maxReplica' => ['title' => '开启自动扩缩容后最大Worker数量。', 'description' => '开启自动扩缩容后最大Worker数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ 'gpuSpec' => ['type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
],
],
],
+ 'state' => [
+ 'title' => '集群状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。',
+ 'description' => '集群状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。',
+ 'type' => 'string',
+ 'example' => 'Running',
+ 'enum' => ['Starting', 'Running', 'Stopping', 'Stopped', 'Error'],
+ ],
+ 'createTime' => ['title' => '创建时间。', 'description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1723722279800'],
+ 'modifiedTime' => ['title' => '修改时间。', 'description' => '修改时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1723722279800'],
+ 'creator' => ['title' => '创建用户UID。', 'description' => '创建用户UID。', 'type' => 'string', 'example' => '202077646755123991'],
+ 'creatorName' => ['title' => '创建者昵称。', 'description' => '创建者昵称。', 'type' => 'string', 'example' => 'Alice'],
+ 'modifier' => ['title' => '最后更新者UID。', 'description' => '最后更新者UID。', 'type' => 'string', 'example' => '202077646755123991'],
+ 'modifierName' => ['title' => '修改者昵称。', 'description' => '修改者昵称。', 'type' => 'string', 'example' => 'Alice'],
+ 'userId' => ['title' => '主账号ID。', 'description' => '主账号ID。', 'type' => 'string', 'example' => '1234567890'],
+ 'dashboardUrl' => ['title' => 'Ray集群Dashboard链接。', 'description' => 'Ray集群Dashboard链接。', 'type' => 'string', 'example' => 'https://emr-spark-ray-gateway-cn-hangzhou.aliyuncs.com?token=xxxxxxxxx'],
+ 'modified' => ['title' => '配置是否修改过。', 'description' => '配置是否修改过。', 'type' => 'boolean', 'example' => 'false'],
+ 'message' => ['title' => '错误信息。', 'description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ 'instanceId' => ['title' => 'Ray集群实例ID。', 'description' => 'Ray集群实例ID。', 'type' => 'string', 'example' => 'ray-uiulpgow9xljimm1-xxxxxxx'],
+ 'startTime' => ['title' => '启动时间。', 'description' => '启动时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1723722279800'],
+ 'grpcEndpoint' => ['title' => 'gRPC连接地址。', 'description' => 'gRPC连接地址(内网),其中域名也可以提交ray job。', 'type' => 'string', 'example' => 'ray://emr-spark-ray-gateway-cn-hanghzou-internal.emr.aliyuncs.com:80'],
],
],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'title' => '下一页TOKEN。',
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'maxResults' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'totalCount' => [
- 'title' => '记录总数。',
- 'description' => '记录总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"workspaces\\": [\\n {\\n \\"workspaceId\\": \\"w-******\\",\\n \\"workspaceName\\": \\"spark批作业空间-1\\",\\n \\"resourceSpec\\": \\"100cu\\",\\n \\"storage\\": \\"spark-result\\",\\n \\"dlfCatalogId\\": \\"default\\",\\n \\"paymentType\\": \\"PayAsYouGo or Subscription\\",\\n \\"paymentDurationUnit\\": \\"YEAR, MONTH, WEEK, DAY, HOUR, MINUTE\\",\\n \\"duration\\": 1,\\n \\"autoRenew\\": true,\\n \\"autoRenewPeriod\\": 1,\\n \\"autoRenewPeriodUnit\\": \\"YEAR, MONTH, WEEK, DAY, HOUR, MINUTE\\",\\n \\"workspaceStatus\\": \\"STARTING,RUNNING,TERMINATED\\",\\n \\"failReason\\": \\"out of stock\\",\\n \\"paymentStatus\\": \\"PAID/UNPAID\\",\\n \\"regionId\\": \\"cn-shanghai\\",\\n \\"createTime\\": 1684115879955,\\n \\"endTime\\": 1687103999999,\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"0\\",\\n \\"message\\": \\"Success\\"\\n },\\n \\"releaseType\\": \\"SERVICE_RELEASE\\",\\n \\"dlfType\\": \\"1.0\\",\\n \\"prePaidQuota\\": {\\n \\"usedResource\\": \\"{\\\\\\\\\\\\\\"cpu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0Gi\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"}\\",\\n \\"maxResource\\": \\"{\\\\\\\\\\\\\\"cpu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"4Gi\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"allocatedResource\\": \\"{\\\\\\\\\\\\\\"cpu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"4Gi\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"createTime\\": 1745683200000,\\n \\"expireTime\\": 1740537153000,\\n \\"autoRenewal\\": true,\\n \\"paymentStatus\\": \\"NORMAL\\",\\n \\"instanceId\\": \\"i-abc12345\\",\\n \\"orderId\\": \\"\\"\\n },\\n \\"tags\\": [\\n {\\n \\"tagKey\\": \\"\\",\\n \\"tagValue\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
- 'title' => '获取工作空间列表',
- ],
- 'ListWorkspaceQueues' => [
- 'summary' => '查看工作空间的队列列表。',
- 'path' => '/api/v1/workspaces/{workspaceId}/queues',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '列出Ray集群',
+ 'summary' => '列出Ray集群。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListRayCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"rayClusters\\": [\\n {\\n \\"clusterId\\": \\"ray-uiulpgow9xljimm1\\",\\n \\"name\\": \\"testRayCluster\\",\\n \\"displayReleaseVersion\\": \\"ray-1.0.0 (Ray 2.47.1, Python 3.12)\\",\\n \\"description\\": \\"Ray Cluster for dev.\\",\\n \\"networkServiceName\\": \\"vpc\\",\\n \\"headSpec\\": {\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"enableAutoScaling\\": false,\\n \\"idleTimeoutSeconds\\": 60,\\n \\"replica\\": 1,\\n \\"gpuSpec\\": \\"ecs.gn6i-c4g1.xlarge\\"\\n },\\n \\"workerSpec\\": [\\n {\\n \\"groupName\\": \\"Group1\\",\\n \\"workerType\\": \\"CPU\\",\\n \\"replica\\": 2,\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"minReplica\\": 1,\\n \\"maxReplica\\": 10,\\n \\"gpuSpec\\": \\"ecs.gn6i-c4g1.xlarge\\"\\n }\\n ],\\n \\"state\\": \\"Running\\",\\n \\"createTime\\": 1723722279800,\\n \\"modifiedTime\\": 1723722279800,\\n \\"creator\\": \\"202077646755123991\\",\\n \\"creatorName\\": \\"Alice\\",\\n \\"modifier\\": \\"202077646755123991\\",\\n \\"modifierName\\": \\"Alice\\",\\n \\"userId\\": \\"1234567890\\",\\n \\"dashboardUrl\\": \\"https://emr-spark-ray-gateway-cn-hangzhou.aliyuncs.com?token=xxxxxxxxx\\",\\n \\"modified\\": false,\\n \\"message\\": \\"ok\\",\\n \\"instanceId\\": \\"ray-uiulpgow9xljimm1-xxxxxxx\\",\\n \\"startTime\\": 1723722279800,\\n \\"grpcEndpoint\\": \\"ray://emr-spark-ray-gateway-cn-hanghzou-internal.emr.aliyuncs.com:80\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListRayJob' => [
+ 'summary' => '列出Ray Job信息。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayJob',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '192786',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-26ca1703f6d7****',
- ],
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
],
[
- 'name' => 'environment',
+ 'name' => 'pageSize',
'in' => 'query',
- 'schema' => [
- 'description' => '环境类型。',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'dev' => 'dev',
- 'production' => 'production',
- ],
- 'example' => 'production',
- ],
+ 'schema' => ['title' => '返回结果的分页数。默认值:20。', 'description' => '返回结果的分页数。默认值:20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
],
[
- 'name' => 'regionId',
+ 'name' => 'pageNum',
+ 'in' => 'query',
+ 'schema' => ['title' => '页码。', 'description' => '页码,默认值:1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'submissionId',
'in' => 'query',
+ 'schema' => ['description' => 'Ray Job的提交id。', 'type' => 'string', 'required' => false, 'example' => 'rj-xxxxxxxxxxx'],
+ ],
+ [
+ 'name' => 'name',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Ray Job的名称(精确搜索)。', 'type' => 'string', 'required' => false, 'example' => 'myrayjob'],
+ ],
+ [
+ 'name' => 'submitTime',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
+ 'title' => '提交时间',
+ 'description' => '提交时间范围。',
+ 'type' => 'object',
+ 'properties' => [
+ 'startTime' => ['description' => '提交时间起始,unix毫秒级别时间戳。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1780017822000'],
+ 'endTime' => ['description' => '提交时间截止,unix毫秒级别时间戳。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1780018822000'],
+ ],
'required' => false,
- 'example' => 'cn-hangzhou',
],
],
+ [
+ 'name' => 'taskBizId',
+ 'in' => 'query',
+ 'schema' => ['description' => '数据开发任务ID。', 'type' => 'string', 'required' => false, 'example' => 'TSK-db8b870d901e443ba0aebba40c923e02'],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'queues' => [
- 'description' => '队列列表',
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'totalCount' => ['title' => '总数量', 'description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
+ 'rayJobs' => [
+ 'title' => 'Ray集群列表。',
+ 'description' => 'Ray Job列表。',
'type' => 'array',
'items' => [
- 'description' => '队列详情',
+ 'title' => 'Ray集群结构体。',
+ 'description' => 'Ray Job结构体。',
'type' => 'object',
'properties' => [
- 'regionId' => [
- 'title' => 'regionId。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'dev_queue',
- ],
- 'workspaceId' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-1234abcd',
- ],
- 'queueType' => [
- 'title' => '队列类型',
- 'description' => '队列类型。取值:'."\n"
- ."\n"
- .'- instance:单一任务类型'."\n"
- .'- instanceChildren:父任务类型',
- 'type' => 'string',
- 'example' => 'instance',
- ],
- 'properties' => [
- 'title' => '队列Label',
- 'description' => '队列Label。',
- 'type' => 'string',
- 'example' => 'dev_queue',
- ],
- 'queueScope' => [
- 'title' => '队列架构',
- 'description' => '队列架构。',
- 'type' => 'string',
- 'example' => '{"arch": "x86"}',
- ],
- 'maxResource' => [
- 'title' => '队列资源最大容量',
- 'description' => '队列资源最大容量。',
- 'type' => 'string',
- 'example' => '{"cpu": "2","memory": "2Gi"}',
- ],
- 'minResource' => [
- 'title' => '队列资源最小容量',
- 'description' => '队列资源最小容量。',
- 'type' => 'string',
- 'example' => '{"cpu": "2","memory": "2Gi"}',
- ],
- 'usedResource' => [
- 'title' => '队列资源使用容量',
- 'description' => '队列资源使用容量。',
- 'type' => 'string',
- 'example' => '{"cpu": "2","memory": "2Gi"}',
- ],
- 'queueStatus' => [
- 'description' => '队列状态。',
- 'type' => 'string',
- 'example' => 'RUNNING',
- ],
- 'creator' => [
- 'description' => '创建用户UID。',
+ 'submissionId' => ['title' => '集群ID。', 'description' => 'Ray Job的id。', 'type' => 'string', 'example' => 'rj-uiulpgow9xljimm1'],
+ 'name' => ['title' => 'Ray集群名称。', 'description' => 'Ray Job的名称。', 'type' => 'string', 'example' => 'testRayJob'],
+ 'status' => [
+ 'title' => '集群状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。',
+ 'description' => '任务状态'."\n"
+ .'- Submitted 已提交。'."\n"
+ .'- Pending:集群创建中。'."\n"
+ .'- Running:任务运行中。'."\n"
+ .'- Succeeded:任务已成功。'."\n"
+ .'- Failed:任务已失败。'."\n"
+ .'- Cancelling:取消中。'."\n"
+ .'- Cancelled:已取消。'."\n"
+ .'- Timeout:超时取消。',
'type' => 'string',
- 'example' => '237109',
- ],
- 'allowActions' => [
- 'title' => '队列允许的操作',
- 'description' => '队列允许的操作列表',
- 'type' => 'array',
- 'items' => [
- 'description' => '队列允许的操作',
- 'type' => 'object',
- 'properties' => [
- 'actionArn' => [
- 'title' => '行为 arn。',
- 'description' => '行为 arn。',
- 'type' => 'string',
- 'example' => 'acs:emr::workspaceId:action/create_queue',
- ],
- 'actionName' => [
- 'title' => '权限名称。',
- 'description' => '权限名称。',
- 'type' => 'string',
- 'example' => 'view',
- ],
- 'displayName' => [
- 'title' => '权限展示名称。',
- 'description' => '权限展示名称。',
- 'type' => 'string',
- 'example' => '文件目录遍历、文件浏览',
- ],
- 'description' => [
- 'title' => 'action 描述。',
- 'description' => 'action 描述。',
- 'type' => 'string',
- 'example' => '文件目录遍历、文件浏览',
- ],
- 'dependencies' => [
- 'title' => 'action 依赖列表。',
- 'description' => 'action 依赖列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'action 依赖。',
- 'type' => 'string',
- 'example' => 'view',
- ],
- 'example' => '["view"]',
- ],
- ],
- ],
- ],
- 'environments' => [
- 'description' => '队列环境类型列表',
- 'type' => 'array',
- 'items' => [
- 'description' => '队列环境类型',
- 'type' => 'string',
- 'example' => 'production',
- ],
- ],
- 'paymentType' => [
- 'description' => '付费类型。可选值:'."\n"
- ."\n"
- .'- PayAsYouGo:按量付费'."\n"
- .'- Pre:包年包月',
+ 'example' => 'Running',
+ 'enum' => ['Submitted', 'Pending', 'Running', 'Succeeded', 'Failed', 'Cancelling', 'Cancelled', 'Timeout'],
+ ],
+ 'resourceQueue' => ['title' => 'Ray引擎版本。', 'description' => 'Ray引擎版本。', 'type' => 'string', 'example' => 'err-1.2.0 (Ray 2.55.1, Python 3.12)'],
+ 'submitTime' => ['description' => '任务提交时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1776945399000'],
+ 'startTime' => ['description' => '任务启动时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1776945499000'],
+ 'endTime' => ['description' => '任务结束时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1776945509000'],
+ 'duration' => ['description' => '任务执行时间,单位秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '3564'],
+ 'creatorName' => ['title' => '创建者昵称。', 'description' => '创建者昵称。', 'type' => 'string', 'example' => 'Alice'],
+ 'dashboardUrl' => ['title' => 'Ray集群Dashboard链接。', 'description' => 'Ray 集群 Dashboard 链接,Ray 集群状态为 Running 时为 Runtime UI,状态为 Deleted 后为 History UI,仅 err-1.2.0 及以上版本支持 History UI。', 'type' => 'string', 'example' => 'https://emr-ray-gateway.aliyuncs.com?token=xxxxxxxxx'],
+ 'cuHours' => ['description' => '任务运行周期内所消耗的 CU 数量(该值为预估值,最终以账单为准)。', 'type' => 'number', 'format' => 'double', 'example' => '120'],
+ 'clusterState' => [
+ 'description' => '对应的 Ray 集群的状态。'."\n"
+ .'- Deleted:已删除。'."\n"
+ .'- Submitted:已提交未开始创建。'."\n"
+ .'- Pending:创建中。'."\n"
+ .'- Running:运行中。',
'type' => 'string',
- 'example' => 'PayAsYouGo',
- ],
- 'createTime' => [
- 'description' => '工作空间创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1684115879955',
- ],
- 'preheat' => [
- 'title' => '是否进行资源预热'."\n",
- 'description' => '是否进行资源预热'."\n",
- 'type' => 'boolean',
+ 'example' => 'Running',
+ 'enum' => ['Deleted', 'Running', 'Submitted', 'Pending'],
],
],
],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'title' => '下一页TOKEN。',
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'maxResults' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'totalCount' => [
- 'title' => '记录总数。',
- 'description' => '记录总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '列出Ray Job信息。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"queues\\": [\\n {\\n \\"regionId\\": \\"cn-hangzhou\\",\\n \\"queueName\\": \\"dev_queue\\",\\n \\"workspaceId\\": \\"w-1234abcd\\",\\n \\"queueType\\": \\"instance\\",\\n \\"properties\\": \\"dev_queue\\",\\n \\"queueScope\\": \\"{\\\\\\"arch\\\\\\": \\\\\\"x86\\\\\\"}\\",\\n \\"maxResource\\": \\"{\\\\\\"cpu\\\\\\": \\\\\\"2\\\\\\",\\\\\\"memory\\\\\\": \\\\\\"2Gi\\\\\\"}\\",\\n \\"minResource\\": \\"{\\\\\\"cpu\\\\\\": \\\\\\"2\\\\\\",\\\\\\"memory\\\\\\": \\\\\\"2Gi\\\\\\"}\\",\\n \\"usedResource\\": \\"{\\\\\\"cpu\\\\\\": \\\\\\"2\\\\\\",\\\\\\"memory\\\\\\": \\\\\\"2Gi\\\\\\"}\\",\\n \\"queueStatus\\": \\"RUNNING\\",\\n \\"creator\\": \\"237109\\",\\n \\"allowActions\\": [\\n {\\n \\"actionArn\\": \\"acs:emr::workspaceId:action/create_queue\\",\\n \\"actionName\\": \\"view\\",\\n \\"displayName\\": \\"文件目录遍历、文件浏览\\",\\n \\"description\\": \\"文件目录遍历、文件浏览\\",\\n \\"dependencies\\": [\\n \\"view\\"\\n ]\\n }\\n ],\\n \\"environments\\": [\\n \\"production\\"\\n ],\\n \\"paymentType\\": \\"PayAsYouGo\\",\\n \\"createTime\\": 1684115879955,\\n \\"preheat\\": true\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
- 'title' => '获取工作空间队列列表',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"totalCount\\": 200,\\n \\"rayJobs\\": [\\n {\\n \\"submissionId\\": \\"rj-uiulpgow9xljimm1\\",\\n \\"name\\": \\"testRayJob\\",\\n \\"status\\": \\"Running\\",\\n \\"resourceQueue\\": \\"err-1.2.0 (Ray 2.55.1, Python 3.12)\\",\\n \\"submitTime\\": 1776945399000,\\n \\"startTime\\": 1776945499000,\\n \\"endTime\\": 1776945509000,\\n \\"duration\\": 3564,\\n \\"creatorName\\": \\"Alice\\",\\n \\"dashboardUrl\\": \\"https://emr-ray-gateway.aliyuncs.com?token=xxxxxxxxx\\",\\n \\"cuHours\\": 120,\\n \\"clusterState\\": \\"Running\\"\\n }\\n ]\\n}","type":"json"}]',
],
- 'EditWorkspaceQueue' => [
- 'summary' => '编辑工作空间队列。',
- 'path' => '/api/v1/workspaces/queues/action/edit',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListRayLogs' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceId}/ray/{instanceId}/logs',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '192830',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
- 'name' => 'body',
- 'in' => 'body',
- 'allowEmptyValue' => false,
- 'style' => 'json',
- 'schema' => [
- 'description' => '请求结构体',
- 'type' => 'object',
- 'properties' => [
- 'workspaceId' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-975bcfda9625****',
- ],
- 'resourceSpec' => [
- 'description' => '资源规格。',
- 'type' => 'object',
- 'properties' => [
- 'cu' => [
- 'description' => '工作空间队列资源上限。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1000',
- ],
- 'maxCu' => [
- 'title' => '最大cu数',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '0.5',
- ],
- ],
- 'required' => false,
- ],
- 'workspaceQueueName' => [
- 'description' => '工作空间队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_queue',
- ],
- 'environments' => [
- 'description' => '队列环境类型',
- 'type' => 'array',
- 'items' => [
- 'description' => '队列环境类型',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'prod',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
],
[
- 'name' => 'regionId',
+ 'name' => 'instanceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Ray Job的id。', 'type' => 'string', 'required' => false, 'example' => 'rj-311d343123'],
+ ],
+ [
+ 'name' => 'bucketName',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'bucket名称。', 'type' => 'string', 'required' => false, 'example' => 'mybucket'],
+ ],
+ [
+ 'name' => 'prefix',
+ 'in' => 'query',
+ 'schema' => ['description' => '限定返回文件的 Key 必须以 Prefix 作为前缀。', 'type' => 'string', 'required' => false, 'example' => '/w-xxxxxxx/ray/logs/rj-xxxxxxxxxx_default/ '],
+ ],
+ [
+ 'name' => 'marker',
+ 'in' => 'query',
+ 'schema' => ['description' => '设定从 marker 之后按字母排序开始返回 Object。', 'type' => 'string', 'required' => false, 'example' => 'test1.txt'],
+ ],
+ [
+ 'name' => 'delimiter',
+ 'in' => 'query',
+ 'schema' => ['description' => '对 Object 名字进行分组的字符。所有 Object 名字包含指定的前缀,第一次出现 Delimiter 字符之间的 Object 作为一组元素(即 CommonPrefixes)。', 'type' => 'string', 'required' => false, 'example' => '/'],
+ ],
+ [
+ 'name' => 'maxKeys',
+ 'in' => 'query',
+ 'schema' => ['description' => '指定返回 Object 的最大数。 如果因为 max-keys 的设定无法一次完成列举,返回结果会附加 NextMarker 元素作为下一次列举的 marker。'."\n"
+ .'取值:大于 0 小于 1000'."\n"
+ .'默认值:100', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '50'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'code' => ['description' => '响应状态码, 1000000表示成功。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ 'data' => [
+ 'description' => '返回数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'bucketName' => ['description' => 'OSS Bucket名称。', 'type' => 'string', 'example' => 'mybucket'],
+ 'prefix' => ['description' => '限定返回文件的 Key 必须以 prefix 作为前缀。', 'type' => 'string', 'example' => '/w-xxxxxxx/ray/logs/rj-xxxxxxxxxx_default/'],
+ 'marker' => ['description' => '设定从 marker 之后按字母排序开始返回 Object。', 'type' => 'string', 'example' => 'test1.txt'],
+ 'maxKeys' => ['description' => '指定返回 Object 的最大数。', 'type' => 'integer', 'format' => 'int64', 'example' => '50'],
+ 'delimiter' => ['description' => '对 Object 名字进行分组的字符。所有 Object 名字包含指定的前缀,第一次出现 delimiter 字符之间的 Object 作为一组元素(即 CommonPrefixes)。', 'type' => 'string', 'example' => '/'],
+ 'isTruncated' => ['description' => '请求中返回的结果是否被截断。', 'type' => 'boolean', 'example' => 'true'."\n"],
+ 'nextMarker' => ['description' => '下一次列举文件的起点。', 'type' => 'string', 'example' => 'test2.txt'],
+ 'objectList' => [
+ 'description' => 'Object 元数据列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Object数据。',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => '名称。', 'type' => 'string', 'example' => 'test1.txt'],
+ 'path' => ['description' => '文件路径。', 'type' => 'string', 'example' => '/w-xxxxxxx/ray/logs/rj-xxxxxxxxxx_default/test1.txt'],
+ 'isDir' => ['description' => '是否为目录。', 'type' => 'boolean', 'example' => 'false'],
+ 'timeModified' => ['description' => '修改时间,unix毫秒级别时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '17344656363434'],
+ 'size' => ['description' => '文件大小,单位为字节。', 'type' => 'integer', 'format' => 'int64', 'example' => '535345'],
+ ],
+ ],
+ ],
+ ],
],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '列出Ray日志列表',
+ 'summary' => '列出Ray日志列表。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '编辑工作空间队列',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\",\\n \\"data\\": {\\n \\"bucketName\\": \\"mybucket\\",\\n \\"prefix\\": \\"/w-xxxxxxx/ray/logs/rj-xxxxxxxxxx_default/\\",\\n \\"marker\\": \\"test1.txt\\",\\n \\"maxKeys\\": 50,\\n \\"delimiter\\": \\"/\\",\\n \\"isTruncated\\": true,\\n \\"nextMarker\\": \\"test2.txt\\",\\n \\"objectList\\": [\\n {\\n \\"name\\": \\"test1.txt\\",\\n \\"path\\": \\"/w-xxxxxxx/ray/logs/rj-xxxxxxxxxx_default/test1.txt\\",\\n \\"isDir\\": false,\\n \\"timeModified\\": 17344656363434,\\n \\"size\\": 535345\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'ListReleaseVersions' => [
- 'summary' => '获取发布版本列表。',
'path' => '/api/v1/releaseVersions',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '192442',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
'name' => 'serviceFilter',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'schema' => ['type' => 'string', 'required' => false],
],
[
'name' => 'releaseVersion',
'in' => 'query',
- 'schema' => [
- 'description' => 'Serverless Spark版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-2.1 (Spark 3.3.1, Scala 2.12, Java Runtime)',
- ],
+ 'schema' => ['description' => 'Serverless Spark版本。', 'type' => 'string', 'required' => false, 'example' => 'esr-2.1 (Spark 3.3.1, Scala 2.12, Java Runtime)'],
],
[
'name' => 'releaseVersionStatus',
@@ -8465,10 +6578,7 @@
'description' => '版本状态。',
'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'ONLINE' => '在线',
- 'OFFLINE' => '离线',
- ],
+ 'enumValueTitles' => ['ONLINE' => '在线', 'OFFLINE' => '离线'],
'example' => 'ONLINE',
],
],
@@ -8479,33 +6589,19 @@
'description' => '版本类型。',
'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'stable' => '稳定版',
- 'beta' => '测试版',
- ],
+ 'enumValueTitles' => ['stable' => '稳定版', 'beta' => '测试版'],
'example' => 'stable',
],
],
[
'name' => 'workspaceId',
'in' => 'query',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -8522,589 +6618,352 @@
'description' => '版本详情。',
'type' => 'object',
'properties' => [
- 'releaseVersion' => [
- 'description' => '版本号。',
- 'type' => 'string',
- 'example' => 'esr-2.1 (Spark 3.3.1, Scala 2.12, Java Runtime)',
- ],
- 'state' => [
- 'description' => '版本状态。',
- 'type' => 'string',
- 'example' => 'ONLINE',
- ],
- 'type' => [
- 'description' => '版本类型。',
- 'type' => 'string',
- 'example' => 'stable',
- ],
- 'iaasType' => [
- 'description' => 'IaaS层类型。',
- 'type' => 'string',
- 'example' => 'ASI',
- ],
- 'gmtCreate' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1716215854101',
- ],
- 'scalaVersion' => [
- 'description' => 'Scala版本。',
- 'type' => 'string',
- 'example' => '2.12',
- ],
- 'communityVersion' => [
- 'description' => '社区Spark版本号。',
- 'type' => 'string',
- 'example' => 'Spark 3.3.1',
- ],
+ 'releaseVersion' => ['description' => '版本号。', 'type' => 'string', 'example' => 'esr-2.1 (Spark 3.3.1, Scala 2.12, Java Runtime)'],
+ 'state' => ['description' => '版本状态。', 'type' => 'string', 'example' => 'ONLINE'],
+ 'type' => ['description' => '版本类型。', 'type' => 'string', 'example' => 'stable'],
+ 'iaasType' => ['description' => 'IaaS层类型。', 'type' => 'string', 'example' => 'ASI'],
+ 'gmtCreate' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1716215854101'],
+ 'scalaVersion' => ['description' => 'Scala版本。', 'type' => 'string', 'example' => '2.12'],
+ 'communityVersion' => ['description' => '社区Spark版本号。', 'type' => 'string', 'example' => 'Spark 3.3.1'],
'cpuArchitectures' => [
'description' => 'CPU架构列表。',
'type' => 'array',
- 'items' => [
- 'description' => 'CPU架构。',
- 'type' => 'string',
- 'example' => 'x86',
- ],
- ],
- 'displayReleaseVersion' => [
- 'description' => '版本号。',
- 'type' => 'string',
- 'example' => 'esr-2.1 (Spark 3.3.1, Scala 2.12)',
+ 'items' => ['description' => 'CPU架构。', 'type' => 'string', 'example' => 'x86'],
],
+ 'displayReleaseVersion' => ['description' => '版本号。', 'type' => 'string', 'example' => 'esr-2.1 (Spark 3.3.1, Scala 2.12)'],
'fusion' => [
'description' => '是否开启Fusion引擎加速。',
'type' => 'boolean',
- 'enumValueTitles' => [
- 'true' => '是',
- 'false' => '否',
- ],
+ 'enumValueTitles' => ['true' => '是', 'false' => '否'],
'example' => 'true',
],
],
],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'title' => '下一页TOKEN。',
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'maxResults' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'totalCount' => [
- 'title' => '记录总数。',
- 'description' => '记录总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['title' => '下一页TOKEN。', 'description' => '下一页TOKEN。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['title' => '记录总数。', 'description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"releaseVersions\\": [\\n {\\n \\"releaseVersion\\": \\"esr-2.1 (Spark 3.3.1, Scala 2.12, Java Runtime)\\",\\n \\"state\\": \\"ONLINE\\",\\n \\"type\\": \\"stable\\",\\n \\"iaasType\\": \\"ASI\\",\\n \\"gmtCreate\\": 1716215854101,\\n \\"scalaVersion\\": \\"2.12\\",\\n \\"communityVersion\\": \\"Spark 3.3.1\\",\\n \\"cpuArchitectures\\": [\\n \\"x86\\"\\n ],\\n \\"displayReleaseVersion\\": \\"esr-2.1 (Spark 3.3.1, Scala 2.12)\\",\\n \\"fusion\\": true\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
'title' => '获取spark版本列表',
- ],
- 'ListJobExecutors' => [
- 'summary' => '列出作业的executors',
- 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns/{jobRunId}/executors',
- 'methods' => [
- 'get',
+ 'summary' => '获取发布版本列表。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListReleaseVersions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"releaseVersions\\": [\\n {\\n \\"releaseVersion\\": \\"esr-2.1 (Spark 3.3.1, Scala 2.12, Java Runtime)\\",\\n \\"state\\": \\"ONLINE\\",\\n \\"type\\": \\"stable\\",\\n \\"iaasType\\": \\"ASI\\",\\n \\"gmtCreate\\": 1716215854101,\\n \\"scalaVersion\\": \\"2.12\\",\\n \\"communityVersion\\": \\"Spark 3.3.1\\",\\n \\"cpuArchitectures\\": [\\n \\"x86\\"\\n ],\\n \\"displayReleaseVersion\\": \\"esr-2.1 (Spark 3.3.1, Scala 2.12)\\",\\n \\"fusion\\": true\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
+ ],
+ 'ListSessionClusters' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '231260',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceT8XN05',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'abilityTreeCode' => '202905',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '标记当前开始读取的位置。', 'description' => '标记当前开始读取的位置。', 'type' => 'string', 'required' => false, 'example' => '1'],
],
[
- 'name' => 'jobRunId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '任务运行ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'jr-f09a8fda2396****',
- ],
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
],
[
- 'name' => 'nextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-1234abcd'],
],
[
- 'name' => 'maxResults',
+ 'name' => 'sessionClusterId',
'in' => 'query',
- 'schema' => [
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['title' => '作业名称。', 'description' => '作业名称。', 'type' => 'string', 'required' => false, 'example' => 'emr-spark-demo-job'],
],
[
- 'name' => 'status',
+ 'name' => 'queueName',
'in' => 'query',
- 'schema' => [
- 'description' => 'Executor状态。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Dead',
- ],
+ 'schema' => ['description' => '队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root'],
],
[
- 'name' => 'executorType',
+ 'name' => 'kind',
'in' => 'query',
'schema' => [
- 'description' => 'Executor类型。',
+ 'description' => '会话类型。',
'type' => 'string',
'required' => false,
- 'example' => 'driver',
+ 'enumValueTitles' => ['NOTEBOOK' => 'NOTEBOOK', 'THRIFT' => 'THRIFT', 'SQL' => 'SQL'],
+ 'example' => 'SQL',
+ 'default' => 'SQL',
],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'title' => '返回数据',
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'example' => '2',
- ],
- 'maxResults' => [
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'totalCount' => [
- 'description' => '记录总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'exexutors' => [
- 'description' => 'Executor列表。',
+ 'sessionClusters' => [
+ 'description' => '会话列表。',
'type' => 'array',
'items' => [
- 'description' => '单条Executor信息。',
+ 'description' => '会话详情。',
'type' => 'object',
'properties' => [
- 'workspaceId' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-78faee4da118f02e',
- ],
- 'jobRunId' => [
- 'description' => '任务运行ID。',
- 'type' => 'string',
- 'example' => 'jr-1fe145df8ade366a',
- ],
- 'executorId' => [
- 'description' => '作业Executor ID。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'status' => [
- 'description' => 'Executor运行状态。',
- 'type' => 'string',
- 'example' => 'Running',
- ],
- 'hostPort' => [
- 'description' => 'Executor地址信息。',
- 'type' => 'string',
- 'example' => '21.10.x.x:1201x',
- ],
- 'rddBlocks' => [
- 'description' => 'Executor管理的RDD Block数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
- ],
- 'memoryUsed' => [
- 'description' => 'Executor内存使用率。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '30',
- ],
- 'diskUsed' => [
- 'description' => 'Executor磁盘率。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '20',
- ],
- 'totalCores' => [
- 'description' => 'Executor总核数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '4',
- ],
- 'activeTasks' => [
- 'description' => 'Executor总执行活跃任务数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
- ],
- 'failedTasks' => [
- 'description' => 'Executor总执行失败任务数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2',
- ],
- 'completedTasks' => [
- 'description' => 'Executor总执行完成任务数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '8',
- ],
- 'totalTasks' => [
- 'description' => 'Executor总执行任务数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '50',
- ],
- 'totalDuration' => [
- 'description' => 'Executor总运行时长。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '123',
- ],
- 'totalGCTime' => [
- 'description' => 'Executor总GC时长',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3',
- ],
- 'totalInputBytes' => [
- 'description' => 'Executor输入数据字节数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1024',
- ],
- 'totalShuffleRead' => [
- 'description' => 'Executor Shuffle Read字节数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2048',
+ 'workspaceId' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-1234abcd'],
+ 'sessionClusterId' => ['title' => '交互式作业会话id。', 'description' => '会话ID。', 'type' => 'string', 'example' => 'sc-123131'],
+ 'userId' => ['title' => '任务实例ID。', 'description' => '用户ID。', 'type' => 'string', 'example' => '123131'],
+ 'queueName' => ['title' => '作业实例名称。', 'description' => '会话运行队列名称。', 'type' => 'string', 'example' => 'dev_queue'],
+ 'state' => ['title' => '作业状态。', 'description' => '会话状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。', 'type' => 'string', 'example' => 'Running'],
+ 'stateChangeReason' => [
+ 'description' => '会话最近一次状态变化详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => '状态变化编码。', 'type' => 'string', 'example' => '200'],
+ 'message' => ['description' => '状态变化消息。', 'type' => 'string', 'example' => 'ok'],
+ ],
],
- 'totalShuffleWrite' => [
- 'description' => 'Executor Shuffle Write字节数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2048'."\n",
+ 'autoStartConfiguration' => [
+ 'description' => '自动启动配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否开启自动启动。', 'type' => 'boolean', 'example' => 'true'],
+ ],
],
- 'maxMemory' => [
- 'description' => 'Executor最大内存。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '4294967296',
+ 'autoStopConfiguration' => [
+ 'description' => '自动终止配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否允许自动终止。', 'type' => 'boolean', 'example' => 'false'],
+ 'idleTimeoutMinutes' => ['description' => '会话空闲指定分钟数后自动终止。', 'type' => 'integer', 'format' => 'int32', 'example' => '45'],
+ ],
],
- 'addTime' => [
- 'description' => 'Executor创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1760601***',
+ 'applicationConfigs' => [
+ 'description' => '会话配置,等价于背后运行的Spark作业的配置。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'SQL Compute配置,等价于背后运行的spark job的配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'configFileName' => ['description' => '配置文件名。', 'type' => 'string', 'example' => 'spark-default.conf'],
+ 'configItemKey' => ['description' => '配置键。', 'type' => 'string', 'example' => 'spark.app.name'],
+ 'configItemValue' => ['description' => '配置值。', 'type' => 'string', 'example' => 'test_application'],
+ ],
+ ],
],
- 'executorType' => [
- 'description' => 'Executor类型。',
+ 'name' => ['description' => '会话名称。', 'type' => 'string', 'example' => 'adhoc_query'],
+ 'userName' => ['description' => '用户名。', 'type' => 'string', 'example' => 'test_user'],
+ 'kind' => [
+ 'description' => '会话类型。',
'type' => 'string',
- 'example' => 'driver',
+ 'enumValueTitles' => ['NOTEBOOK' => 'NOTEBOOK', 'THRIFT' => 'THRIFT', 'SQL' => 'SQL'],
+ 'example' => 'SQL',
],
+ 'webUI' => ['description' => '会话SparkUI链接地址。', 'type' => 'string', 'example' => 'http://spark-ui-xxxx'],
+ 'releaseVersion' => ['description' => 'Serverless Spark版本。', 'type' => 'string', 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'],
+ 'draftId' => ['description' => '会话绑定的开发作业ID。', 'type' => 'string', 'example' => 'TSK-xxxxxxxxx'."\n"],
+ 'domain' => ['description' => 'Thrift server的外网域名。', 'type' => 'string', 'example' => 'emr-spark-gateway-cn-hangzhou.data.aliyun.com'],
+ 'displayReleaseVersion' => ['description' => '控制台实际展示的版本。', 'type' => 'string', 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'example' => 'false'],
+ 'gmtCreate' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1732267598000'],
+ 'startTime' => ['description' => '启动时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1732267598000'],
+ 'domainInner' => ['description' => 'Thrift server的内网域名。', 'type' => 'string', 'example' => 'emr-spark-gateway-cn-hangzhou-internal.data.aliyuncs.com'],
+ 'extra' => ['description' => '会话额外元数据。', 'type' => 'string', 'example' => '{"extraInfoKey":"extraInfoValue"}'],
+ 'publicEndpointEnabled' => ['type' => 'boolean'],
+ 'connectionToken' => ['type' => 'string'],
],
],
],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['title' => '返回读取到的数据位置。', 'description' => '返回读取到的数据位置。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['title' => '本次请求所返回的最大记录条数。', 'description' => '本次请求所返回的最大记录条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['title' => '本次请求条件下的数据总量。', 'description' => '本次请求条件下的数据总量。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => '获取会话列表',
+ 'summary' => '获取会话列表。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListSessionClusters',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"2\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200,\\n \\"exexutors\\": [\\n {\\n \\"workspaceId\\": \\"w-78faee4da118f02e\\",\\n \\"jobRunId\\": \\"jr-1fe145df8ade366a\\",\\n \\"executorId\\": \\"1\\",\\n \\"status\\": \\"Running\\",\\n \\"hostPort\\": \\"21.10.x.x:1201x\\",\\n \\"rddBlocks\\": 10,\\n \\"memoryUsed\\": 30,\\n \\"diskUsed\\": 20,\\n \\"totalCores\\": 4,\\n \\"activeTasks\\": 10,\\n \\"failedTasks\\": 2,\\n \\"completedTasks\\": 8,\\n \\"totalTasks\\": 50,\\n \\"totalDuration\\": 123,\\n \\"totalGCTime\\": 3,\\n \\"totalInputBytes\\": 1024,\\n \\"totalShuffleRead\\": 2048,\\n \\"totalShuffleWrite\\": 2048,\\n \\"maxMemory\\": 4294967296,\\n \\"addTime\\": 0,\\n \\"executorType\\": \\"driver\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '作业Executor列表',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionClusters\\": [\\n {\\n \\"workspaceId\\": \\"w-1234abcd\\",\\n \\"sessionClusterId\\": \\"sc-123131\\",\\n \\"userId\\": \\"123131\\",\\n \\"queueName\\": \\"dev_queue\\",\\n \\"state\\": \\"Running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"ok\\"\\n },\\n \\"autoStartConfiguration\\": {\\n \\"enable\\": true\\n },\\n \\"autoStopConfiguration\\": {\\n \\"enable\\": false,\\n \\"idleTimeoutMinutes\\": 45\\n },\\n \\"applicationConfigs\\": [\\n {\\n \\"configFileName\\": \\"spark-default.conf\\",\\n \\"configItemKey\\": \\"spark.app.name\\",\\n \\"configItemValue\\": \\"test_application\\"\\n }\\n ],\\n \\"name\\": \\"adhoc_query\\",\\n \\"userName\\": \\"test_user\\",\\n \\"kind\\": \\"SQL\\",\\n \\"webUI\\": \\"http://spark-ui-xxxx\\",\\n \\"releaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"draftId\\": \\"TSK-xxxxxxxxx\\\\n\\",\\n \\"domain\\": \\"emr-spark-gateway-cn-hangzhou.data.aliyun.com\\",\\n \\"displayReleaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"fusion\\": false,\\n \\"gmtCreate\\": 1732267598000,\\n \\"startTime\\": 1732267598000,\\n \\"domainInner\\": \\"emr-spark-gateway-cn-hangzhou-internal.data.aliyuncs.com\\",\\n \\"extra\\": \\"{\\\\\\"extraInfoKey\\\\\\":\\\\\\"extraInfoValue\\\\\\"}\\",\\n \\"publicEndpointEnabled\\": true,\\n \\"connectionToken\\": \\"\\"\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
],
- 'ListLogContents' => [
- 'summary' => '获取日志内容。',
- 'path' => '/api/v1/workspaces/{workspaceId}/action/listLogContents',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListSqlStatementContents' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/action/listSqlStatementContents',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '194779',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduceLNUXSK'],
],
'parameters' => [
[
'name' => 'fileName',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => '文件全路径名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'oss://datadev******.cn-hangzhou.oss-dls.aliyuncs.com/w-72704d9fb0******/spark/logs/jr-af51aa63cc******/driver/stdout.log',
- ],
+ 'schema' => ['description' => '文件全路径名称。', 'type' => 'string', 'required' => false, 'example' => 'oss://oss-****.cn-hangzhou.oss-dls.aliyuncs.com/w-86a9a4da*****a1/spark/logs/jr-b737b****6164d/driver/st-afde7******bb3f'],
],
[
- 'name' => 'offset',
- 'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => '查询开始行。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间 ID。', 'type' => 'string', 'required' => false, 'example' => 'w-72704d9fb0******'],
],
[
- 'name' => 'length',
+ 'name' => 'nextToken',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => '日志长度。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '9999',
- ],
- ],
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-72704d9fb0******',
- ],
+ 'schema' => ['description' => '标记当前开始读取的位置。', 'type' => 'string', 'required' => false, 'example' => '1'],
],
[
- 'name' => 'regionId',
+ 'name' => 'maxResults',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据',
+ 'title' => 'Schema of Response',
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'listLogContent' => [
- 'description' => '日志内容。',
+ 'sqlStatementContents' => [
+ 'description' => 'SQL执行结果内容。',
'type' => 'object',
'properties' => [
- 'contents' => [
- 'description' => '日志行内容列表。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'LineContent' => [
- 'description' => '日志行内容。',
- 'type' => 'string',
- 'example' => 'spark pi is 3.14\\n',
- ],
- ],
- ],
- ],
- 'totalLength' => [
- 'description' => '日志总行数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
- ],
+ 'contents' => ['description' => 'SQL执行结果内容列表。', 'type' => 'string', 'example' => '[{\\"values\\":[\\"wj*****\\",\\"test\\",\\"2025-04-15\\"]}]'],
+ 'nextToken' => ['description' => '标记当前开始读取的位置。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2000'],
+ 'totalCount' => ['description' => '结果总行数。', 'type' => 'integer', 'format' => 'int32', 'example' => '40000'],
],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n"],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"listLogContent\\": {\\n \\"contents\\": [\\n {\\n \\"LineContent\\": \\"spark pi is 3.14\\\\\\\\n\\"\\n }\\n ],\\n \\"totalLength\\": 10\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '查询日志内容',
- ],
- 'GetCuHours' => [
- 'summary' => 'GetCuHours',
- 'path' => '/api/v1/workspaces/{workspaceId}/metric/cuHours/{queue}',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '查询SQL会话执行结果',
+ 'summary' => '获取sql statement内容。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListSqlStatementContents',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sqlStatementContents\\": {\\n \\"contents\\": \\"[{\\\\\\\\\\\\\\"values\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"wj*****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"test\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"2025-04-15\\\\\\\\\\\\\\"]}]\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 2000,\\n \\"totalCount\\": 40000\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'ListTemplate' => [
+ 'summary' => '获取任务模板列表。',
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/template/listing',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceT8XN05',
- ],
+ 'abilityTreeCode' => '191100',
+ 'abilityTreeNodes' => ['FEATUREemapreduceUECZZL'],
],
'parameters' => [
[
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-dsa23*****',
- ],
- ],
- [
- 'name' => 'queue',
+ 'name' => 'workspaceBizId',
'in' => 'path',
- 'schema' => [
- 'description' => '队列名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'root_queue',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
],
[
- 'name' => 'startTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => '查询时间范围起点。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2024-01-01 00:00:00',
- ],
- ],
- [
- 'name' => 'endTime',
+ 'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'description' => '查询时间范围终点。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2024-01-08 00:00:00',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -9114,1005 +6973,562 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'httpStatusCode' => ['title' => 'Id of the request', 'description' => 'http返回码。', 'type' => 'string', 'example' => '200'],
+ 'errorCode' => ['description' => '- 当success为false,返回业务错误码。'."\n"
+ .' '."\n"
+ .'- 当success为true,返回空值。', 'type' => 'string', 'example' => 'ERR-00000000'],
+ 'errorMessage' => ['description' => '- 当success为false,返回业务错误信息;'."\n"
+ ."\n"
+ .'- 当success为true,返回空值。', 'type' => 'string', 'example' => 'ok'],
'data' => [
- 'description' => '返回数据。',
- 'type' => 'object',
- 'properties' => [
- 'cuHours' => [
- 'description' => '查询周期内对应查询队列所消耗的CU时(该值为预估值,最终以账单为准)。',
- 'type' => 'string',
- 'example' => '{2025-01-09 00:00:00=2.033333, 2025-01-09 01:00:00=2.033333, 2025-01-09 02:00:00=2.033333, 2025-01-09 03:00:00=2.033333, 2025-01-09 04:00:00=2.033333, 2025-01-09 05:00:00=2.033333, 2025-01-09 06:00:00=2.033333, 2025-01-09 07:00:00=2.033333, 2025-01-09 08:00:00=2.033333, 2025-01-09 09:00:00=1.933333, 2025-01-09 10:00:00=2.133333, 2025-01-09 11:00:00=3.100000, 2025-01-09 12:00:00=2.900000}',
- ],
- ],
- 'example' => '{'."\n"
- .' "cuHours": "{2025-01-09 00:00:00=2.033333, 2025-01-09 01:00:00=2.033333, 2025-01-09 02:00:00=2.033333, 2025-01-09 03:00:00=2.033333, 2025-01-09 04:00:00=2.033333, 2025-01-09 05:00:00=2.033333, 2025-01-09 06:00:00=2.033333, 2025-01-09 07:00:00=2.033333, 2025-01-09 08:00:00=2.033333, 2025-01-09 09:00:00=1.933333, 2025-01-09 10:00:00=2.133333, 2025-01-09 11:00:00=3.100000, 2025-01-09 12:00:00=2.900000}"'."\n"
- .'}',
+ 'description' => '数据列表。',
+ 'type' => 'array',
+ 'items' => ['description' => 'Spark任务模板对象。', '$ref' => '#/components/schemas/Template'],
],
+ 'success' => ['description' => '请求是否成功。'."\n"
+ ."\n"
+ .'- true:成功'."\n"
+ ."\n"
+ .'- false:失败', 'type' => 'boolean', 'example' => 'true'],
+ 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n"],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"cuHours\\": \\"{2025-01-09 00:00:00=2.033333, 2025-01-09 01:00:00=2.033333, 2025-01-09 02:00:00=2.033333, 2025-01-09 03:00:00=2.033333, 2025-01-09 04:00:00=2.033333, 2025-01-09 05:00:00=2.033333, 2025-01-09 06:00:00=2.033333, 2025-01-09 07:00:00=2.033333, 2025-01-09 08:00:00=2.033333, 2025-01-09 09:00:00=1.933333, 2025-01-09 10:00:00=2.133333, 2025-01-09 11:00:00=3.100000, 2025-01-09 12:00:00=2.900000}\\"\\n }\\n}","type":"json"}]',
- 'title' => '获取工作空间队列CU时',
- ],
- 'GetDoctorApplication' => [
- 'summary' => 'get doctor application for serverless spark',
- 'path' => '/api/v1/workspaces/{workspaceId}/runs/{runId}/action/getDoctorApplication',
- 'methods' => [
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取工作空间配置模板列表',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"httpStatusCode\\": \\"200\\",\\n \\"errorCode\\": \\"ERR-00000000\\",\\n \\"errorMessage\\": \\"ok\\",\\n \\"data\\": [\\n {\\n \\"templateType\\": \\"TASK\\",\\n \\"gmtModified\\": \\"2025-03-10T02:02:41.000+00:00\\",\\n \\"creator\\": 0,\\n \\"sparkLogLevel\\": \\"INFO\\",\\n \\"gmtCreated\\": \\"2025-03-10T02:02:41.000+00:00\\\\n\\",\\n \\"sparkDriverMemory\\": 1073741824,\\n \\"modifier\\": 0,\\n \\"sparkExecutorCores\\": 1,\\n \\"sparkConf\\": [\\n {\\n \\"value\\": \\"test_application\\",\\n \\"key\\": \\"spark.app.name\\"\\n }\\n ],\\n \\"sparkVersion\\": \\"esr-4.1.1\\",\\n \\"sparkExecutorMemory\\": 1073741824,\\n \\"fusion\\": true,\\n \\"isDefault\\": true,\\n \\"sparkDriverCores\\": 1,\\n \\"displaySparkVersion\\": \\"esr-4.1.1\\",\\n \\"sparkLogPath\\": \\"oss://your_bucket/path/to/your/log\\",\\n \\"name\\": \\"\\",\\n \\"bizId\\": \\"\\"\\n }\\n ],\\n \\"success\\": true,\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'ListWorkspaceQueues' => [
+ 'summary' => '查看工作空间的队列列表。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/queues',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
- 'abilityTreeCode' => '193399',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce60H0RM',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '192786',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
- ],
- ],
- [
- 'name' => 'runId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '运行任务id。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'jr-d2d82aa09155****',
- ],
- ],
- [
- 'name' => 'queryTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => '查询时间。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2024-01-01',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-26ca1703f6d7****'],
],
[
- 'name' => 'locale',
+ 'name' => 'environment',
'in' => 'query',
'schema' => [
- 'description' => '诊断信息语言。',
+ 'description' => '环境类型。',
'type' => 'string',
'required' => false,
- 'example' => 'zh-CN',
- 'default' => 'zh-CN',
+ 'enumValueTitles' => ['dev' => 'dev', 'production' => 'production'],
+ 'example' => 'production',
],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'data' => [
- 'description' => '返回结果。',
- 'type' => 'object',
- 'properties' => [
- 'suggestions' => [
- 'description' => '诊断信息列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '诊断信息描述。',
- 'type' => 'string',
- 'example' => '正常。',
+ 'queues' => [
+ 'description' => '队列列表',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '队列详情',
+ 'type' => 'object',
+ 'properties' => [
+ 'regionId' => ['title' => 'regionId。', 'description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'example' => 'dev_queue'],
+ 'workspaceId' => ['title' => '工作空间id。', 'description' => '工作空间ID。', 'type' => 'string', 'example' => 'w-1234abcd'],
+ 'queueType' => ['title' => '队列类型', 'description' => '队列类型。取值:'."\n"
+ ."\n"
+ .'- instance:单一任务类型'."\n"
+ .'- instanceChildren:父任务类型', 'type' => 'string', 'example' => 'instance'],
+ 'properties' => ['title' => '队列Label', 'description' => '队列Label。', 'type' => 'string', 'example' => 'dev_queue'],
+ 'queueScope' => ['title' => '队列架构', 'description' => '队列架构。', 'type' => 'string', 'example' => '{"arch": "x86"}'],
+ 'maxResource' => ['title' => '队列资源最大容量', 'description' => '队列资源最大容量。', 'type' => 'string', 'example' => '{"cpu": "2","memory": "2Gi"}'],
+ 'minResource' => ['title' => '队列资源最小容量', 'description' => '队列资源最小容量。', 'type' => 'string', 'example' => '{"cpu": "2","memory": "2Gi"}'],
+ 'usedResource' => ['title' => '队列资源使用容量', 'description' => '队列资源使用容量。', 'type' => 'string', 'example' => '{"cpu": "2","memory": "2Gi"}'],
+ 'queueStatus' => ['description' => '队列状态。', 'type' => 'string', 'example' => 'RUNNING'],
+ 'creator' => ['description' => '创建用户UID。', 'type' => 'string', 'example' => '237109'],
+ 'allowActions' => [
+ 'title' => '队列允许的操作',
+ 'description' => '队列允许的操作列表',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '队列允许的操作',
+ 'type' => 'object',
+ 'properties' => [
+ 'actionArn' => ['title' => '行为 arn。', 'description' => '行为 arn。', 'type' => 'string', 'example' => 'acs:emr::workspaceId:action/create_queue'],
+ 'actionName' => ['title' => '权限名称。', 'description' => '权限名称。', 'type' => 'string', 'example' => 'view'],
+ 'displayName' => ['title' => '权限展示名称。', 'description' => '权限展示名称。', 'type' => 'string', 'example' => '文件目录遍历、文件浏览'],
+ 'description' => ['title' => 'action 描述。', 'description' => 'action 描述。', 'type' => 'string', 'example' => 'Directory traversal and file browsing'],
+ 'dependencies' => [
+ 'title' => 'action 依赖列表。',
+ 'description' => 'action 依赖列表。',
+ 'type' => 'array',
+ 'items' => ['description' => 'action 依赖。', 'type' => 'string', 'example' => 'view'],
+ 'example' => '["view"]',
+ ],
+ ],
+ ],
+ ],
+ 'environments' => [
+ 'description' => '队列环境类型列表',
+ 'type' => 'array',
+ 'items' => ['description' => '队列环境类型', 'type' => 'string', 'example' => 'production'],
+ ],
+ 'paymentType' => ['description' => '付费类型。可选值:'."\n"
+ ."\n"
+ .'- PayAsYouGo:按量付费'."\n"
+ .'- Pre:包年包月', 'type' => 'string', 'example' => 'PayAsYouGo'],
+ 'createTime' => ['description' => '工作空间创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1684115879955'],
+ 'preheat' => ['title' => '是否进行资源预热'."\n", 'type' => 'boolean'],
+ 'queueCategory' => ['title' => '队列类型,CPU或GPU。', 'type' => 'string', 'example' => 'CPU'],
+ 'gpuSpec' => [
+ 'title' => 'gpu机型列表。',
+ 'type' => 'array',
+ 'items' => ['title' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn7i-c8g1.2xlarge'],
],
],
],
],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['title' => '下一页TOKEN。', 'description' => '下一页TOKEN。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['title' => '记录总数。', 'description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"data\\": {\\n \\"suggestions\\": [\\n \\"正常。\\"\\n ]\\n }\\n}","type":"json"}]',
- 'title' => '获取作业诊断信息',
- ],
- 'CancelJobRun' => [
- 'summary' => '调用CancelJobRun终止正在运行的Spark任务。',
- 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns/{jobRunId}',
- 'methods' => [
- 'delete',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '215798',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"queues\\": [\\n {\\n \\"regionId\\": \\"cn-hangzhou\\",\\n \\"queueName\\": \\"dev_queue\\",\\n \\"workspaceId\\": \\"w-1234abcd\\",\\n \\"queueType\\": \\"instance\\",\\n \\"properties\\": \\"dev_queue\\",\\n \\"queueScope\\": \\"{\\\\\\"arch\\\\\\": \\\\\\"x86\\\\\\"}\\",\\n \\"maxResource\\": \\"{\\\\\\"cpu\\\\\\": \\\\\\"2\\\\\\",\\\\\\"memory\\\\\\": \\\\\\"2Gi\\\\\\"}\\",\\n \\"minResource\\": \\"{\\\\\\"cpu\\\\\\": \\\\\\"2\\\\\\",\\\\\\"memory\\\\\\": \\\\\\"2Gi\\\\\\"}\\",\\n \\"usedResource\\": \\"{\\\\\\"cpu\\\\\\": \\\\\\"2\\\\\\",\\\\\\"memory\\\\\\": \\\\\\"2Gi\\\\\\"}\\",\\n \\"queueStatus\\": \\"RUNNING\\",\\n \\"creator\\": \\"237109\\",\\n \\"allowActions\\": [\\n {\\n \\"actionArn\\": \\"acs:emr::workspaceId:action/create_queue\\",\\n \\"actionName\\": \\"view\\",\\n \\"displayName\\": \\"文件目录遍历、文件浏览\\",\\n \\"description\\": \\"Directory traversal and file browsing\\",\\n \\"dependencies\\": [\\n \\"view\\"\\n ]\\n }\\n ],\\n \\"environments\\": [\\n \\"production\\"\\n ],\\n \\"paymentType\\": \\"PayAsYouGo\\",\\n \\"createTime\\": 1684115879955,\\n \\"preheat\\": true,\\n \\"queueCategory\\": \\"CPU\\",\\n \\"gpuSpec\\": [\\n \\"ecs.gn7i-c8g1.2xlarge\\"\\n ]\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
+ 'title' => '获取工作空间队列列表',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'parameters' => [
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d2d82aa09155****',
- ],
- ],
+ 'ramActions' => [
[
- 'name' => 'jobRunId',
- 'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '任务实例ID。',
- 'description' => '任务运行ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'jr-f09a8fda2396****',
- ],
- ],
- [
- 'name' => 'regionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据',
- 'type' => 'object',
- 'properties' => [
- 'jobRunId' => [
- 'description' => '任务运行ID。',
- 'type' => 'string',
- 'example' => 'jr-f09a8fda2396****',
- ],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListWorkspaceQueues',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"jobRunId\\": \\"jr-f09a8fda2396****\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '终止Spark任务',
],
- 'ListJobRuns' => [
- 'summary' => '调用ListJobRuns获取Spark任务列表。',
- 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListWorkspaces' => [
+ 'summary' => '调用ListWorkspaces获取工作空间列表。',
+ 'path' => '/api/v1/workspaces',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '215800',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeCode' => '192019',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
'name' => 'nextToken',
'in' => 'query',
'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '标记当前开始读取的位置。',
- 'description' => '标记当前开始读取的位置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C89568980',
- ],
+ 'schema' => ['title' => '标记当前开始读取的位置。', 'description' => '标记当前开始读取的位置。', 'type' => 'string', 'required' => false, 'example' => '1'],
],
[
'name' => 'maxResults',
'in' => 'query',
'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数,最大不超过100。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
],
[
'name' => 'name',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '作业名称。',
- 'description' => '任务名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'emr-spark-demo-job',
- ],
+ 'schema' => ['description' => '工作空间的名称,支持根据工作空间名称进行模糊搜索。', 'type' => 'string', 'required' => false, 'example' => 'test_workspace', 'title' => '工作空间的名称,支持根据工作空间名称进行模糊搜索。'],
],
[
- 'name' => 'creator',
+ 'name' => 'state',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '创建用户Uid。',
- 'description' => '创建用户UID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '150976534701****',
- ],
+ 'schema' => ['description' => '工作空间状态', 'type' => 'string', 'required' => false, 'example' => 'running', 'title' => '会话状态。'."\n"
+ .'- Starting:启动中。'."\n"
+ .'- Running:运行中。'."\n"
+ .'- Stopping:正在停止。'."\n"
+ .'- Stopped:已停止。'."\n"
+ .'- Error:已失败。'],
],
[
- 'name' => 'jobRunId',
+ 'name' => 'regionId',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '作业id。',
- 'description' => '任务ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'j-xxx',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'tags',
+ 'name' => 'tag',
'in' => 'query',
- 'allowEmptyValue' => false,
'style' => 'json',
'schema' => [
- 'title' => '标签。',
- 'description' => '标签列表。',
'type' => 'array',
'items' => [
- 'description' => '标签对象。',
'type' => 'object',
'properties' => [
- 'key' => [
- 'description' => '标签键。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tag_key',
- ],
- 'value' => [
- 'description' => '标签值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'value',
- ],
+ 'key' => ['type' => 'string', 'required' => false, 'title' => '标签键。', 'example' => 'cn-shenzhen-finance.edas.config.server', 'description' => '标签键。'],
+ 'value' => ['type' => 'string', 'required' => false, 'example' => 'iPhone disk space remaining rate', 'title' => '标签值。', 'description' => '标签值。'],
],
'required' => false,
+ 'title' => '标签值。',
+ 'description' => '标签值。',
],
'required' => false,
+ 'title' => '标签值。',
+ 'description' => '标签值。',
],
],
[
- 'name' => 'states',
- 'in' => 'query',
- 'allowEmptyValue' => false,
- 'style' => 'json',
- 'schema' => [
- 'title' => '作业状态。',
- 'description' => '任务状态。',
- 'type' => 'array',
- 'items' => [
- 'description' => '任务状态。取值范围:'."\n"
- .'- Submitted:已提交。'."\n"
- .'- Pending:待处理。'."\n"
- .'- Running:运行中。'."\n"
- .'- Success:成功。'."\n"
- .'- Failed:失败。'."\n"
- .'- Cancelling:取消中。'."\n"
- .'- Cancelled:已取消。'."\n"
- .'- CancelFailed:取消失败。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Running',
- ],
- 'required' => false,
- 'example' => '["Running","Submitted"]',
- ],
- ],
- [
- 'name' => 'startTime',
- 'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => '任务开始时间范围。',
- 'type' => 'object',
- 'properties' => [
- 'startTime' => [
- 'description' => '任务开始时间范围的起点。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1709740800000',
- ],
- 'endTime' => [
- 'description' => '任务开始时间范围的终点。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1710432000000',
- ],
- ],
- 'required' => false,
- ],
- ],
- [
- 'name' => 'endTime',
- 'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => '任务结束时间范围。',
- 'type' => 'object',
- 'properties' => [
- 'startTime' => [
- 'description' => '任务结束时间范围的起点。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1709740800000',
- ],
- 'endTime' => [
- 'description' => '任务结束时间范围的终点。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1710432000000',
- ],
- ],
- 'required' => false,
- ],
- ],
- [
- 'name' => 'resourceQueueId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Spark任务运行的资源队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_queue',
- ],
- ],
- [
- 'name' => 'jobRunDeploymentId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '流任务部署的任务ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'jd-b6d003f1930f****',
- ],
- ],
- [
- 'name' => 'regionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'minDuration',
- 'in' => 'query',
- 'schema' => [
- 'description' => '任务执行时长的最小值,单位ms。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '60000',
- ],
- ],
- [
- 'name' => 'isWorkflow',
- 'in' => 'query',
- 'schema' => [
- 'description' => '是否为工作流任务。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- [
- 'name' => 'runtimeConfigs',
- 'in' => 'query',
- 'schema' => [
- 'description' => '运行配置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{\\"key\\":\\"mainClass\\",\\"value\\":\\"yourClass\\"}]',
- ],
- ],
- [
- 'name' => 'applicationConfigs',
+ 'name' => 'resourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'spark配置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{\\"key\\":\\"spark.app.name\\",\\"value\\":\\"test\\"}]',
- ],
+ 'schema' => ['title' => '资源组ID', 'type' => 'string', 'example' => 'rg-aek2thxggoqhmhq'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '返回数据',
- 'description' => '返回数据',
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'jobRuns' => [
- 'description' => 'Spark任务列表。',
+ 'workspaces' => [
+ 'description' => '工作空间列表。',
'type' => 'array',
'items' => [
- 'description' => 'Spark任务对象。',
+ 'description' => '工作空间详情。',
'type' => 'object',
'properties' => [
- 'workspaceId' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-d2d82aa09155****',
- ],
- 'jobRunId' => [
- 'title' => '任务实例ID。',
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'jr-231231',
- ],
- 'name' => [
- 'title' => '作业实例名称。',
- 'description' => '任务名称。',
- 'type' => 'string',
- 'example' => 'jobName',
- ],
- 'state' => [
- 'title' => '作业状态。',
- 'description' => '任务状态。',
- 'type' => 'string',
- 'example' => 'Running',
- ],
+ 'workspaceId' => ['title' => 'Workspace Id。', 'description' => 'Workspace ID。', 'type' => 'string', 'example' => 'w-******'],
+ 'workspaceName' => ['title' => '工作空间名称。', 'description' => '工作空间名称。', 'type' => 'string', 'example' => 'Spark batch workspace-1'],
+ 'resourceSpec' => ['title' => '资源规格。', 'description' => '资源规格。', 'type' => 'string', 'example' => '100cu'],
+ 'storage' => ['title' => 'oss 路径。', 'description' => 'OSS路径。', 'type' => 'string', 'example' => 'spark-result'],
+ 'dlfCatalogId' => ['title' => 'dlf catalog 信息。', 'description' => 'DLF Catalog信息。', 'type' => 'string', 'example' => 'default'],
+ 'paymentType' => ['title' => '付费类型。', 'description' => '付费类型。', 'type' => 'string', 'example' => 'PayAsYouGo or Subscription'],
+ 'paymentDurationUnit' => ['title' => '订购周期(pre付费类型必须)。', 'description' => '订购周期(pre付费类型必填)。', 'type' => 'string', 'example' => 'YEAR, MONTH, WEEK, DAY, HOUR, MINUTE'],
+ 'duration' => ['title' => '订购周期数量(pre付费类型必须)。', 'description' => '订购周期数量(pre付费类型必填)。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'autoRenew' => ['title' => '是否自动续费(pre付费类型必须)。', 'description' => '是否自动续费(pre付费类型必填)。', 'type' => 'boolean', 'example' => 'true'],
+ 'autoRenewPeriod' => ['title' => '自动续费时长(pre付费类型必须)。', 'description' => '自动续费时长(pre付费类型必填)。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'autoRenewPeriodUnit' => ['title' => '自动续费周期(pre付费类型必须)。', 'description' => '自动续费周期(pre付费类型必填)。', 'type' => 'string', 'example' => 'YEAR, MONTH, WEEK, DAY, HOUR, MINUTE'],
+ 'workspaceStatus' => ['title' => '工作空间状态。', 'description' => '工作空间状态。', 'type' => 'string', 'example' => 'STARTING,RUNNING,TERMINATED'],
+ 'failReason' => ['title' => '失败原因。', 'description' => '失败原因。', 'type' => 'string', 'example' => 'out of stock'],
+ 'paymentStatus' => ['title' => '支付状态。', 'description' => '支付状态。', 'type' => 'string', 'example' => 'PAID/UNPAID'],
+ 'regionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-shanghai'],
+ 'createTime' => ['description' => '工作空间创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1684115879955'],
+ 'endTime' => ['description' => '工作空间释放时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1687103999999'],
'stateChangeReason' => [
- 'description' => '状态变化原因。',
+ 'description' => '工作空间状态的变更信息。',
'type' => 'object',
'properties' => [
- 'code' => [
- 'description' => '错误码。',
- 'type' => 'string',
- 'example' => '0',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'connection refused'."\n",
- ],
+ 'code' => ['description' => '错误码。', 'type' => 'string', 'example' => '0'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'Success'],
],
],
- 'submitTime' => [
- 'title' => '作业提交时间。',
- 'description' => '任务提交时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1684119314000',
- ],
- 'endTime' => [
- 'title' => '作业结束时间。',
- 'description' => '任务结束时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1684119314000',
- ],
- 'codeType' => [
- 'title' => '作业代码类型。',
- 'description' => '任务代码类型。取值范围:'."\n"
- ."\n"
- .'SQL'."\n"
- ."\n"
- .'JAR'."\n"
- ."\n"
- .'PYTHON',
- 'type' => 'string',
- 'example' => 'SQL',
- ],
- 'webUI' => [
- 'title' => '作业web ui。',
- 'description' => '作业Web UI。',
- 'type' => 'string',
- 'example' => 'http://spark-ui',
- ],
- 'executionTimeoutSeconds' => [
- 'title' => '运行超时时间。',
- 'description' => '运行超时时间。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '3600',
- ],
- 'creator' => [
- 'title' => '创建用户Uid。',
- 'description' => '创建用户UID。',
- 'type' => 'string',
- 'example' => '150978934701****',
+ 'releaseType' => ['description' => '工作空间释放原因。', 'type' => 'string', 'example' => 'SERVICE_RELEASE'],
+ 'dlfType' => ['description' => '绑定dlf类型。', 'type' => 'string', 'example' => '1.0'],
+ 'prePaidQuota' => [
+ 'description' => '预付费资源配额的信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'usedResource' => ['description' => '当前已使用的资源量。', 'type' => 'string', 'example' => '{\\"cpu\\":\\"0\\",\\"memory\\":\\"0Gi\\",\\"cu\\":\\"0\\"}'],
+ 'maxResource' => ['description' => '可使用的最大资源量。', 'type' => 'string', 'example' => '{\\"cpu\\":\\"1\\",\\"memory\\":\\"4Gi\\",\\"cu\\":\\"1\\"}'],
+ 'allocatedResource' => ['description' => '当前已分配的资源量。', 'type' => 'string', 'example' => '{\\"cpu\\":\\"1\\",\\"memory\\":\\"4Gi\\",\\"cu\\":\\"1\\"}'],
+ 'createTime' => ['description' => '资源配额的创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1745683200000'],
+ 'expireTime' => ['description' => '资源配额的过期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1740537153000'],
+ 'autoRenewal' => ['description' => '资源是否开启了自动续费功能。'."\n"
+ ."\n"
+ .'- true:开启自动续费,资源到期后会自动续订。'."\n"
+ .'- false:未开启自动续费,资源到期后将停止使用。', 'type' => 'boolean', 'example' => 'true'],
+ 'paymentStatus' => ['description' => '当前资源的支付状态。取值如下:'."\n"
+ .'- NORMAL:有效中。'."\n"
+ .'- WAIT_FOR_EXPIRE:将过期。'."\n"
+ .'- EXPIRED:已过期。', 'type' => 'string', 'example' => 'NORMAL'],
+ 'instanceId' => ['description' => '与该配额关联的资源实例ID。', 'type' => 'string', 'example' => 'i-abc12345'],
+ 'orderId' => ['type' => 'string', 'description' => ''],
+ ],
],
'tags' => [
- 'title' => '标签。',
- 'description' => '标签。',
'type' => 'array',
'items' => [
- 'description' => '任务标签.',
- '$ref' => '#/components/schemas/Tag',
- ],
- ],
- 'log' => [
- 'description' => '运行日志路径。',
- '$ref' => '#/components/schemas/RunLog',
- ],
- 'releaseVersion' => [
- 'description' => '运行任务的Spark引擎版本。',
- 'type' => 'string',
- 'example' => 'esr-3.0.0 (Spark 3.4.3, Scala 2.12, Native Runtime)',
- ],
- 'jobDriver' => [
- 'description' => 'Spark Driver相关信息,List接口不返回此参数。',
- '$ref' => '#/components/schemas/JobDriver',
- ],
- 'configurationOverrides' => [
- 'description' => 'Spark高级配置,List接口不返回此参数。',
- 'type' => 'object',
- 'properties' => [
- 'configurations' => [
- 'description' => 'Spark Conf列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Spark Conf对象。',
- '$ref' => '#/components/schemas/Configuration',
- ],
+ 'type' => 'object',
+ 'properties' => [
+ 'tagKey' => ['type' => 'string', 'description' => ''],
+ 'tagValue' => ['type' => 'string', 'description' => ''],
],
+ 'description' => '',
],
+ 'description' => '',
],
- 'displayReleaseVersion' => [
- 'description' => '运行任务的Spark引擎版本。',
- 'type' => 'string',
- 'example' => 'esr-3.0.0 (Spark 3.4.3, Scala 2.12)',
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'vcoreSeconds' => [
- 'description' => '任务已分配的 vcore 总量乘以任务已运行的秒数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '8236',
- ],
- 'mbSeconds' => [
- 'description' => '任务已分配的内存总量乘以任务已运行的秒数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '33030784',
- ],
- 'cuHours' => [
- 'description' => '任务运行周期内所消耗的 CU 数量(该值为预估值,最终以账单为准)。',
- 'type' => 'number',
- 'format' => 'double',
- 'example' => '2.059',
+ 'resourceGroupId' => ['type' => 'string', 'example' => 'rg-xxxxxxxxxx'],
+ 'gpuSpec' => [
+ 'title' => 'gpu机型列表。',
+ 'type' => 'array',
+ 'items' => ['title' => 'gpu机型。', 'type' => 'string', 'example' => 'ecs.gn7i-c8g1.2xlarge'],
],
- 'resourceQueueId' => [
- 'title' => '运行任务的队列名称。',
- 'description' => '运行任务的队列名称。',
- 'type' => 'string',
- 'example' => 'dev_queue',
+ 'ipWhiteList' => [
+ 'title' => '工作空间ip白名单。',
+ 'type' => 'array',
+ 'items' => ['title' => '工作空间ip白名单。', 'type' => 'string', 'example' => '0.0.0.1'],
],
],
],
],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'title' => '返回读取到的数据位置。',
- 'description' => '返回读取到的数据位置。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'maxResults' => [
- 'title' => '本次请求所返回的最大记录条数。',
- 'description' => '本次请求所返回的最大记录条数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'totalCount' => [
- 'title' => '本次请求条件下的数据总量。',
- 'description' => '本次请求条件下的数据总量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'nextToken' => ['title' => '下一页TOKEN。', 'description' => '下一页TOKEN。', 'type' => 'string', 'example' => '1'],
+ 'maxResults' => ['title' => '一次获取的最大记录数。', 'description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'totalCount' => ['title' => '记录总数。', 'description' => '记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"jobRuns\\": [\\n {\\n \\"workspaceId\\": \\"w-d2d82aa09155****\\",\\n \\"jobRunId\\": \\"jr-231231\\",\\n \\"name\\": \\"jobName\\",\\n \\"state\\": \\"Running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"0\\",\\n \\"message\\": \\"connection refused\\\\n\\"\\n },\\n \\"submitTime\\": 1684119314000,\\n \\"endTime\\": 1684119314000,\\n \\"codeType\\": \\"SQL\\",\\n \\"webUI\\": \\"http://spark-ui\\",\\n \\"executionTimeoutSeconds\\": 3600,\\n \\"creator\\": \\"150978934701****\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ],\\n \\"log\\": {\\n \\"driverStdOut\\": \\"\\",\\n \\"driverStdError\\": \\"\\",\\n \\"driverSyslog\\": \\"\\",\\n \\"driverStartup\\": \\"\\"\\n },\\n \\"releaseVersion\\": \\"esr-3.0.0 (Spark 3.4.3, Scala 2.12, Native Runtime)\\",\\n \\"jobDriver\\": {\\n \\"sparkSubmit\\": {\\n \\"entryPoint\\": \\"\\",\\n \\"entryPointArguments\\": [\\n \\"\\"\\n ],\\n \\"sparkSubmitParameters\\": \\"\\"\\n }\\n },\\n \\"configurationOverrides\\": {\\n \\"configurations\\": [\\n {\\n \\"configFileName\\": \\"\\",\\n \\"configItemKey\\": \\"\\",\\n \\"configItemValue\\": \\"\\"\\n }\\n ]\\n },\\n \\"displayReleaseVersion\\": \\"esr-3.0.0 (Spark 3.4.3, Scala 2.12)\\",\\n \\"fusion\\": true,\\n \\"vcoreSeconds\\": 8236,\\n \\"mbSeconds\\": 33030784,\\n \\"cuHours\\": 2.059,\\n \\"resourceQueueId\\": \\"dev_queue\\"\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
- 'title' => '获取Spark任务列表',
- ],
- 'GetJobRun' => [
- 'summary' => '调用GetJobRun获取任务详情。',
- 'path' => '/api/v1/workspaces/{workspaceId}/jobRuns/{jobRunId}',
- 'methods' => [
- 'get',
+ 'title' => '获取工作空间列表',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListWorkspaces',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"workspaces\\": [\\n {\\n \\"workspaceId\\": \\"w-******\\",\\n \\"workspaceName\\": \\"Spark batch workspace-1\\",\\n \\"resourceSpec\\": \\"100cu\\",\\n \\"storage\\": \\"spark-result\\",\\n \\"dlfCatalogId\\": \\"default\\",\\n \\"paymentType\\": \\"PayAsYouGo or Subscription\\",\\n \\"paymentDurationUnit\\": \\"YEAR, MONTH, WEEK, DAY, HOUR, MINUTE\\",\\n \\"duration\\": 1,\\n \\"autoRenew\\": true,\\n \\"autoRenewPeriod\\": 1,\\n \\"autoRenewPeriodUnit\\": \\"YEAR, MONTH, WEEK, DAY, HOUR, MINUTE\\",\\n \\"workspaceStatus\\": \\"STARTING,RUNNING,TERMINATED\\",\\n \\"failReason\\": \\"out of stock\\",\\n \\"paymentStatus\\": \\"PAID/UNPAID\\",\\n \\"regionId\\": \\"cn-shanghai\\",\\n \\"createTime\\": 1684115879955,\\n \\"endTime\\": 1687103999999,\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"0\\",\\n \\"message\\": \\"Success\\"\\n },\\n \\"releaseType\\": \\"SERVICE_RELEASE\\",\\n \\"dlfType\\": \\"1.0\\",\\n \\"prePaidQuota\\": {\\n \\"usedResource\\": \\"{\\\\\\\\\\\\\\"cpu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0Gi\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"}\\",\\n \\"maxResource\\": \\"{\\\\\\\\\\\\\\"cpu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"4Gi\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"allocatedResource\\": \\"{\\\\\\\\\\\\\\"cpu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"memory\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"4Gi\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cu\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"createTime\\": 1745683200000,\\n \\"expireTime\\": 1740537153000,\\n \\"autoRenewal\\": true,\\n \\"paymentStatus\\": \\"NORMAL\\",\\n \\"instanceId\\": \\"i-abc12345\\",\\n \\"orderId\\": \\"\\"\\n },\\n \\"tags\\": [\\n {\\n \\"tagKey\\": \\"\\",\\n \\"tagValue\\": \\"\\"\\n }\\n ],\\n \\"resourceGroupId\\": \\"rg-xxxxxxxxxx\\",\\n \\"gpuSpec\\": [\\n \\"ecs.gn7i-c8g1.2xlarge\\"\\n ],\\n \\"ipWhiteList\\": [\\n \\"0.0.0.1\\"\\n ]\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 200\\n}","type":"json"}]',
+ ],
+ 'RefreshLivyComputeToken' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/token/{tokenId}',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '215794',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '222308',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
- 'name' => 'workspaceId',
+ 'name' => 'workspaceBizId',
'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d2d82aa09151****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
],
[
- 'name' => 'jobRunId',
+ 'name' => 'livyComputeId',
'in' => 'path',
- 'allowEmptyValue' => false,
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-i8xogcdfa4fk3yn1'],
+ ],
+ [
+ 'name' => 'tokenId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Token ID。', 'type' => 'string', 'required' => false, 'example' => 'lctk-xxxxxxxx'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '任务实例ID。',
- 'description' => '任务运行ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'jr-93d98d2f7061****',
+ 'description' => '请求结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => '名称。', 'type' => 'string', 'required' => false, 'example' => 'test'],
+ 'token' => ['description' => 'Token内容,长度需要大于等于16。', 'type' => 'string', 'required' => false, 'example' => 'fe86812667f04v343'],
+ 'autoExpireConfiguration' => [
+ 'description' => 'Token过期信息结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => 'Token是否自动过期。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'expireDays' => ['description' => '过期时间(天)。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '7'],
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
],
],
[
'name' => 'regionId',
'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '更新Livy Gateway的Token',
+ 'summary' => '更新Livy Gateway的Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:RefreshLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
+ ],
+ 'StartCacheCluster' => [
+ 'path' => '/api/v1/cache/{cacheClusterId}/start',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'cacheClusterId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Cache集群ID。', 'type' => 'string', 'required' => false, 'example' => 'spc-xxxxxxxx'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'jobRun' => [
- 'description' => '任务详情。',
- 'type' => 'object',
- 'properties' => [
- 'workspaceId' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-d2d82aa09155****',
- ],
- 'jobRunId' => [
- 'title' => '任务实例ID。',
- 'description' => '任务运行ID。',
- 'type' => 'string',
- 'example' => 'jr-93d98d2f7061****',
- ],
- 'name' => [
- 'title' => '作业实例名称。',
- 'description' => '任务名称。',
- 'type' => 'string',
- 'example' => 'jobName',
- ],
- 'state' => [
- 'title' => '作业状态。',
- 'description' => '任务状态。',
- 'type' => 'string',
- 'example' => 'Running',
- ],
- 'stateChangeReason' => [
- 'description' => '状态变化原因。',
- 'type' => 'object',
- 'properties' => [
- 'code' => [
- 'description' => '错误码。',
- 'type' => 'string',
- 'example' => 'ERR-100000',
- ],
- 'message' => [
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'connection refused',
- ],
- ],
- ],
- 'submitTime' => [
- 'title' => '作业提交时间。',
- 'description' => '任务提交时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1684119314000',
- ],
- 'endTime' => [
- 'title' => '作业结束时间。',
- 'description' => '任务结束时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1684122914000',
- ],
- 'codeType' => [
- 'title' => '作业代码类型。',
- 'description' => '任务代码类型。可能值:'."\n"
- ."\n"
- .'- SQL'."\n"
- ."\n"
- .'- JAR'."\n"
- ."\n"
- .'- PYTHON',
- 'type' => 'string',
- 'example' => 'SQL',
- ],
- 'webUI' => [
- 'title' => '作业web ui。',
- 'description' => '作业Web UI。',
- 'type' => 'string',
- 'example' => 'http://spark-ui',
- ],
- 'executionTimeoutSeconds' => [
- 'title' => '运行超时时间。',
- 'description' => '运行超时时间。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '3600',
- ],
- 'resourceOwnerId' => [
- 'title' => '创建用户Uid。',
- 'description' => '创建用户UID。',
- 'type' => 'string',
- 'example' => '150978934701****',
- ],
- 'tags' => [
- 'title' => '标签。',
- 'description' => '标签列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '标签。',
- '$ref' => '#/components/schemas/Tag',
- ],
- ],
- 'log' => [
- 'description' => '运行日志路径。',
- '$ref' => '#/components/schemas/RunLog',
- ],
- 'releaseVersion' => [
- 'description' => '运行任务的Spark引擎版本。',
- 'type' => 'string',
- 'example' => 'esr-3.3.1',
- ],
- 'resourceQueueId' => [
- 'description' => '运行任务的队列名称。',
- 'type' => 'string',
- 'example' => 'root_queue',
- ],
- 'jobDriver' => [
- 'description' => 'Spark Driver相关信息。',
- '$ref' => '#/components/schemas/JobDriver',
- ],
- 'configurationOverrides' => [
- 'description' => 'Spark任务配置。',
- 'type' => 'object',
- 'properties' => [
- 'configurations' => [
- 'description' => '配置列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '配置信息。',
- '$ref' => '#/components/schemas/Configuration',
- ],
- ],
- ],
- ],
- 'displayReleaseVersion' => [
- 'description' => '控制台实际展示的版本。',
- 'type' => 'string',
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'fusion' => [
- 'description' => '是否开启 Fusion 引擎加速。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'environmentId' => [
- 'description' => '环境 ID。',
- 'type' => 'string',
- 'example' => 'env-cpv569tlhtgndjl8****',
- ],
- 'notebookAccessUrl' => [
- 'title' => '如果Job类型为NOTEBOOK,此参数返回NOTEBOOK文件的下载链接',
- 'description' => '如果Job类型为NOTEBOOK,此参数返回NOTEBOOK文件的下载链接',
- 'type' => 'string',
- 'example' => 'http://workflow-ide-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/spark-notebook-output/w-xxxxxxxxx/xxxxxxx',
- ],
- ],
- ],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n"],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"jobRun\\": {\\n \\"workspaceId\\": \\"w-d2d82aa09155****\\",\\n \\"jobRunId\\": \\"jr-93d98d2f7061****\\",\\n \\"name\\": \\"jobName\\",\\n \\"state\\": \\"Running\\",\\n \\"stateChangeReason\\": {\\n \\"code\\": \\"ERR-100000\\",\\n \\"message\\": \\"connection refused\\"\\n },\\n \\"submitTime\\": 1684119314000,\\n \\"endTime\\": 1684122914000,\\n \\"codeType\\": \\"SQL\\",\\n \\"webUI\\": \\"http://spark-ui\\",\\n \\"executionTimeoutSeconds\\": 3600,\\n \\"resourceOwnerId\\": \\"150978934701****\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ],\\n \\"log\\": {\\n \\"driverStdOut\\": \\"\\",\\n \\"driverStdError\\": \\"\\",\\n \\"driverSyslog\\": \\"\\",\\n \\"driverStartup\\": \\"\\"\\n },\\n \\"releaseVersion\\": \\"esr-3.3.1\\",\\n \\"resourceQueueId\\": \\"root_queue\\",\\n \\"jobDriver\\": {\\n \\"sparkSubmit\\": {\\n \\"entryPoint\\": \\"\\",\\n \\"entryPointArguments\\": [\\n \\"\\"\\n ],\\n \\"sparkSubmitParameters\\": \\"\\"\\n }\\n },\\n \\"configurationOverrides\\": {\\n \\"configurations\\": [\\n {\\n \\"configFileName\\": \\"\\",\\n \\"configItemKey\\": \\"\\",\\n \\"configItemValue\\": \\"\\"\\n }\\n ]\\n },\\n \\"displayReleaseVersion\\": \\"esr-4.0.0 (Spark 3.5.2, Scala 2.12)\\",\\n \\"fusion\\": false,\\n \\"environmentId\\": \\"env-cpv569tlhtgndjl8****\\",\\n \\"notebookAccessUrl\\": \\"http://workflow-ide-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/spark-notebook-output/w-xxxxxxxxx/xxxxxxx\\"\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '获取Spark任务详情',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '启动Cache集群',
+ 'summary' => '启动CacheCluster',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\"\\n}","type":"json"}]',
],
'StartJobRun' => [
'summary' => '调用StartJobRun启动Spark任务。',
'path' => '/api/v1/workspaces/{workspaceId}/jobRuns',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '215792',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
@@ -10123,49 +7539,18 @@
'description' => 'Spark任务请求体。',
'type' => 'object',
'properties' => [
- 'releaseVersion' => [
- 'description' => 'Spark引擎版本号。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-3.3.1',
- ],
- 'jobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'jr-12345',
- ],
- 'name' => [
- 'description' => '任务名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark_job_name',
- ],
- 'resourceQueueId' => [
- 'description' => 'Spark任务运行的资源队列。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dev_queue',
- ],
- 'codeType' => [
- 'description' => '任务类型。取值范围:'."\n"
- ."\n"
- .'- SQL'."\n"
- ."\n"
- .'- JAR'."\n"
- ."\n"
- .'- PYTHON',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SQL',
- ],
- 'executionTimeoutSeconds' => [
- 'description' => '任务超时时间。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '100',
- ],
+ 'releaseVersion' => ['description' => 'Spark引擎版本号。', 'type' => 'string', 'required' => false, 'example' => 'esr-3.3.1'],
+ 'jobId' => ['description' => '任务ID。', 'type' => 'string', 'required' => false, 'example' => 'jr-12345'],
+ 'name' => ['description' => '任务名称。', 'type' => 'string', 'required' => false, 'example' => 'spark_job_name'],
+ 'resourceQueueId' => ['description' => 'Spark任务运行的资源队列。', 'type' => 'string', 'required' => false, 'example' => 'dev_queue'],
+ 'codeType' => ['description' => '任务类型。取值范围:'."\n"
+ ."\n"
+ .'- SQL'."\n"
+ ."\n"
+ .'- JAR'."\n"
+ ."\n"
+ .'- PYTHON', 'type' => 'string', 'required' => false, 'example' => 'SQL'],
+ 'executionTimeoutSeconds' => ['description' => '任务超时时间。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'],
'configurationOverrides' => [
'description' => 'Spark高级配置。',
'type' => 'object',
@@ -10177,24 +7562,9 @@
'description' => 'Spark Conf对象。',
'type' => 'object',
'properties' => [
- 'configFileName' => [
- 'description' => 'Spark Conf所属配置文件。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark-defaults.conf',
- ],
- 'configItemKey' => [
- 'description' => 'Spark Conf键。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark.app.name',
- ],
- 'configItemValue' => [
- 'description' => 'Spark Conf值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test_app',
- ],
+ 'configFileName' => ['description' => 'Spark Conf所属配置文件。', 'type' => 'string', 'required' => false, 'example' => 'spark-defaults.conf'],
+ 'configItemKey' => ['description' => 'Spark Conf键。', 'type' => 'string', 'required' => false, 'example' => 'spark.app.name'],
+ 'configItemValue' => ['description' => 'Spark Conf值。', 'type' => 'string', 'required' => false, 'example' => 'test_app'],
],
'required' => false,
],
@@ -10206,36 +7576,13 @@
'tags' => [
'description' => '任务标签列表。',
'type' => 'array',
- 'items' => [
- 'description' => '标签对象。',
- 'required' => false,
- '$ref' => '#/components/schemas/Tag',
- ],
- 'required' => false,
- ],
- 'clientToken' => [
- 'description' => '幂等校验TOKEN。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '8e6aae2810c8f67229ca70bb31cd****',
- ],
- 'jobDriver' => [
- 'description' => 'Spark Driver相关信息。',
+ 'items' => ['description' => '标签对象。', 'required' => false, '$ref' => '#/components/schemas/Tag'],
'required' => false,
- '$ref' => '#/components/schemas/JobDriver',
- ],
- 'displayReleaseVersion' => [
- 'description' => '控制台实际展示的版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-3.3.1'."\n",
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
],
+ 'clientToken' => ['description' => '幂等校验TOKEN。', 'type' => 'string', 'required' => false, 'example' => '8e6aae2810c8f67229ca70bb31cd****'],
+ 'jobDriver' => ['description' => 'Spark Driver相关信息。', 'required' => false, '$ref' => '#/components/schemas/JobDriver'],
+ 'displayReleaseVersion' => ['description' => '控制台实际展示的版本。', 'type' => 'string', 'required' => false, 'example' => 'esr-3.3.1'."\n"],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
'required' => false,
],
@@ -10243,23 +7590,12 @@
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d2d82aa09155****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d2d82aa09155****'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -10269,168 +7605,160 @@
'description' => '返回数据',
'type' => 'object',
'properties' => [
- 'jobRunId' => [
- 'description' => '任务运行ID。',
- 'type' => 'string',
- 'example' => 'jr-f09a8fda2396****',
- ],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'jobRunId' => ['description' => '任务运行ID。', 'type' => 'string', 'example' => 'jr-f09a8fda2396****'],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"jobRunId\\": \\"jr-f09a8fda2396****\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
'title' => '启动Spark任务',
- ],
- 'GetRunConfiguration' => [
- 'summary' => '获取Spark任务配置',
- 'path' => '/api/v1/workspaces/{workspaceId}/runs/{runId}/action/getRunConfiguration',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartJobRun',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"jobRunId\\": \\"jr-f09a8fda2396****\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'StartKyuubiService' => [
+ 'summary' => '启动Kyuubi Gateway。',
+ 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}/start',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'systemTags' => [],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
+ ],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间id。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d2d82aa09151****',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-cea2c314a****'],
],
[
- 'name' => 'runId',
+ 'name' => 'kyuubiServiceId',
'in' => 'path',
- 'allowEmptyValue' => false,
+ 'schema' => ['description' => 'Kyuubi 服务 ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-415ddee******f1d1eac0388b86'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '任务实例ID。',
- 'description' => '任务实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'jr-93d98d2f7061****',
+ 'title' => 'Schema of Response',
+ 'description' => '响应结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => 'true'],
+ ],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '启动Kyuubi Gateway',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": \\"true\\"\\n}","type":"json"}]',
+ ],
+ 'StartLivyCompute' => [
+ 'summary' => '启动Livy Gateway。',
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/start',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '222269',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceBizId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
+ ],
+ [
+ 'name' => 'livyComputeId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-i8xogcdfa4fk3yn1'],
+ ],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据。',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'runConfiguration' => [
- 'description' => '运行配置。',
- 'type' => 'object',
- 'properties' => [
- 'runtimeConfigs' => [
- 'title' => '运行配置。',
- 'description' => '运行时参数列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '运行时参数。',
- '$ref' => '#/components/schemas/Tag',
- ],
- ],
- 'applicationConfigs' => [
- 'title' => '应用配置项',
- 'description' => 'Spark配置参数列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Spark配置参数。',
- 'type' => 'object',
- 'properties' => [
- 'configFileName' => [
- 'title' => '应用配置文件名。 应用配置文件名。 ```spark-defaults.conf```',
- 'description' => '应用配置文件名。 应用配置文件名。',
- 'type' => 'string',
- 'example' => 'spark-defaults.conf',
- ],
- 'configItemKey' => [
- 'title' => '配置项键。 配置项键。 ```dfs.namenode.checkpoint.period```',
- 'description' => '配置项键。',
- 'type' => 'string',
- 'example' => 'spark.driver.cores',
- ],
- 'configItemValue' => [
- 'title' => '配置项值。 配置项值。 ```3600s```',
- 'description' => '配置项值。',
- 'type' => 'string',
- 'example' => '2',
- ],
- ],
- ],
- ],
- 'logConfig' => [
- 'description' => '日志配置。',
- 'type' => 'object',
- 'properties' => [
- 'LogLevel' => [
- 'description' => '日志级别。',
- 'type' => 'string',
- 'example' => 'INFO',
- ],
- 'LogPath' => [
- 'description' => '日志路径。',
- 'type' => 'string',
- 'example' => 'oss://test',
- ],
- ],
- ],
- ],
- ],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"runConfiguration\\": {\\n \\"runtimeConfigs\\": [\\n {\\n \\"key\\": \\"workflowId\\",\\n \\"value\\": \\"wf-123test\\"\\n }\\n ],\\n \\"applicationConfigs\\": [\\n {\\n \\"configFileName\\": \\"spark-defaults.conf\\",\\n \\"configItemKey\\": \\"spark.driver.cores\\",\\n \\"configItemValue\\": \\"2\\"\\n }\\n ],\\n \\"logConfig\\": {\\n \\"LogLevel\\": \\"INFO\\",\\n \\"LogPath\\": \\"oss://test\\"\\n }\\n },\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
- 'title' => '获取Spark任务配置',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '启动Livy Gateway',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
],
'StartProcessInstance' => [
- 'summary' => '手动运行工作流。',
'path' => '/dolphinscheduler/projects/{bizId}/executors/start-process-instance',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -10443,125 +7771,68 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '192046',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceT8XN05',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduceT8XN05'],
],
'parameters' => [
[
'name' => 'productNamespace',
'in' => 'query',
- 'schema' => [
- 'description' => '产品编码。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SS',
- ],
+ 'schema' => ['description' => '产品编码。', 'type' => 'string', 'required' => true, 'example' => 'SS'],
],
[
'name' => 'bizId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d8********',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d8********'],
],
[
'name' => 'processDefinitionCode',
'in' => 'query',
- 'schema' => [
- 'description' => '工作流定义ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '12***********',
- ],
+ 'schema' => ['description' => '工作流定义ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '12***********'],
],
[
'name' => 'versionNumber',
'in' => 'query',
- 'schema' => [
- 'description' => '工作流定义版本号。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '工作流定义版本号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'isProd',
'in' => 'query',
- 'schema' => [
- 'description' => '工作流是否在生产环境运行。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => '工作流是否在生产环境运行。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'runtimeQueue',
'in' => 'query',
- 'schema' => [
- 'description' => '运行时队列。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
+ 'schema' => ['description' => '运行时队列。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
],
[
'name' => 'versionHashCode',
'in' => 'query',
- 'schema' => [
- 'description' => '版本哈希编码。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dh*********',
- ],
+ 'schema' => ['description' => '版本哈希编码。', 'type' => 'string', 'required' => false, 'example' => 'dh*********'],
],
[
'name' => 'regionId',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
'name' => 'interval',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'schema' => ['type' => 'string', 'required' => false],
],
[
'name' => 'action',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'schema' => ['type' => 'string', 'required' => false],
],
[
'name' => 'comments',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'schema' => ['type' => 'string', 'required' => false],
],
[
'name' => 'email',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'schema' => ['type' => 'string', 'required' => false],
],
],
'responses' => [
@@ -10571,765 +7842,1067 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => 'API请求后端返回码。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1400009',
- ],
- 'msg' => [
- 'description' => '请求 code 对应的详细描述信息。',
- 'type' => 'string',
- 'example' => 'No permission for resource action',
- ],
- 'data' => [
- 'description' => '返回数据。',
- 'type' => 'any',
- 'example' => 'null',
- ],
- 'success' => [
- 'description' => '请求是否成功。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'failed' => [
- 'description' => '手动运行工作流是否失败。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'httpStatusCode' => [
- 'description' => 'HTTP状态编码',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => 'API请求后端返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1400009'],
+ 'msg' => ['description' => '请求 code 对应的详细描述信息。', 'type' => 'string', 'example' => 'No permission for resource action'],
+ 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => 'null'],
+ 'success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'],
+ 'failed' => ['description' => '手动运行工作流是否失败。', 'type' => 'boolean', 'example' => 'false'],
+ 'httpStatusCode' => ['description' => 'HTTP状态编码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": 1400009,\\n \\"msg\\": \\"No permission for resource action\\",\\n \\"data\\": \\"null\\",\\n \\"success\\": true,\\n \\"failed\\": false,\\n \\"httpStatusCode\\": 200\\n}","type":"json"}]',
+ 'staticInfo' => ['returnType' => 'synchronous'],
'title' => '手动运行工作流',
- ],
- 'UpdateProcessDefinitionWithSchedule' => [
- 'summary' => '更新工作流定义和定时调度。',
- 'path' => '/dolphinscheduler/projects/{bizId}/process-definition/{code}',
- 'methods' => [
- 'put',
+ 'summary' => '手动运行工作流。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartProcessInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": 1400009,\\n \\"msg\\": \\"No permission for resource action\\",\\n \\"data\\": \\"null\\",\\n \\"success\\": true,\\n \\"failed\\": false,\\n \\"httpStatusCode\\": 200\\n}","type":"json"}]',
+ ],
+ 'StartRayCluster' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}/start',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '191361',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
+ ],
+ [
+ 'name' => 'clusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => 'Ray集群ID。', 'description' => 'Ray集群ID。', 'type' => 'string', 'required' => false, 'example' => 'ray-uiulagow9xljimm0'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'title' => '请求结构体',
+ 'description' => '请求结构体',
+ 'type' => 'object',
+ 'properties' => [
+ 'clientToken' => ['title' => '幂等校验TOKEN。', 'description' => '幂等校验TOKEN。', 'type' => 'string', 'required' => false, 'example' => 'c533e141-bf99-4236-8b6b-30e133db113c'],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => '8CE06D75-E6A2-505D-9B4B-31DEE3D98A04'],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '启动Ray集群',
+ 'summary' => '启动Ray集群。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8CE06D75-E6A2-505D-9B4B-31DEE3D98A04\\"\\n}","type":"json"}]',
+ ],
+ 'StartSessionCluster' => [
+ 'summary' => '启动session集群。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters/action/startSessionCluster',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
],
],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => [],
'parameters' => [
[
- 'name' => 'productNamespace',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'allowEmptyValue' => false,
+ 'style' => 'json',
'schema' => [
- 'description' => '产品编码。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SS',
+ 'description' => '请求结构体',
+ 'type' => 'object',
+ 'properties' => [
+ 'queueName' => ['description' => '队列名称', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'sessionClusterId' => ['description' => '会话ID', 'type' => 'string', 'required' => false, 'example' => 'sc-xxxxxxxxxxx'],
+ ],
+ 'required' => false,
],
],
[
- 'name' => 'bizId',
+ 'name' => 'workspaceId',
'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d8********'."\n",
+ 'title' => '返回数据',
+ 'description' => '返回数据',
+ 'type' => 'object',
+ 'properties' => [
+ 'sessionClusterId' => ['title' => 'Workspace Id。', 'description' => 'Workspace Id。', 'type' => 'string', 'example' => 'w-******'],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ ],
],
],
+ ],
+ 'title' => '启动会话',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartSessionCluster'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'name',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartSessionCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionClusterId\\": \\"w-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'StopCacheCluster' => [
+ 'path' => '/api/v1/cache/{cacheClusterId}/stop',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'cacheClusterId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Cache集群ID。', 'type' => 'string', 'required' => false, 'example' => 'spc-xxxxxxxxx'],
+ ],
+ [
+ 'name' => 'regionId',
'in' => 'query',
+ 'schema' => ['description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '工作流名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ods_batch_workflow'."\n",
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ ],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '停止Cache集群',
+ 'summary' => '停止CacheCluster',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'StopKyuubiService' => [
+ 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}/stop',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'code',
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'kyuubiServiceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Kyuubi 服务 ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'."\n"],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '任务定义ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '12************',
+ 'title' => 'Schema of Response',
+ 'description' => '响应结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n"],
+ 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => 'true'],
+ ],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '停止Kyuubi Gateway',
+ 'summary' => '停止Kyuubi Gateway。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\",\\n \\"data\\": \\"true\\"\\n}","type":"json"}]',
+ ],
+ 'StopLivyCompute' => [
+ 'summary' => '停止Livy Gateway。',
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}/stop',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'description',
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '222278',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceBizId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
+ ],
+ [
+ 'name' => 'livyComputeId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-6mkvn01zrg8rqhhv'],
+ ],
+ [
+ 'name' => 'regionId',
'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '工作流描述。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ods batch workflow',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '484D9DDA-300D-525E-AF7A-0CCCA5C64A7A'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ ],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '停止Livy Gateway',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
[
- 'name' => 'timeout',
- 'in' => 'query',
- 'schema' => [
- 'description' => '工作流运行默认timeout。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '300',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StopLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"484D9DDA-300D-525E-AF7A-0CCCA5C64A7A\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
+ ],
+ 'StopRayCluster' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}/stop',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'taskDefinitionJson',
- 'in' => 'query',
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
+ ],
+ [
+ 'name' => 'clusterId',
+ 'in' => 'path',
+ 'schema' => ['title' => 'Ray集群ID。', 'description' => 'Ray集群ID。', 'type' => 'string', 'required' => false, 'example' => 'ray-k7nm8ahl5te4tg91'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => '任务定义JSON数组,包含工作流所有任务的描述信息。',
- 'type' => 'array',
- 'items' => [
- 'description' => '任务定义JSON,包含工作流所有任务的描述信息。',
- 'type' => 'object',
- 'properties' => [
- 'code' => [
- 'description' => '任务定义ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '23************',
- ],
- 'description' => [
- 'description' => '任务定义描述。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ods transform task'."\n",
- ],
- 'alertEmailAddress' => [
- 'description' => '告警邮箱地址。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'foo_bar@spark.alert.invalid.com'."\n",
- ],
- 'startAlertEnable' => [
- 'description' => '任务启动告警开启。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
- 'failAlertEnable' => [
- 'description' => '任务失败告警开启。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
- 'failRetryTimes' => [
- 'description' => '任务失败重试次数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- 'name' => [
- 'description' => '任务名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ods_transform_task'."\n",
- ],
- 'taskParams' => [
- 'description' => '任务定义参数。',
- 'type' => 'object',
- 'properties' => [
- 'workspaceBizId' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d8********'."\n",
- ],
- 'taskBizId' => [
- 'description' => '数据开发任务ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'TSK-d87******************'."\n",
- ],
- 'resourceQueueId' => [
- 'description' => '运行任务的队列名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'root_queue',
- ],
- 'sparkDriverCores' => [
- 'description' => 'Spark任务Driver核数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- 'sparkExecutorCores' => [
- 'description' => 'Spark任务Executor核数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- 'sparkDriverMemory' => [
- 'description' => 'Spark任务Driver内存。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '4g',
- ],
- 'sparkExecutorMemory' => [
- 'description' => 'Spark任务Executor内存。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '4g',
- ],
- 'sparkConf' => [
- 'description' => 'Spark任务配置。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Spark任务配置。',
- 'type' => 'object',
- 'properties' => [
- 'key' => [
- 'description' => 'Spark Conf配置key。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark.dynamicAllocation.enabled'."\n",
- ],
- 'value' => [
- 'description' => 'Spark Conf配置value。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'true',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
- 'sparkVersion' => [
- 'description' => 'Spark引擎版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'."\n",
- ],
- 'sparkLogLevel' => [
- 'description' => 'Spark日志级别。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'INFO',
- ],
- 'sparkLogPath' => [
- 'description' => 'Spark任务日志路径。',
- 'type' => 'string',
- 'required' => false,
- 'example' => ' '."\n"
- .'oss://data***/spark/logs'."\n",
- ],
- 'displaySparkVersion' => [
- 'description' => 'Spark引擎显示版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'environmentId' => [
- 'description' => '环境id。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ev-h*************',
- ],
- 'type' => [
- 'description' => 'Spark作业类型。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SQL',
- ],
- 'localParams' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'prop' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'direct' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'type' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'value' => [
- 'type' => 'string',
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
- ],
- 'required' => true,
- ],
- 'taskType' => [
- 'description' => '工作流节点类型。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'EMR-SERVERLESS-SPARK',
- ],
- 'timeout' => [
- 'description' => '任务运行默认timeout。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '30',
- ],
- 'tags' => [
- 'description' => '标签。',
- 'type' => 'object',
- 'required' => false,
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => ' '."\n"
- .'“{\\"tagkey\\":\\"tagvalue\\"}”'."\n",
- 'description' => '标签对JSON字符串。',
- ],
- ],
- ],
- 'required' => true,
+ 'title' => '请求结构体。',
+ 'description' => '请求结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'instanceId' => ['title' => 'Ray集群实例ID。', 'description' => 'Ray集群实例ID。', 'type' => 'string', 'required' => false, 'example' => 'ray-k7nm8ahl5te4tg91-ey7blpbg'],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
],
- 'required' => true,
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '停止Ray集群',
+ 'summary' => '停止Ray集群。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\"\\n}","type":"json"}]',
+ ],
+ 'StopSessionCluster' => [
+ 'summary' => '终止session集群。',
+ 'path' => '/api/v1/workspaces/{workspaceId}/sessionClusters/action/stopSessionCluster',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'taskRelationJson',
- 'in' => 'query',
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'allowEmptyValue' => false,
'style' => 'json',
'schema' => [
- 'description' => '任务依赖关系JSON数组,包含工作流所有任务之间的依赖关系,preTaskCode为上游任务ID,postTaskCode为下游任务ID,每一个任务需有唯一的ID。如果任务节点没有上游任务,也需要增加一个preTaskCode为0的依赖关系。',
- 'type' => 'array',
- 'items' => [
- 'description' => '任务依赖关系JSON,包含工作流所有任务之间的依赖关系,preTaskCode为上游任务ID,postTaskCode为下游任务ID,每一个任务需有唯一的ID。如果任务节点没有上游任务,也需要增加一个preTaskCode为0的依赖关系。',
- 'type' => 'object',
- 'properties' => [
- 'name' => [
- 'description' => '任务拓扑关系名称,填工作流名称即可。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ods batch workflow'."\n",
- ],
- 'preTaskCode' => [
- 'description' => '上游任务ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '16************'."\n",
- ],
- 'preTaskVersion' => [
- 'description' => '上游任务版本。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
- 'postTaskCode' => [
- 'description' => '下游任务ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '19************'."\n",
- ],
- 'postTaskVersion' => [
- 'description' => '下游任务版本。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- 'required' => true,
+ 'description' => '请求结构体',
+ 'type' => 'object',
+ 'properties' => [
+ 'queueName' => ['description' => '队列名称', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'sessionClusterId' => ['description' => '会话ID', 'type' => 'string', 'required' => false, 'example' => 'sc-xxxxxxxxxxxx'],
],
- 'required' => true,
+ 'required' => false,
],
],
[
- 'name' => 'executionType',
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'regionId',
'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '执行策略',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'PARALLEL',
+ 'title' => '返回数据',
+ 'description' => '返回数据',
+ 'type' => 'object',
+ 'properties' => [
+ 'sessionClusterId' => ['title' => 'Workspace Id。', 'description' => 'Workspace Id。', 'type' => 'string', 'example' => 'w-******'],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ ],
],
],
+ ],
+ 'title' => '终止会话',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
[
- 'name' => 'alertEmailAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => '告警邮箱地址。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'foo_bar@spark.alert.invalid.com',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StopSessionCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sessionClusterId\\": \\"w-******\\",\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'SubmitRayJob' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/rayJob',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'schedule',
- 'in' => 'query',
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
'style' => 'json',
'schema' => [
- 'description' => '调度结构',
+ 'title' => '请求结构体。',
+ 'description' => '请求结构体。',
'type' => 'object',
'properties' => [
- 'startTime' => [
- 'description' => '开始时间。',
- 'type' => 'string',
+ 'entrypoint' => ['title' => '启动命令', 'description' => '启动命令。', 'type' => 'string', 'required' => false, 'example' => 'python -c "print(\'hello ray job\')"'],
+ 'name' => ['title' => '任务名称', 'description' => '任务名称。', 'type' => 'string', 'required' => false, 'example' => 'my-job'],
+ 'displayReleaseVersion' => ['title' => 'Ray 版本号。', 'description' => 'Ray引擎版本号。', 'type' => 'string', 'required' => false, 'example' => 'err-1.2.0 (Ray 2.55.1, Python 3.12)'],
+ 'tags' => [
+ 'title' => '标签',
+ 'description' => '标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'key' => ['description' => '键。', 'type' => 'string', 'required' => false, 'example' => 'jobname'],
+ 'value' => ['description' => '值。', 'type' => 'string', 'required' => false, 'example' => 'test'],
+ ],
+ 'required' => false,
+ 'description' => '',
+ ],
'required' => false,
- 'example' => '2024-12-23 16:13:27'."\n",
],
- 'endTime' => [
- 'description' => '调度结束时间。',
- 'type' => 'string',
+ 'networkServiceName' => ['title' => '网络连接名称。', 'description' => '网络连接名称。', 'type' => 'string', 'required' => false, 'example' => 'vpc'],
+ 'runtimeEnvJson' => ['title' => 'Ray runtime environment JSON 字符串。', 'description' => 'Ray runtime environment JSON 字符串。', 'type' => 'string', 'required' => false, 'example' => '{"pip":["requests==2.26.0","pendulum==2.1.2"],"env_vars":{"KEY":"VALUE"}}'],
+ 'workingDir' => ['title' => '任务代码工作目录 URL。', 'description' => '任务代码工作目录 URL。', 'type' => 'string', 'required' => false, 'example' => 'oss://mybucket/rayjob.zip'],
+ 'metadataJson' => ['title' => '任务元数据 JSON 字符串。', 'description' => '任务元数据 JSON 字符串。', 'type' => 'string', 'required' => false, 'example' => '{"resourceName": "test"}'],
+ 'submissionMode' => ['title' => '提交作业方式', 'description' => '提交作业方式。', 'type' => 'string', 'required' => false, 'example' => 'HTTPMode'],
+ 'entrypointNumCpus' => ['title' => '入口任务申请的 CPU 数量。', 'description' => '入口任务申请的 CPU 数量。', 'type' => 'string', 'required' => false, 'example' => '1'],
+ 'entrypointNumGpus' => ['title' => '入口任务申请的 GPU 数量。', 'description' => '入口任务申请的 GPU 数量。', 'type' => 'string', 'required' => false, 'example' => '0'],
+ 'entrypointMemory' => ['title' => '入口任务申请的内存大小。', 'description' => '入口任务申请的内存大小。', 'type' => 'string', 'required' => false, 'example' => '4Gi'],
+ 'entrypointResources' => ['title' => '入口任务自定义资源请求 JSON 字符串。', 'description' => '入口任务自定义资源请求 JSON 字符串。', 'type' => 'string', 'required' => false, 'example' => '{"fpu": 1}'],
+ 'shutdownAfterJobFinishes' => ['title' => '任务完成后是否自动销毁临时集群,默认 true。', 'description' => '任务完成后是否自动销毁临时集群,默认 true。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'ttlSecondsAfterFinished' => ['title' => '集群销毁前等待秒数,shutdownAfterJobFinishes 为 true 时有效。', 'description' => '集群销毁前等待秒数,shutdownAfterJobFinishes 为 true 时有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
+ 'activeDeadlineSeconds' => ['title' => '超时时间', 'description' => '任务超时时间,包含集群创建和任务运行时间,超过该时间任务会被取消。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3600'],
+ 'volumeIds' => [
+ 'title' => '挂载卷 ID 列表。',
+ 'description' => '挂载卷 ID 列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '纳管文件id。', 'type' => 'string', 'required' => false, 'example' => 'vol-12345678'],
'required' => false,
- 'example' => '2025-12-23 16:13:27'."\n",
],
- 'crontab' => [
- 'description' => '调度cron表达式。',
- 'type' => 'string',
+ 'headSpec' => [
+ 'title' => 'Ray集群Head节点参数。',
+ 'description' => 'Ray集群Head节点参数。',
+ 'type' => 'object',
+ 'properties' => [
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'required' => false, 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'required' => false, 'example' => '8Gi'],
+ 'enableAutoScaling' => ['title' => '是否开启Worker自动扩缩容。', 'description' => '是否开启Worker自动扩缩容。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'idleTimeoutSeconds' => ['title' => '开启自动扩缩容后Worker Idle时间。', 'description' => '开启自动扩缩容后Worker Idle时间。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
+ 'gpuSpec' => ['title' => 'gpu机型。', 'description' => 'gpu机型。', 'type' => 'string', 'required' => false, 'example' => 'ecs.gn6i-c4g1.xlarge'],
+ ],
'required' => false,
- 'example' => ' '."\n"
- .'0 0 0 * * ?'."\n",
],
- 'timezoneId' => [
- 'description' => '时区ID。',
- 'type' => 'string',
+ 'workerSpec' => [
+ 'title' => 'Ray集群Worker节点参数。',
+ 'description' => 'Ray集群Worker节点参数。',
+ 'type' => 'array',
+ 'items' => [
+ 'title' => 'Worker节点结构体。',
+ 'description' => 'Worker节点结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'groupName' => ['title' => 'Worker组名。', 'description' => 'Worker组名。', 'type' => 'string', 'required' => false, 'example' => 'WorkerGroup1'],
+ 'workerType' => [
+ 'title' => 'Worker类型。',
+ 'description' => 'Worker类型。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CPU',
+ 'enum' => ['CPU'],
+ ],
+ 'replica' => ['title' => 'Worker数量。', 'description' => 'Worker数量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'required' => false, 'example' => '4'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'required' => false, 'example' => '16Gi'],
+ 'minReplica' => ['title' => '开启自动扩缩容后最小Worker数量。', 'description' => '开启自动扩缩容后最小Worker数量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'maxReplica' => ['title' => '开启自动扩缩容后最大Worker数量。', 'description' => '开启自动扩缩容后最大Worker数量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
+ 'gpuSpec' => ['title' => 'gpu机型。', 'description' => 'gpu机型。', 'type' => 'string', 'required' => false, 'example' => 'ecs.gn6i-c4g1.xlarge'],
+ ],
+ 'required' => false,
+ ],
'required' => false,
- 'example' => 'Asia/Shanghai'."\n",
],
+ 'extraParam' => ['title' => '额外参数 JSON 字符串。', 'description' => '额外参数 JSON 字符串。', 'type' => 'string', 'required' => false, 'example' => '{"userDefinedFiles": "oss://mybucket/artifact/config.json,oss://mybucket/artifact/config2.json", "userRequirementsFile": "oss://mybucket/requirements.txt"}'],
],
'required' => false,
],
],
- [
- 'name' => 'retryTimes',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '重试次数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'submissionId' => ['title' => 'Ray Job ID。', 'description' => 'Ray Job ID。', 'type' => 'string', 'example' => 'rj-k7nm8ahl5te4tg91'],
+ ],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '提交Ray任务',
+ 'summary' => '提交Ray Job。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"submissionId\\": \\"rj-k7nm8ahl5te4tg91\\"\\n}","type":"json"}]',
+ ],
+ 'TerminateSqlStatement' => [
+ 'summary' => '终止正在执行的SQL查询。',
+ 'path' => '/api/interactive/v1/workspace/{workspaceId}/statement/{statementId}/terminate',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'taskParallelism',
- 'in' => 'query',
- 'schema' => [
- 'description' => '工作流节点运行并发度。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'AK' => [],
],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '224753',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ ],
+ 'parameters' => [
[
- 'name' => 'tags',
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
+ ],
+ [
+ 'name' => 'statementId',
+ 'in' => 'path',
+ 'schema' => ['description' => '交互式查询ID。', 'type' => 'string', 'required' => false, 'example' => 'st-abcadfadf12****'],
+ ],
+ [
+ 'name' => 'regionId',
'in' => 'query',
- 'style' => 'json',
+ 'schema' => ['title' => '区域ID。', 'description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '标签。',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
- 'required' => false,
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => ' '."\n"
- .'“{\\"tagkey\\":\\"tagvalue\\"}”'."\n",
- 'description' => '标签对JSON字符串。',
+ 'properties' => [
+ 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '终止SQL查询',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
[
- 'name' => 'resourceQueue',
- 'in' => 'query',
- 'schema' => [
- 'description' => '资源队列。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:TerminateSqlStatement',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateKyuubiService' => [
+ 'path' => '/api/v1/kyuubi/{workspaceId}/{kyuubiServiceId}',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'releaseState',
- 'in' => 'query',
- 'schema' => [
- 'description' => '工作流上线状态。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ONLINE',
- ],
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'],
],
[
- 'name' => 'runAs',
- 'in' => 'query',
- 'schema' => [
- 'description' => '执行用户。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '113***************'."\n",
- ],
+ 'name' => 'kyuubiServiceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Kyuubi 服务 ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'],
],
[
- 'name' => 'publish',
- 'in' => 'query',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'description' => '是否发布工作流。',
- 'type' => 'boolean',
+ 'description' => '请求结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'kyuubiConfigs' => ['description' => 'Kyuubi Service配置。', 'type' => 'string', 'required' => false, 'example' => '[]'],
+ 'sparkConfigs' => ['description' => 'Spark 配置。', 'type' => 'string', 'required' => false, 'example' => '[]'],
+ 'name' => ['description' => '名称。', 'type' => 'string', 'required' => false, 'example' => 'dev_serverless_spark'."\n"],
+ 'queue' => ['description' => 'Kyuubi Service 运行队列。', 'type' => 'string', 'required' => false, 'example' => 'dev_queue'],
+ 'releaseVersion' => ['description' => 'Spark引擎版本号。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.6.0 (Spark 3.5.2, Scala 2.12)'],
+ 'computeInstance' => ['description' => 'Kyuubi Service 规格。', 'type' => 'string', 'required' => false, 'example' => '2c8g'],
+ 'publicEndpointEnabled' => ['description' => '是否开启公网访问。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'],
+ 'replica' => ['description' => '开启高可用副本数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
+ 'kyuubiReleaseVersion' => ['description' => 'Kyuubi Service 引擎版本。', 'type' => 'string', 'required' => false, 'example' => '1.9.2-0.0.2'],
+ 'restart' => ['description' => '是否重启。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ ],
'required' => false,
- 'example' => 'true',
],
],
- [
- 'name' => 'regionId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ 'title' => 'Schema of Response',
+ 'description' => '响应结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => 'true'],
+ ],
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '更新Kyuubi Gateway',
+ 'summary' => '更新Kyuubi Gateway。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": \\"true\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateKyuubiToken' => [
+ 'path' => '/api/v1/workspaces/{workspaceId}/kyuubiService/{kyuubiServiceId}/token/{tokenId}',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'globalParams',
- 'in' => 'query',
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155****'."\n"],
+ ],
+ [
+ 'name' => 'kyuubiServiceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Kyuubi服务ID。', 'type' => 'string', 'required' => false, 'example' => 'kb-c7141f10c3f549fc9f8b8ae562b8****'."\n"],
+ ],
+ [
+ 'name' => 'tokenId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Token ID。', 'type' => 'string', 'required' => false, 'example' => 'tk-zpi0*****hdv4y'."\n"],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
'style' => 'json',
'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'prop' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'value' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'direct' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'type' => [
- 'type' => 'string',
- 'required' => false,
+ 'description' => '请求结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => 'Token名称。', 'type' => 'string', 'required' => false, 'example' => 'dev_serverless_spark'."\n"],
+ 'token' => ['description' => '长度为32,仅包含小写字母和数字的Token内容。', 'type' => 'string', 'required' => false, 'example' => 'rjy7ejhej9gkzjjuun49jnx2xk8if2cu'],
+ 'autoExpireConfiguration' => [
+ 'description' => '自动过期配置结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否自动过期。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'expireDays' => ['description' => '过期时间(单位:天)。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '365'],
],
+ 'required' => false,
+ ],
+ 'memberArns' => [
+ 'description' => '授权用户arn列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '授权用户arn。', 'type' => 'string', 'required' => false, 'example' => 'acs:emr::w-d2d82aa09155****:member/195****7311'],
+ 'required' => false,
+ ],
+ 'sparkRole' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string'],
],
- 'required' => false,
],
'required' => false,
],
],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => '请求响应结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n"],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '更新Kyuubi Gateway认证Token',
+ 'summary' => '更新Kyuubi Gateway认证Token。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateLivyCompute' => [
+ 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/livycompute/{livyComputeId}',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '222234',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceBizId',
+ 'in' => 'path',
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-8adde60aa809701f'],
+ ],
+ [
+ 'name' => 'livyComputeId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'Livy Gateway的ID。', 'type' => 'string', 'required' => false, 'example' => 'lc-i8xogcdfa4fk3yn1'],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '请求结构体。',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
+ 'name' => ['description' => '名称。', 'type' => 'string', 'required' => false, 'example' => 'test'],
+ 'livyVersion' => [
+ 'description' => 'Livy版本。',
'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => 'API后端返回码。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1400009',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => '0.8.0',
+ 'enum' => ['0.8.0'],
],
- 'msg' => [
- 'description' => '请求 code 对应的详细描述信息。',
+ 'releaseVersion' => ['description' => 'Spark引擎版本号,已废弃,请使用displayReleaseVersion。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12, Java Runtime)'."\n"],
+ 'queueName' => ['description' => '队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'cpuLimit' => [
+ 'description' => 'Livy Server的CPU核数。'."\n"
+ .'- 1'."\n"
+ .'- 2'."\n"
+ .'- 4',
'type' => 'string',
- 'example' => 'No permission for resource action',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => '1',
],
- 'success' => [
- 'description' => '请求是否成功。',
+ 'memoryLimit' => [
+ 'description' => 'Livy Server的内存大小。'."\n"
+ .'- 4Gi'."\n"
+ .'- 8Gi'."\n"
+ .'- 16Gi',
'type' => 'string',
- 'example' => 'true',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => '4Gi',
],
- 'failed' => [
- 'description' => '失败个数。',
- 'type' => 'string',
- 'example' => 'false',
+ 'autoStartConfiguration' => [
+ 'description' => '自动启动配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'enable' => ['description' => '是否创建后自动启动。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ ],
+ 'required' => false,
],
- 'data' => [
- 'description' => '返回数据。',
+ 'autoStopConfiguration' => [
+ 'description' => '自动终止配置。',
'type' => 'object',
'properties' => [
- 'id' => [
- 'description' => '工作流定义编号。',
- 'type' => 'string',
- 'example' => '123223',
- ],
- 'code' => [
- 'description' => '工作流定义ID。',
- 'type' => 'string',
- 'example' => '12***********',
- ],
- 'name' => [
- 'description' => '工作流定义名称。',
- 'type' => 'string',
- 'example' => 'ods_batch_workflow',
- ],
- 'version' => [
- 'description' => '版本号。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'releaseState' => [
- 'description' => '工作流上线状态',
- 'type' => 'string',
- 'example' => 'ONLINE',
- ],
- 'bizId' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'alicloud_ack_one_cluster',
- ],
- 'description' => [
- 'description' => '任务定义描述。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'createTime' => [
- 'description' => '工作流定义创建时间。',
- 'type' => 'string',
- 'example' => '2024-09-05T02:03:19Z',
- ],
- 'updateTime' => [
- 'description' => '工作流定义更新时间。',
- 'type' => 'string',
- 'example' => '2024-03-05T06:24:27Z',
- ],
- 'userId' => [
- 'description' => '调度用户ID。',
- 'type' => 'string',
- 'example' => '113*********',
- ],
- 'userName' => [
- 'description' => '调度用户名称。',
- 'type' => 'string',
- 'example' => 'w-********',
- ],
- 'projectName' => [
- 'description' => '工作流对应项目名称。',
- 'type' => 'string',
- 'example' => 'w-********',
- ],
- 'executionType' => [
- 'description' => '执行策略。',
- 'type' => 'string',
- 'example' => 'SERIAL',
- ],
- 'alertEmailAddress' => [
- 'description' => '告警邮件地址。',
- 'type' => 'string',
- 'example' => 'foo_bar@spark.alert.invalid.com'."\n",
- ],
- 'startTime' => [
- 'description' => '调度开始时间。',
- 'type' => 'string',
- 'example' => '0',
- ],
- 'endTime' => [
- 'description' => '任务结束时间范围的终点。',
- 'type' => 'string',
- 'example' => '1710432000000',
- ],
- 'timezoneId' => [
- 'description' => '时区ID。',
- 'type' => 'string',
- 'example' => 'Asia/Shanghai'."\n",
- ],
- 'crontab' => [
- 'description' => '调度cron表达式。',
- 'type' => 'string',
- 'example' => '0 0 0 * * ?'."\n",
- ],
- 'versionHashCode' => [
- 'description' => '版本哈希编码。',
- 'type' => 'string',
- 'example' => 'dwerf*********',
- ],
+ 'enable' => ['description' => '是否允许自动终止。'."\n"
+ .'- true:是。'."\n"
+ .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'idleTimeoutMinutes' => ['description' => 'Livy Gateway空闲指定分钟数后自动终止。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '300'],
],
+ 'required' => false,
],
- 'httpStatusCode' => [
- 'description' => 'HTTP状态编码',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
+ 'authType' => [
+ 'description' => '认证方式。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'Token',
+ 'enum' => ['Token'],
],
+ 'displayReleaseVersion' => ['description' => 'Spark引擎版本号。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.3.0 (Spark 3.5.2, Scala 2.12)'."\n"],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'environmentId' => ['description' => '运行环境ID。', 'type' => 'string', 'required' => false, 'example' => 'ev-cq146allhtgkulp5smk0'],
+ 'networkName' => ['description' => '网络连接名称。', 'type' => 'string', 'required' => false, 'example' => 'test'],
+ 'livyServerConf' => ['description' => 'Livy Gateway配置,JSON格式,支持以下文件:'."\n"
+ ."\n"
+ .'- sparkDefaultsConf'."\n"
+ .'- sparkBlackListConf'."\n"
+ .'- livyConf'."\n"
+ .'- livyClientConf', 'type' => 'string', 'required' => false, 'example' => '{'."\n"
+ .' "sparkDefaultsConf": "spark.driver.cores 1\\nspark.driver.memory 4g\\nspark.executor.cores 1\\nspark.executor.memory 4g\\n",'."\n"
+ .' "sparkBlackListConf": "spark.driver.cores\\nspark.driver.memory",'."\n"
+ .' "livyConf": "livy.server.session.timeout 1h\\n",'."\n"
+ .' "livyClientConf": "livy.rsc.sql.num-rows 1000\\n"'."\n"
+ .'}'],
+ 'enablePublic' => ['description' => '公网地址开关状态。'."\n", 'type' => 'boolean', 'required' => false],
],
+ 'required' => false,
],
],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => '请求返回 code,1000000代表请求成功,其他情况代表请求不成功,具体错误原因描述可通过 message 查看。', 'type' => 'string', 'example' => '1000000'],
+ 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'ok'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": 1400009,\\n \\"msg\\": \\"No permission for resource action\\",\\n \\"success\\": \\"true\\",\\n \\"failed\\": \\"false\\",\\n \\"data\\": {\\n \\"id\\": \\"123223\\",\\n \\"code\\": \\"12***********\\",\\n \\"name\\": \\"ods_batch_workflow\\",\\n \\"version\\": 1,\\n \\"releaseState\\": \\"ONLINE\\",\\n \\"bizId\\": \\"alicloud_ack_one_cluster\\",\\n \\"description\\": \\"1\\",\\n \\"createTime\\": \\"2024-09-05T02:03:19Z\\",\\n \\"updateTime\\": \\"2024-03-05T06:24:27Z\\",\\n \\"userId\\": \\"113*********\\",\\n \\"userName\\": \\"w-********\\",\\n \\"projectName\\": \\"w-********\\",\\n \\"executionType\\": \\"SERIAL\\",\\n \\"alertEmailAddress\\": \\"foo_bar@spark.alert.invalid.com\\\\n\\",\\n \\"startTime\\": \\"0\\",\\n \\"endTime\\": \\"1710432000000\\",\\n \\"timezoneId\\": \\"Asia/Shanghai\\\\n\\",\\n \\"crontab\\": \\"0 0 0 * * ?\\\\n\\",\\n \\"versionHashCode\\": \\"dwerf*********\\"\\n },\\n \\"httpStatusCode\\": 200\\n}","type":"json"}]',
- 'title' => '更新工作流定义和调度',
- ],
- 'CreateProcessDefinitionWithSchedule' => [
- 'summary' => '创建工作流定义。',
- 'path' => '/dolphinscheduler/projects/{bizId}/process-definition',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '更新Livy Gateway',
+ 'summary' => '更新Livy Gateway',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": \\"1000000\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateProcessDefinitionWithSchedule' => [
+ 'summary' => '更新工作流定义和定时调度。',
+ 'path' => '/dolphinscheduler/projects/{bizId}/process-definition/{code}',
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -11341,113 +8914,39 @@
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '191322',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceTW58EL',
- ],
+ 'abilityTreeCode' => '191361',
+ 'abilityTreeNodes' => ['FEATUREemapreduceTW58EL'],
],
'parameters' => [
[
'name' => 'productNamespace',
'in' => 'query',
- 'schema' => [
- 'description' => '产品编码。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SS',
- ],
+ 'schema' => ['description' => '产品编码。', 'type' => 'string', 'required' => true, 'example' => 'SS'],
],
[
'name' => 'bizId',
'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d8********',
- ],
+ 'schema' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d8********'."\n"],
],
[
'name' => 'name',
'in' => 'query',
- 'schema' => [
- 'description' => '工作流名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ods_batch_workflow',
- ],
+ 'schema' => ['description' => '工作流名称。', 'type' => 'string', 'required' => true, 'example' => 'ods_batch_workflow'."\n"],
+ ],
+ [
+ 'name' => 'code',
+ 'in' => 'path',
+ 'schema' => ['description' => '任务定义ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '12************'],
],
[
'name' => 'description',
'in' => 'query',
- 'schema' => [
- 'description' => '工作流描述。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ods batch workflow',
- ],
+ 'schema' => ['description' => '工作流描述。', 'type' => 'string', 'required' => false, 'example' => 'ods batch workflow'],
],
[
'name' => 'timeout',
'in' => 'query',
- 'schema' => [
- 'description' => '工作流运行默认timeout。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '60',
- ],
- ],
- [
- 'name' => 'taskRelationJson',
- 'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => '任务依赖关系JSON数组,包含工作流所有任务之间的依赖关系,preTaskCode为上游任务ID,postTaskCode为下游任务ID,每一个任务需有唯一的ID。如果任务节点没有上游任务,也需要增加一个preTaskCode为0的依赖关系。',
- 'type' => 'array',
- 'items' => [
- 'description' => '任务依赖关系JSON,包含工作流所有任务之间的依赖关系,preTaskCode为上游任务ID,postTaskCode为下游任务,每一个任务需有唯一的ID。如果任务节点没有上游任务,也需要增加一个preTaskCode为0的依赖关系。',
- 'type' => 'object',
- 'properties' => [
- 'name' => [
- 'description' => '任务拓扑关系名称,填工作流名称即可。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ods batch workflow',
- ],
- 'preTaskCode' => [
- 'description' => '上游任务ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '16************',
- ],
- 'preTaskVersion' => [
- 'description' => '上游任务版本。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
- 'postTaskCode' => [
- 'description' => '下游任务ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '28************',
- ],
- 'postTaskVersion' => [
- 'description' => '下游任务版本。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- 'required' => true,
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => '工作流运行默认timeout。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300'],
],
[
'name' => 'taskDefinitionJson',
@@ -11460,187 +8959,55 @@
'description' => '任务定义JSON,包含工作流所有任务的描述信息。',
'type' => 'object',
'properties' => [
- 'code' => [
- 'description' => '任务定义ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '36************',
- ],
- 'description' => [
- 'description' => '任务定义描述。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ods transform task',
- ],
- 'alertEmailAddress' => [
- 'description' => '告警邮箱地址。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'foo_bar@spark.alert.invalid.com',
- ],
- 'startAlertEnable' => [
- 'description' => '任务启动告警开启。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'failAlertEnable' => [
- 'description' => '任务失败告警开启。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'failRetryTimes' => [
- 'description' => '任务失败重试次数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- 'name' => [
- 'description' => '任务名称。',
- 'type' => 'string',
- 'required' => true,
- 'enumValueTitles' => [],
- 'example' => 'ods_transform_task',
- ],
+ 'code' => ['description' => '任务定义ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '23************'],
+ 'description' => ['description' => '任务定义描述。', 'type' => 'string', 'required' => false, 'example' => 'ods transform task'."\n"],
+ 'alertEmailAddress' => ['description' => '告警邮箱地址。', 'type' => 'string', 'required' => false, 'example' => 'foo_bar@spark.alert.invalid.com'."\n"],
+ 'startAlertEnable' => ['description' => '任务启动告警开启。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'failAlertEnable' => ['description' => '任务失败告警开启。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ 'failRetryTimes' => ['description' => '任务失败重试次数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'name' => ['description' => '任务名称。', 'type' => 'string', 'required' => true, 'example' => 'ods_transform_task'."\n"],
'taskParams' => [
'description' => '任务定义参数。',
'type' => 'object',
'properties' => [
- 'workspaceBizId' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d8********',
- ],
- 'taskBizId' => [
- 'description' => '数据开发任务ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'TSK-d87******************',
- ],
- 'resourceQueueId' => [
- 'description' => 'Spark任务运行的资源队列。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'root_queue',
- ],
- 'sparkDriverCores' => [
- 'description' => 'Spark任务Driver核数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- 'sparkExecutorCores' => [
- 'description' => 'Spark任务Executor核数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- 'sparkDriverMemory' => [
- 'description' => 'Spark任务Driver内存。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '4g',
- ],
- 'sparkExecutorMemory' => [
- 'description' => 'Spark任务Executor内存。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '4g',
- ],
+ 'workspaceBizId' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => true, 'example' => 'w-d8********'."\n"],
+ 'taskBizId' => ['description' => '数据开发任务ID。', 'type' => 'string', 'required' => true, 'example' => 'TSK-d87******************'."\n"],
+ 'resourceQueueId' => ['description' => '运行任务的队列名称。', 'type' => 'string', 'required' => true, 'example' => 'root_queue'],
+ 'sparkDriverCores' => ['description' => 'Spark任务Driver核数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'sparkExecutorCores' => ['description' => 'Spark任务Executor核数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'sparkDriverMemory' => ['description' => 'Spark任务Driver内存。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4g'],
+ 'sparkExecutorMemory' => ['description' => 'Spark任务Executor内存。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4g'],
'sparkConf' => [
'description' => 'Spark任务配置。',
'type' => 'array',
'items' => [
+ 'description' => 'Spark任务配置。',
'type' => 'object',
'properties' => [
- 'key' => [
- 'description' => 'Spark Conf配置key。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'spark.dynamicAllocation.enabled',
- ],
- 'value' => [
- 'description' => 'Spark Conf配置value。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'key' => ['description' => 'Spark Conf配置key。', 'type' => 'string', 'required' => false, 'example' => 'spark.dynamicAllocation.enabled'."\n"],
+ 'value' => ['description' => 'Spark Conf配置value。', 'type' => 'string', 'required' => false, 'example' => 'true'],
],
'required' => false,
],
'required' => false,
],
- 'sparkVersion' => [
- 'description' => 'Spark引擎版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'sparkLogLevel' => [
- 'description' => 'Spark日志级别。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'INFO',
- ],
- 'sparkLogPath' => [
- 'description' => 'Spark任务日志路径。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'oss://data***/spark/logs',
- ],
- 'displaySparkVersion' => [
- 'description' => 'Spark引擎显示版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)',
- ],
- 'fusion' => [
- 'description' => '是否开启Fusion引擎加速。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'environmentId' => [
- 'description' => '环境id。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'env-crhq2h5lhtgju93buhkg',
- ],
- 'type' => [
- 'description' => 'Spark任务类型。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SQL',
- ],
+ 'sparkVersion' => ['description' => 'Spark引擎版本。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'."\n"],
+ 'sparkLogLevel' => ['description' => 'Spark日志级别。', 'type' => 'string', 'required' => false, 'example' => 'INFO'],
+ 'sparkLogPath' => ['description' => 'Spark任务日志路径。', 'type' => 'string', 'required' => false, 'example' => ' '."\n"
+ .'oss://data***/spark/logs'."\n"],
+ 'displaySparkVersion' => ['description' => 'Spark引擎显示版本。', 'type' => 'string', 'required' => false, 'example' => 'esr-4.0.0 (Spark 3.5.2, Scala 2.12)'],
+ 'fusion' => ['description' => '是否开启Fusion引擎加速。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'environmentId' => ['description' => '环境id。', 'type' => 'string', 'required' => false, 'example' => 'ev-h*************'],
+ 'type' => ['description' => 'Spark作业类型。', 'type' => 'string', 'required' => false, 'example' => 'SQL'],
'localParams' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'prop' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'direct' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'type' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'value' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'prop' => ['type' => 'string', 'required' => false],
+ 'direct' => ['type' => 'string', 'required' => false],
+ 'type' => ['type' => 'string', 'required' => false],
+ 'value' => ['type' => 'string', 'required' => false],
],
'required' => false,
],
@@ -11649,28 +9016,14 @@
],
'required' => true,
],
- 'taskType' => [
- 'description' => '工作流节点类型。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'EMR_SERVERLESS_SPARK',
- ],
- 'timeout' => [
- 'description' => '回调方法的超时时间,单位为秒。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1200',
- ],
+ 'taskType' => ['description' => '工作流节点类型。', 'type' => 'string', 'required' => true, 'example' => 'EMR-SERVERLESS-SPARK'],
+ 'timeout' => ['description' => '任务运行默认timeout。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'],
'tags' => [
'description' => '标签。',
'type' => 'object',
'required' => false,
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => '“{\\"tagkey\\":\\"tagvalue\\"}”',
- 'description' => '标签对JSON字符串。',
- ],
+ 'additionalProperties' => ['type' => 'string', 'example' => ' '."\n"
+ .'“{\\"tagkey\\":\\"tagvalue\\"}”'."\n", 'description' => '标签对JSON字符串。'],
],
],
'required' => true,
@@ -11679,24 +9032,36 @@
],
],
[
- 'name' => 'executionType',
+ 'name' => 'taskRelationJson',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => '执行策略',
- 'type' => 'string',
+ 'description' => '任务依赖关系JSON数组,包含工作流所有任务之间的依赖关系,preTaskCode为上游任务ID,postTaskCode为下游任务ID,每一个任务需有唯一的ID。如果任务节点没有上游任务,也需要增加一个preTaskCode为0的依赖关系。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '任务依赖关系JSON,包含工作流所有任务之间的依赖关系,preTaskCode为上游任务ID,postTaskCode为下游任务ID,每一个任务需有唯一的ID。如果任务节点没有上游任务,也需要增加一个preTaskCode为0的依赖关系。',
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['description' => '任务拓扑关系名称,填工作流名称即可。', 'type' => 'string', 'required' => true, 'example' => 'ods batch workflow'."\n"],
+ 'preTaskCode' => ['description' => '上游任务ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '16************'."\n"],
+ 'preTaskVersion' => ['description' => '上游任务版本。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ 'postTaskCode' => ['description' => '下游任务ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '19************'."\n"],
+ 'postTaskVersion' => ['description' => '下游任务版本。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ ],
+ 'required' => true,
+ ],
'required' => true,
- 'example' => 'PARALLEL',
],
],
[
+ 'name' => 'executionType',
+ 'in' => 'query',
+ 'schema' => ['description' => '执行策略', 'type' => 'string', 'required' => true, 'example' => 'PARALLEL'],
+ ],
+ [
'name' => 'alertEmailAddress',
'in' => 'query',
- 'schema' => [
- 'description' => '告警邮箱地址。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'foo_bar@spark.alert.invalid.com',
- ],
+ 'schema' => ['description' => '告警邮箱地址。', 'type' => 'string', 'required' => false, 'example' => 'foo_bar@spark.alert.invalid.com'],
],
[
'name' => 'schedule',
@@ -11706,30 +9071,11 @@
'description' => '调度结构',
'type' => 'object',
'properties' => [
- 'startTime' => [
- 'description' => '调度开始时间。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2024-12-23 16:13:27',
- ],
- 'endTime' => [
- 'description' => '调度结束时间。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2025-12-23 16:13:27',
- ],
- 'crontab' => [
- 'description' => '调度cron表达式。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '0 0 0 * * ?',
- ],
- 'timezoneId' => [
- 'description' => '时区ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Asia/Shanghai',
- ],
+ 'startTime' => ['description' => '开始时间。', 'type' => 'string', 'required' => false, 'example' => '2024-12-23 16:13:27'."\n"],
+ 'endTime' => ['description' => '调度结束时间。', 'type' => 'string', 'required' => false, 'example' => '2025-12-23 16:13:27'."\n"],
+ 'crontab' => ['description' => '调度cron表达式。', 'type' => 'string', 'required' => false, 'example' => ' '."\n"
+ .'0 0 0 * * ?'."\n"],
+ 'timezoneId' => ['description' => '时区ID。', 'type' => 'string', 'required' => false, 'example' => 'Asia/Shanghai'."\n"],
],
'required' => false,
],
@@ -11737,34 +9083,12 @@
[
'name' => 'retryTimes',
'in' => 'query',
- 'schema' => [
- 'description' => '重试次数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '重试次数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'taskParallelism',
'in' => 'query',
- 'schema' => [
- 'description' => '任务并发度。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'resourceQueue',
- 'in' => 'query',
- 'schema' => [
- 'description' => '资源队列。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
+ 'schema' => ['description' => '工作流节点运行并发度。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'tags',
@@ -11774,43 +9098,34 @@
'description' => '标签。',
'type' => 'object',
'required' => false,
- 'additionalProperties' => [
- 'type' => 'string',
- 'example' => '“{\\"tagkey\\":\\"tagvalue\\"}”',
- 'description' => '标签对JSON字符串。',
- ],
+ 'additionalProperties' => ['type' => 'string', 'example' => ' '."\n"
+ .'“{\\"tagkey\\":\\"tagvalue\\"}”'."\n", 'description' => '标签对JSON字符串。'],
],
],
[
- 'name' => 'publish',
+ 'name' => 'resourceQueue',
'in' => 'query',
- 'schema' => [
- 'description' => '是否发布工作流。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => '资源队列。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
],
[
- 'name' => 'regionId',
+ 'name' => 'releaseState',
'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '工作流上线状态。', 'type' => 'string', 'required' => false, 'example' => 'ONLINE'],
],
[
'name' => 'runAs',
'in' => 'query',
- 'schema' => [
- 'description' => '执行用户阿里云UID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '113***************',
- ],
+ 'schema' => ['description' => '执行用户。', 'type' => 'string', 'required' => false, 'example' => '113***************'."\n"],
+ ],
+ [
+ 'name' => 'publish',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否发布工作流。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
'name' => 'globalParams',
@@ -11821,22 +9136,10 @@
'items' => [
'type' => 'object',
'properties' => [
- 'prop' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'value' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'direct' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'type' => [
- 'type' => 'string',
- 'required' => false,
- ],
+ 'prop' => ['type' => 'string', 'required' => false],
+ 'value' => ['type' => 'string', 'required' => false],
+ 'direct' => ['type' => 'string', 'required' => false],
+ 'type' => ['type' => 'string', 'required' => false],
],
'required' => false,
],
@@ -11851,243 +9154,91 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => 'API返回编码。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1400009',
- ],
- 'msg' => [
- 'description' => '请求 code 对应的详细描述信息。',
- 'type' => 'string',
- 'example' => 'No permission for resource action',
- ],
- 'success' => [
- 'description' => '请求是否成功。',
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'failed' => [
- 'description' => '请求是否失败。',
- 'type' => 'string',
- 'example' => 'false',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'code' => ['description' => 'API后端返回码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1400009'],
+ 'msg' => ['description' => '请求 code 对应的详细描述信息。', 'type' => 'string', 'example' => 'No permission for resource action'],
+ 'success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'],
+ 'failed' => ['description' => '失败个数。', 'type' => 'string', 'example' => 'false'],
'data' => [
- 'description' => '返回结果。',
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'id' => [
- 'description' => '工作流定义编号。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '12342',
- ],
- 'code' => [
- 'description' => '工作流定义ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '160************',
- ],
+ 'id' => ['description' => '工作流定义编号。', 'type' => 'string', 'example' => '123223'],
+ 'code' => ['description' => '工作流定义ID。', 'type' => 'string', 'example' => '12***********'],
+ 'name' => ['description' => '工作流定义名称。', 'type' => 'string', 'example' => 'ods_batch_workflow'],
+ 'version' => ['description' => '版本号。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'releaseState' => ['description' => '工作流上线状态', 'type' => 'string', 'example' => 'ONLINE'],
+ 'bizId' => ['description' => '工作空间ID。', 'type' => 'string', 'example' => 'alicloud_ack_one_cluster'],
+ 'description' => ['description' => '任务定义描述。', 'type' => 'string', 'example' => '1'],
+ 'createTime' => ['description' => '工作流定义创建时间。', 'type' => 'string', 'example' => '2024-09-05T02:03:19Z'],
+ 'updateTime' => ['description' => '工作流定义更新时间。', 'type' => 'string', 'example' => '2024-03-05T06:24:27Z'],
+ 'userId' => ['description' => '调度用户ID。', 'type' => 'string', 'example' => '113*********'],
+ 'userName' => ['description' => '调度用户名称。', 'type' => 'string', 'example' => 'w-********'],
+ 'projectName' => ['description' => '工作流对应项目名称。', 'type' => 'string', 'example' => 'w-********'],
+ 'executionType' => ['description' => '执行策略。', 'type' => 'string', 'example' => 'SERIAL'],
+ 'alertEmailAddress' => ['description' => '告警邮件地址。', 'type' => 'string', 'example' => 'foo_bar@spark.alert.invalid.com'."\n"],
+ 'startTime' => ['description' => '调度开始时间。', 'type' => 'string', 'example' => '0'],
+ 'endTime' => ['description' => '任务结束时间范围的终点。', 'type' => 'string', 'example' => '1710432000000'],
+ 'timezoneId' => ['description' => '时区ID。', 'type' => 'string', 'example' => 'Asia/Shanghai'."\n"],
+ 'crontab' => ['description' => '调度cron表达式。', 'type' => 'string', 'example' => '0 0 0 * * ?'."\n"],
+ 'versionHashCode' => ['description' => '版本哈希编码。', 'type' => 'string', 'example' => 'dwerf*********'],
],
],
- 'httpStatusCode' => [
- 'description' => 'HTTP状态编码。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
+ 'httpStatusCode' => ['description' => 'HTTP状态编码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": 1400009,\\n \\"msg\\": \\"No permission for resource action\\",\\n \\"success\\": \\"true\\",\\n \\"failed\\": \\"false\\",\\n \\"data\\": {\\n \\"id\\": 12342,\\n \\"code\\": 0\\n },\\n \\"httpStatusCode\\": 200\\n}","type":"json"}]',
- 'title' => '创建工作流定义和调度',
- ],
- 'GenerateTaskCodes' => [
- 'summary' => '上线工作流及其调度。',
- 'path' => '/dolphinscheduler/projects/{bizId}/task-definition/gen-task-codes',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '更新工作流定义和调度',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'parameters' => [
- [
- 'name' => 'bizId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'w-d8********'."\n",
- ],
- ],
- [
- 'name' => 'genNum',
- 'in' => 'query',
- 'schema' => [
- 'description' => '生成数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
- ],
+ 'ramActions' => [
[
- 'name' => 'productNamespace',
- 'in' => 'query',
- 'schema' => [
- 'description' => '产品命名空间。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SS',
- ],
- ],
- [
- 'name' => 'regionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '响应结构体。',
- 'type' => 'object',
- 'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'code' => [
- 'description' => '请求错误码。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1000000',
- ],
- 'msg' => [
- 'description' => '请求 code 对应的详细描述信息。',
- 'type' => 'string',
- 'example' => 'No permission for resource action',
- ],
- 'success' => [
- 'description' => '请求是否成功。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'failed' => [
- 'description' => '请求是否失败。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'data' => [
- 'description' => '返回数据。',
- 'type' => 'array',
- 'items' => [
- 'description' => '自动生成的工作流节点定义随机编码。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1263424***',
- ],
- ],
- 'httpStatusCode' => [
- 'description' => 'HTTP状态编码',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateProcessDefinitionWithSchedule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": 1000000,\\n \\"msg\\": \\"No permission for resource action\\",\\n \\"success\\": true,\\n \\"failed\\": false,\\n \\"data\\": [\\n 0\\n ],\\n \\"httpStatusCode\\": 200\\n}","type":"json"}]',
- 'title' => '生成工作流节点定义编码',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"code\\": 1400009,\\n \\"msg\\": \\"No permission for resource action\\",\\n \\"success\\": \\"true\\",\\n \\"failed\\": \\"false\\",\\n \\"data\\": {\\n \\"id\\": \\"123223\\",\\n \\"code\\": \\"12***********\\",\\n \\"name\\": \\"ods_batch_workflow\\",\\n \\"version\\": 1,\\n \\"releaseState\\": \\"ONLINE\\",\\n \\"bizId\\": \\"alicloud_ack_one_cluster\\",\\n \\"description\\": \\"1\\",\\n \\"createTime\\": \\"2024-09-05T02:03:19Z\\",\\n \\"updateTime\\": \\"2024-03-05T06:24:27Z\\",\\n \\"userId\\": \\"113*********\\",\\n \\"userName\\": \\"w-********\\",\\n \\"projectName\\": \\"w-********\\",\\n \\"executionType\\": \\"SERIAL\\",\\n \\"alertEmailAddress\\": \\"foo_bar@spark.alert.invalid.com\\\\n\\",\\n \\"startTime\\": \\"0\\",\\n \\"endTime\\": \\"1710432000000\\",\\n \\"timezoneId\\": \\"Asia/Shanghai\\\\n\\",\\n \\"crontab\\": \\"0 0 0 * * ?\\\\n\\",\\n \\"versionHashCode\\": \\"dwerf*********\\"\\n },\\n \\"httpStatusCode\\": 200\\n}","type":"json"}]',
],
'UpdateRayCluster' => [
- 'summary' => '更新Ray集群。',
'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
- ],
+ 'abilityTreeNodes' => ['FEATUREemapreduce8QU4HW'],
],
'parameters' => [
[
'name' => 'workspaceId',
'in' => 'path',
- 'schema' => [
- 'title' => '工作空间ID。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155',
- ],
+ 'schema' => ['title' => '工作空间ID。', 'description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-d2d82aa09155'],
],
[
'name' => 'clusterId',
'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ray-uiulpgow9xljimm1',
- ],
+ 'schema' => ['title' => '集群ID。', 'description' => '集群ID。', 'type' => 'string', 'required' => false, 'example' => 'ray-uiulpgow9xljimm1'],
],
[
'name' => 'body',
@@ -12098,75 +9249,21 @@
'description' => '请求结构体。',
'type' => 'object',
'properties' => [
- 'name' => [
- 'title' => 'Ray集群名称。',
- 'description' => 'Ray集群名称,长度1到64。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'myRayCluster',
- ],
- 'displayReleaseVersion' => [
- 'title' => 'Ray引擎版本。',
- 'description' => 'Ray引擎版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ray-1.0.0 (Ray 2.47.1, Python 3.12)',
- ],
- 'description' => [
- 'title' => '描述。',
- 'description' => '描述。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Ray Cluster for dev.',
- ],
- 'networkServiceName' => [
- 'title' => '网络连接名称。',
- 'description' => '网络连接名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc',
- ],
+ 'name' => ['title' => 'Ray集群名称。', 'description' => 'Ray集群名称,长度1到64。', 'type' => 'string', 'required' => false, 'example' => 'myRayCluster'],
+ 'displayReleaseVersion' => ['title' => 'Ray引擎版本。', 'description' => 'Ray引擎版本。', 'type' => 'string', 'required' => false, 'example' => 'ray-1.0.0 (Ray 2.47.1, Python 3.12)'],
+ 'description' => ['title' => '描述。', 'description' => '描述。', 'type' => 'string', 'required' => false, 'example' => 'Ray Cluster for dev.'],
+ 'networkServiceName' => ['title' => '网络连接名称。', 'description' => '网络连接名称。', 'type' => 'string', 'required' => false, 'example' => 'vpc'],
'headSpec' => [
'title' => 'Ray集群Head节点信息。',
'description' => 'Ray集群Head节点信息。',
'type' => 'object',
'properties' => [
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
- 'cpu' => [
- 'title' => 'CPU核数。',
- 'description' => 'CPU核数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
- 'memory' => [
- 'title' => '内存,单位Gi。',
- 'description' => '内存,单位Gi。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '8Gi',
- ],
- 'enableAutoScaling' => [
- 'title' => '是否开启自动扩缩容。',
- 'description' => '是否开启自动扩缩容。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'idleTimeoutSeconds' => [
- 'title' => '开启自动扩缩容后Worker的Idle时间。',
- 'description' => '开启自动扩缩容后Worker的Idle时间。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '60',
- ],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'required' => false, 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'required' => false, 'example' => '8Gi'],
+ 'enableAutoScaling' => ['title' => '是否开启自动扩缩容。', 'description' => '是否开启自动扩缩容。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'idleTimeoutSeconds' => ['title' => '开启自动扩缩容后Worker的Idle时间。', 'description' => '开启自动扩缩容后Worker的Idle时间。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
+ 'gpuSpec' => ['type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
],
'required' => false,
],
@@ -12179,79 +9276,31 @@
'description' => 'Ray集群Worker节点信息结构体。',
'type' => 'object',
'properties' => [
- 'groupName' => [
- 'title' => 'Worker组名称。',
- 'description' => 'Worker组名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'WorkerGroup1',
- ],
+ 'groupName' => ['title' => 'Worker组名称。', 'description' => 'Worker组名称。', 'type' => 'string', 'required' => false, 'example' => 'WorkerGroup1'],
'workerType' => [
'title' => 'Worker类型。',
'description' => 'Worker类型。',
'type' => 'string',
'required' => false,
'example' => 'CPU',
- 'enum' => [
- 'CPU',
- ],
- ],
- 'replica' => [
- 'title' => 'Worker数量。',
- 'description' => 'Worker数量,最小1。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '2',
- ],
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
- 'cpu' => [
- 'title' => 'CPU核数。',
- 'description' => 'CPU核数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
- 'memory' => [
- 'title' => '内存,单位Gi。',
- 'description' => '内存,单位Gi。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '8Gi',
- ],
- 'minReplica' => [
- 'title' => '最小Worker数量。',
- 'description' => '最小Worker数量,最小1,必须小于等于maxReplica。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- 'maxReplica' => [
- 'title' => '最大Worker数量。',
- 'description' => '最大Worker数量,最小1。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
+ 'enum' => ['CPU'],
],
+ 'replica' => ['title' => 'Worker数量。', 'description' => 'Worker数量,最小1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
+ 'queueName' => ['title' => '队列名称。', 'description' => '队列名称。', 'type' => 'string', 'required' => false, 'example' => 'root_queue'],
+ 'cpu' => ['title' => 'CPU核数。', 'description' => 'CPU核数。', 'type' => 'string', 'required' => false, 'example' => '2'],
+ 'memory' => ['title' => '内存,单位Gi。', 'description' => '内存,单位Gi。', 'type' => 'string', 'required' => false, 'example' => '8Gi'],
+ 'minReplica' => ['title' => '最小Worker数量。', 'description' => '最小Worker数量,最小1,必须小于等于maxReplica。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ 'maxReplica' => ['title' => '最大Worker数量。', 'description' => '最大Worker数量,最小1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
+ 'gpuSpec' => ['type' => 'string', 'example' => 'ecs.gn6i-c4g1.xlarge'],
],
'required' => false,
],
'required' => false,
],
- 'extraParam' => [
- 'title' => '额外参数,json格式。'."\n",
- 'description' => '额外参数,必须为json格式。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '{}',
+ 'extraParam' => ['title' => '额外参数,json格式。'."\n", 'description' => '额外参数,必须为json格式。', 'type' => 'string', 'required' => false, 'example' => '{}'],
+ 'volumeIds' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => 'vol-1234567890'],
],
],
'required' => false,
@@ -12265,80 +9314,97 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944',
- ],
- 'clusterId' => [
- 'title' => '集群ID。',
- 'description' => '集群ID。',
- 'type' => 'string',
- 'example' => 'ray-xxxxxxxxxxx',
- ],
+ 'requestId' => ['title' => '请求ID。', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944'],
+ 'clusterId' => ['title' => '集群ID。', 'description' => '集群ID。', 'type' => 'string', 'example' => 'ray-xxxxxxxxxxx'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '更新Ray集群',
+ 'summary' => '更新Ray集群。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
+ 'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"clusterId\\": \\"ray-xxxxxxxxxxx\\"\\n}","type":"json"}]',
- 'title' => '更新Ray集群',
],
- 'GetRayCluster' => [
- 'summary' => '获取Ray集群。',
- 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpdateWorkspace' => [
+ 'summary' => '更新workspace属性',
+ 'path' => '/api/v1/workspaces/update',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
- ],
+ 'abilityTreeCode' => '209094',
+ 'abilityTreeNodes' => ['FEATUREemapreduce5JTF6C'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'workspaceId',
- 'in' => 'path',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
'schema' => [
- 'title' => '工作空间ID。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
+ 'description' => '请求结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => '工作空间ID。', 'type' => 'string', 'required' => false, 'example' => 'w-975bcfda9625****'],
+ 'workspaceName' => ['description' => '工作空间名称。', 'type' => 'string', 'required' => false, 'example' => 'default'],
+ 'cu' => ['description' => '工作空间资源上限。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5000'],
+ 'subscription' => [
+ 'description' => '按量转包年信息',
+ 'type' => 'object',
+ 'properties' => [
+ 'queue' => [
+ 'description' => '待转换的运行队列列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '待转换的运行队列。', 'type' => 'string', 'required' => false, 'example' => 'dev_queue'],
+ 'required' => false,
+ ],
+ 'paymentDurationUnit' => ['description' => '订购周期。', 'type' => 'string', 'required' => false, 'example' => 'MONTH'],
+ 'duration' => ['description' => '订购周期数量(pre付费类型必填)。', 'type' => 'string', 'required' => false, 'example' => '1799'],
+ 'autoRenew' => ['description' => '是否自动续费(pre付费类型必填)。', 'type' => 'string', 'required' => false, 'example' => 'true'],
+ 'autoRenewPeriod' => ['description' => '自动续费时长(pre付费类型必填)。', 'type' => 'string', 'required' => false, 'example' => '1'],
+ 'autoRenewPeriodUnit' => ['description' => '自动续费周期(pre付费类型必填)。', 'type' => 'string', 'required' => false, 'example' => 'MONTH'],
+ 'clientToken' => ['description' => '幂等校验TOKEN。', 'type' => 'string', 'required' => false, 'example' => 'my-token-asxkxxxxxxx'],
+ ],
+ 'required' => false,
+ ],
+ 'resourceGroupId' => ['description' => '资源组 ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmwpi66knkxny'],
+ 'gpu' => ['title' => 'gpu卡数。', 'description' => 'gpu卡数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'],
+ 'gpuSpec' => [
+ 'description' => 'gpu机型。',
+ 'type' => 'array',
+ 'items' => ['description' => 'gpu机型。', 'type' => 'string', 'required' => false, 'example' => 'ecs-gpu-8x-large'],
+ 'required' => false,
+ ],
+ 'ipWhiteList' => [
+ 'title' => '工作空间ip白名单。',
+ 'type' => 'array',
+ 'items' => ['title' => '工作空间ip白名单。', 'type' => 'string', 'example' => '0.0.0.1'],
+ ],
+ ],
'required' => false,
- 'example' => 'w-d2d82aa09155',
],
],
[
- 'name' => 'clusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '集群ID。',
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ray-xxxxxxxxxx',
- ],
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '区域ID。', 'description' => '区域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -12348,1583 +9414,1066 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944',
- ],
- 'clusterId' => [
- 'title' => 'Ray集群ID。'."\n",
- 'description' => 'Ray集群ID。'."\n",
- 'type' => 'string',
- 'example' => 'ray-k7nm8ahl5te4tg91',
- ],
- 'name' => [
- 'title' => 'Ray集群名称。',
- 'description' => 'Ray集群名称。',
- 'type' => 'string',
- 'example' => 'myRayCluster',
- ],
- 'displayReleaseVersion' => [
- 'title' => 'Ray引擎版本。',
- 'description' => 'Ray引擎版本。',
- 'type' => 'string',
- 'example' => 'ray-1.0.0 (Ray 2.47.1, Python 3.12)',
- ],
- 'description' => [
- 'title' => '描述信息。',
- 'description' => '描述信息。',
- 'type' => 'string',
- 'example' => 'Ray Cluster for dev.',
- ],
- 'networkServiceName' => [
- 'title' => '网络连接名称。',
- 'description' => '网络连接名称。',
- 'type' => 'string',
- 'example' => 'vpc',
- ],
- 'headSpec' => [
- 'title' => 'Ray集群Head节点参数。',
- 'description' => 'Ray集群Head节点参数。',
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'],
+ 'data' => [
+ 'description' => '返回数据。',
'type' => 'object',
'properties' => [
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'root_queue',
- ],
- 'cpu' => [
- 'title' => 'CPU核数。',
- 'description' => 'CPU核数。',
- 'type' => 'string',
- 'example' => '2',
- ],
- 'memory' => [
- 'title' => '内存,单位Gi。',
- 'description' => '内存,单位Gi。',
- 'type' => 'string',
- 'example' => '8Gi',
- ],
- 'enableAutoScaling' => [
- 'title' => 'Worker节点是否开启自动扩缩容。',
- 'description' => 'Worker节点是否开启自动扩缩容。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'idleTimeoutSeconds' => [
- 'title' => '开启自动扩缩容后Worker节点Idle时间。',
- 'description' => '开启自动扩缩容后Worker节点Idle时间。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '60',
- ],
- 'replica' => [
- 'title' => '节点数量。',
- 'description' => '节点数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
+ 'orderId' => ['description' => '订单ID。', 'type' => 'string', 'example' => '1005565802416783361'],
],
],
- 'state' => [
- 'title' => '会话状态。'."\n"
- .'- Starting:启动中。'."\n"
- .'- Running:运行中。'."\n"
- .'- Stopping:正在停止。'."\n"
- .'- Stopped:已停止。'."\n"
- .'- Error:已失败。',
- 'description' => '会话状态。'."\n"
- .'- Starting:启动中。'."\n"
- .'- Running:运行中。'."\n"
- .'- Stopping:正在停止。'."\n"
- .'- Stopped:已停止。'."\n"
- .'- Error:已失败。',
- 'type' => 'string',
- 'example' => 'Running',
- 'enum' => [
- 'Starting',
- 'Running',
- 'Stopping',
- 'Stopped',
- 'Error',
- ],
- ],
- 'creator' => [
- 'title' => '创建集群的用户UID。',
- 'description' => '创建集群的用户UID。',
- 'type' => 'string',
- 'example' => '202077646755523991',
- ],
- 'creatorName' => [
- 'title' => '创建者昵称。',
- 'description' => '创建者昵称。',
- 'type' => 'string',
- 'example' => 'Alice',
- ],
- 'modifier' => [
- 'title' => '集群更新者UID。',
- 'description' => '集群更新者UID。',
- 'type' => 'string',
- 'example' => '202077646755523991',
- ],
- 'modifierName' => [
- 'title' => '修改者昵称。',
- 'description' => '修改者昵称。',
- 'type' => 'string',
- 'example' => 'Alice',
- ],
- 'userId' => [
- 'title' => '创建者主账号ID。',
- 'description' => '创建者主账号ID。',
- 'type' => 'string',
- 'example' => '123456789012',
- ],
- 'dashboardUrl' => [
- 'title' => 'Ray集群Dashboard链接。',
- 'description' => 'Ray集群Dashboard链接。',
- 'type' => 'string',
- 'example' => 'https://emr-ray-gateway-cn-hangzhou.aliyuncs.com/workspace/w-xxxxxxxx/raycluster/ray-xxxxxx/dashboard?token=xxxxxx',
- ],
- 'jobUrl' => [
- 'title' => '提交Ray Job的地址。',
- 'description' => '提交Ray Job的地址(公网)。',
- 'type' => 'string',
- 'example' => 'https://emr-spark-ray-gateway-cn-hangzhou.aliyuncs.com',
- ],
- 'submitToken' => [
- 'title' => '提交Ray Job时的鉴权Token。',
- 'description' => '提交Ray Job时的鉴权Token,需要放到请求头中,"ray-token": "token"。',
- 'type' => 'string',
- 'example' => '1d06484d3b424f7fa4ab7082a4076da2',
- ],
- 'modified' => [
- 'title' => '配置是否修改过。',
- 'description' => '配置是否修改过。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'extraParam' => [
- 'title' => '额外参数,json格式。',
- 'description' => '额外参数,json格式。',
- 'type' => 'string',
- 'example' => '{}',
- ],
- 'message' => [
- 'title' => '状态为Error时的错误信息。',
- 'description' => '状态为Error时的错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- 'instances' => [
- 'title' => 'Ray集群节点ID。',
- 'description' => 'Ray集群节点ID。',
- 'type' => 'array',
- 'items' => [
- 'title' => 'Ray集群节点结构体。',
- 'description' => 'Ray集群节点结构体。',
- 'type' => 'object',
- 'properties' => [
- 'type' => [
- 'title' => '节点类型。',
- 'description' => '节点类型。',
- 'type' => 'string',
- 'example' => 'Head',
- ],
- 'instanceId' => [
- 'title' => '节点ID。',
- 'description' => '节点ID。',
- 'type' => 'string',
- 'example' => 'ray-uiulpgow9xljim10-head-7cgta',
- ],
- 'containerState' => [
- 'title' => '主容器状态。',
- 'description' => '主容器状态。',
- 'type' => 'string',
- 'example' => 'Running',
- ],
- 'reason' => [
- 'title' => '节点信息。',
- 'description' => '节点信息。',
- 'type' => 'string',
- 'example' => 'OOMKilled',
- ],
- 'phase' => [
- 'title' => '节点Pod状态。',
- 'description' => '节点Pod状态。',
- 'type' => 'string',
- 'example' => 'Running',
- ],
- 'message' => [
- 'title' => '节点Pod状态信息。',
- 'description' => '节点Pod状态信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- 'startTime' => [
- 'title' => '启动时间。',
- 'description' => '启动时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1762946698000',
- ],
- 'createTime' => [
- 'title' => '创建时间。',
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1735870116167',
- ],
- 'containerStateReason' => [
- 'title' => '主容器信息。',
- 'description' => '主容器信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- 'containerStateMessage' => [
- 'title' => '主容器状态信息。',
- 'description' => '主容器状态信息。',
- 'type' => 'string',
- 'example' => 'ContainerExit',
- ],
- 'containerExitCode' => [
- 'title' => '主容器退出码。',
- 'description' => '主容器退出码。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '137',
- ],
- ],
- ],
- ],
- 'instanceId' => [
- 'title' => 'Ray集群节点ID。',
- 'description' => 'Ray集群节点ID。',
- 'type' => 'string',
- 'example' => 'ray-k7nm8ahl5te4tg93-xxxxxxx',
- ],
- 'workerSpec' => [
- 'title' => 'Ray集群Worker节点信息。',
- 'description' => 'Ray集群Worker节点信息。',
- 'type' => 'array',
- 'items' => [
- 'title' => 'Ray集群Worker节点信息结构体。',
- 'description' => 'Ray集群Worker节点信息结构体。',
- 'type' => 'object',
- 'properties' => [
- 'groupName' => [
- 'title' => 'Worker节点组名称。',
- 'description' => 'Worker节点组名称。',
- 'type' => 'string',
- 'example' => 'WorkerGroup1',
- ],
- 'workerType' => [
- 'title' => 'Worker节点组类型。',
- 'description' => 'Worker节点组类型。',
- 'type' => 'string',
- 'example' => 'CPU',
- 'enum' => [
- 'CPU',
- ],
- ],
- 'replica' => [
- 'title' => 'Worker节点数量。',
- 'description' => 'Worker节点数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'root_queue',
- ],
- 'cpu' => [
- 'title' => 'CPU核数。',
- 'description' => 'CPU核数。',
- 'type' => 'string',
- 'example' => '2',
- ],
- 'memory' => [
- 'title' => '内存,单位Gi。',
- 'description' => '内存,单位Gi。',
- 'type' => 'string',
- 'example' => '8Gi',
- ],
- 'minReplica' => [
- 'title' => 'Worker最小数量',
- 'description' => 'Worker最小数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'maxReplica' => [
- 'title' => 'Worker最大数量',
- 'description' => 'Worker最大数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- ],
- ],
- ],
- 'startTime' => [
- 'title' => '启动时间,Unix时间戳,单位毫秒。',
- 'description' => '启动时间,Unix时间戳,单位毫秒。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1750327083303',
- ],
- 'createTime' => [
- 'title' => '创建时间,Unix时间戳,单位毫秒。',
- 'description' => '创建时间,Unix时间戳,单位毫秒。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1750327083303',
- ],
- 'modifiedTime' => [
- 'title' => '更新时间,Unix时间戳,单位毫秒。',
- 'description' => '更新时间,Unix时间戳,单位毫秒。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1754274541693',
- ],
- 'grpcEndpoint' => [
- 'title' => 'gRPC连接地址。',
- 'description' => 'gRPC连接地址(内网),其中的域名也可以用作提交ray job。',
- 'type' => 'string',
- 'example' => 'ray://emr-spark-ray-gateway-cn-hangzhou-internal.emr.aliyuncs.com:80',
- ],
+ 'orderId' => ['description' => '订单ID', 'type' => 'string', 'example' => '979071171373334529'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '更新工作空间',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"clusterId\\": \\"ray-k7nm8ahl5te4tg91\\",\\n \\"name\\": \\"myRayCluster\\",\\n \\"displayReleaseVersion\\": \\"ray-1.0.0 (Ray 2.47.1, Python 3.12)\\",\\n \\"description\\": \\"Ray Cluster for dev.\\",\\n \\"networkServiceName\\": \\"vpc\\",\\n \\"headSpec\\": {\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"enableAutoScaling\\": false,\\n \\"idleTimeoutSeconds\\": 60,\\n \\"replica\\": 1\\n },\\n \\"state\\": \\"Running\\",\\n \\"creator\\": \\"202077646755523991\\",\\n \\"creatorName\\": \\"Alice\\",\\n \\"modifier\\": \\"202077646755523991\\",\\n \\"modifierName\\": \\"Alice\\",\\n \\"userId\\": \\"123456789012\\",\\n \\"dashboardUrl\\": \\"https://emr-ray-gateway-cn-hangzhou.aliyuncs.com/workspace/w-xxxxxxxx/raycluster/ray-xxxxxx/dashboard?token=xxxxxx\\",\\n \\"jobUrl\\": \\"https://emr-spark-ray-gateway-cn-hangzhou.aliyuncs.com\\",\\n \\"submitToken\\": \\"1d06484d3b424f7fa4ab7082a4076da2\\",\\n \\"modified\\": false,\\n \\"extraParam\\": \\"{}\\",\\n \\"message\\": \\"ok\\",\\n \\"instances\\": [\\n {\\n \\"type\\": \\"Head\\",\\n \\"instanceId\\": \\"ray-uiulpgow9xljim10-head-7cgta\\",\\n \\"containerState\\": \\"Running\\",\\n \\"reason\\": \\"OOMKilled\\",\\n \\"phase\\": \\"Running\\",\\n \\"message\\": \\"ok\\",\\n \\"startTime\\": 1762946698000,\\n \\"createTime\\": 1735870116167,\\n \\"containerStateReason\\": \\"ok\\",\\n \\"containerStateMessage\\": \\"ContainerExit\\",\\n \\"containerExitCode\\": 137\\n }\\n ],\\n \\"instanceId\\": \\"ray-k7nm8ahl5te4tg93-xxxxxxx\\",\\n \\"workerSpec\\": [\\n {\\n \\"groupName\\": \\"WorkerGroup1\\",\\n \\"workerType\\": \\"CPU\\",\\n \\"replica\\": 2,\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"minReplica\\": 1,\\n \\"maxReplica\\": 10\\n }\\n ],\\n \\"startTime\\": 1750327083303,\\n \\"createTime\\": 1750327083303,\\n \\"modifiedTime\\": 1754274541693,\\n \\"grpcEndpoint\\": \\"ray://emr-spark-ray-gateway-cn-hangzhou-internal.emr.aliyuncs.com:80\\"\\n}","type":"json"}]',
- 'title' => '获取Ray集群信息',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateWorkspace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"data\\": {\\n \\"orderId\\": \\"1005565802416783361\\"\\n },\\n \\"orderId\\": \\"979071171373334529\\"\\n}","type":"json"}]',
],
- 'ListRayCluster' => [
- 'summary' => '列出Ray集群。',
- 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster',
- 'methods' => [
- 'get',
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.cn-beijing.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.cn-beijing.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.cn-zhangjiakou.aliyuncs.com'],
+ ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.cn-wulanchabu.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.cn-wulanchabu.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.cn-hangzhou.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.cn-hangzhou.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.cn-hangzhou.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.cn-shanghai.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.cn-shanghai.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.cn-shenzhen.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.cn-shenzhen.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.cn-shenzhen.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.cn-chengdu.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.cn-chengdu.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.cn-chengdu.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.cn-hongkong.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.cn-hongkong.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.ap-northeast-1.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.ap-northeast-1.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.ap-southeast-1.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.ap-southeast-1.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'emr-serverless-spark.ap-southeast-5.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.ap-southeast-5.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'na-south-1', 'regionName' => '墨西哥', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'emr-serverless-spark.na-south-1.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.na-south-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'emr-serverless-spark.eu-central-1.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.eu-central-1.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'emr-serverless-spark.us-west-1.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.us-west-1.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.us-west-1.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'emr-serverless-spark.us-east-1.aliyuncs.com', 'endpoint' => 'emr-serverless-spark.us-east-1.aliyuncs.com', 'vpc' => 'emr-serverless-spark-vpc.us-east-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartSessionCluster'],
+ ],
+ ],
+ 'ram' => [
+ 'productCode' => 'EmrServerlessSpark',
+ 'productName' => '开源大数据平台 E-MapReduce',
+ 'ramCodes' => ['emr-serverless-spark'],
+ 'ramLevel' => '操作级',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'UpdateWorkspace',
+ 'description' => '更新工作空间',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateWorkspace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'GetRayJob',
+ 'description' => '获取Ray Job信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetRayJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'GetRayCluster',
+ 'description' => '获取Ray集群信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetRayCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ [
+ 'apiName' => 'GetAICenterState',
+ 'description' => '获取AI中心状态',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetAICenterState',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'produces' => [
- 'application/json',
+ [
+ 'apiName' => 'GetSessionCluster',
+ 'description' => '获取会话详情',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetSessionCluster',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'ListKyuubiServices',
+ 'description' => '列出Kyuubi Gateway信息',
'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListKyuubiServices',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '工作空间ID。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155',
+ [
+ 'apiName' => 'SubmitRayJob',
+ 'description' => '提交Ray任务',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:SubmitRayJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'pageSize',
- 'in' => 'query',
- 'schema' => [
- 'title' => '返回结果的分页数。默认值:20。',
- 'description' => '返回结果的分页数。默认值:20,最小1,最大100。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
+ ],
+ [
+ 'apiName' => 'UpdateRayCluster',
+ 'description' => '更新Ray集群',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateRayCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'pageNum',
- 'in' => 'query',
- 'schema' => [
- 'title' => '页码。',
- 'description' => '页码。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
+ ],
+ [
+ 'apiName' => 'ListLivyComputeToken',
+ 'description' => '列出Livy Gateway的Token',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944',
- ],
- 'rayClusters' => [
- 'title' => 'Ray集群列表。',
- 'description' => 'Ray集群列表。',
- 'type' => 'array',
- 'items' => [
- 'title' => 'Ray集群结构体。',
- 'description' => 'Ray集群结构体。',
- 'type' => 'object',
- 'properties' => [
- 'clusterId' => [
- 'title' => '集群ID。',
- 'description' => '集群ID。',
- 'type' => 'string',
- 'example' => 'ray-uiulpgow9xljimm1',
- ],
- 'name' => [
- 'title' => 'Ray集群名称。',
- 'description' => 'Ray集群名称。',
- 'type' => 'string',
- 'example' => 'testRayCluster',
- ],
- 'displayReleaseVersion' => [
- 'title' => 'Ray引擎版本。',
- 'description' => 'Ray引擎版本。',
- 'type' => 'string',
- 'example' => 'ray-1.0.0 (Ray 2.47.1, Python 3.12)',
- ],
- 'description' => [
- 'title' => '描述。',
- 'description' => '描述。',
- 'type' => 'string',
- 'example' => 'Ray Cluster for dev.',
- ],
- 'networkServiceName' => [
- 'title' => '网络连接名称。',
- 'description' => '网络连接名称。',
- 'type' => 'string',
- 'example' => 'vpc',
- ],
- 'headSpec' => [
- 'title' => 'Ray集群Head节点信息。',
- 'description' => 'Ray集群Head节点信息。',
- 'type' => 'object',
- 'properties' => [
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'root_queue',
- ],
- 'cpu' => [
- 'title' => 'CPU核数。',
- 'description' => 'CPU核数。',
- 'type' => 'string',
- 'example' => '2',
- ],
- 'memory' => [
- 'title' => '内存,单位Gi。',
- 'description' => '内存,单位Gi。',
- 'type' => 'string',
- 'example' => '8Gi',
- ],
- 'enableAutoScaling' => [
- 'title' => 'Worker节点是否开启自动扩缩容。',
- 'description' => 'Worker节点是否开启自动扩缩容。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'idleTimeoutSeconds' => [
- 'title' => 'Worker节点Idle时间。',
- 'description' => 'Worker节点Idle时间。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '60',
- ],
- 'replica' => [
- 'title' => '节点数量。',
- 'description' => '节点数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- ],
- ],
- 'workerSpec' => [
- 'title' => 'Ray集群Worker信息。',
- 'description' => 'Ray集群Worker信息。',
- 'type' => 'array',
- 'items' => [
- 'title' => 'Ray集群Worker信息结构体。',
- 'description' => 'Ray集群Worker信息结构体。',
- 'type' => 'object',
- 'properties' => [
- 'groupName' => [
- 'title' => 'Worker组名称。',
- 'description' => 'Worker组名称。',
- 'type' => 'string',
- 'example' => 'Group1',
- ],
- 'workerType' => [
- 'title' => 'Worker类型。',
- 'description' => 'Worker类型。',
- 'type' => 'string',
- 'example' => 'CPU',
- 'enum' => [
- 'CPU',
- ],
- ],
- 'replica' => [
- 'title' => '节点数量。',
- 'description' => '节点数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'example' => 'root_queue',
- ],
- 'cpu' => [
- 'title' => 'CPU核数。',
- 'description' => 'CPU核数。',
- 'type' => 'string',
- 'example' => '2',
- ],
- 'memory' => [
- 'title' => '内存,单位Gi。',
- 'description' => '内存,单位Gi。',
- 'type' => 'string',
- 'example' => '8Gi',
- ],
- 'minReplica' => [
- 'title' => '开启自动扩缩容后最小Worker数量。',
- 'description' => '开启自动扩缩容后最小Worker数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'maxReplica' => [
- 'title' => '开启自动扩缩容后最大Worker数量。',
- 'description' => '开启自动扩缩容后最大Worker数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- ],
- ],
- ],
- 'state' => [
- 'title' => '集群状态。'."\n"
- .'- Starting:启动中。'."\n"
- .'- Running:运行中。'."\n"
- .'- Stopping:正在停止。'."\n"
- .'- Stopped:已停止。'."\n"
- .'- Error:已失败。',
- 'description' => '集群状态。'."\n"
- .'- Starting:启动中。'."\n"
- .'- Running:运行中。'."\n"
- .'- Stopping:正在停止。'."\n"
- .'- Stopped:已停止。'."\n"
- .'- Error:已失败。',
- 'type' => 'string',
- 'example' => 'Running',
- 'enum' => [
- 'Starting',
- 'Running',
- 'Stopping',
- 'Stopped',
- 'Error',
- ],
- ],
- 'createTime' => [
- 'title' => '创建时间。',
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1723722279800',
- ],
- 'modifiedTime' => [
- 'title' => '修改时间。',
- 'description' => '修改时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1723722279800',
- ],
- 'creator' => [
- 'title' => '创建用户UID。',
- 'description' => '创建用户UID。',
- 'type' => 'string',
- 'example' => '202077646755123991',
- ],
- 'creatorName' => [
- 'title' => '创建者昵称。',
- 'description' => '创建者昵称。',
- 'type' => 'string',
- 'example' => 'Alice',
- ],
- 'modifier' => [
- 'title' => '最后更新者UID。',
- 'description' => '最后更新者UID。',
- 'type' => 'string',
- 'example' => '202077646755123991',
- ],
- 'modifierName' => [
- 'title' => '修改者昵称。',
- 'description' => '修改者昵称。',
- 'type' => 'string',
- 'example' => 'Alice',
- ],
- 'userId' => [
- 'title' => '主账号ID。',
- 'description' => '主账号ID。',
- 'type' => 'string',
- 'example' => '1234567890',
- ],
- 'dashboardUrl' => [
- 'title' => 'Ray集群Dashboard链接。',
- 'description' => 'Ray集群Dashboard链接。',
- 'type' => 'string',
- 'example' => 'https://emr-spark-ray-gateway-cn-hangzhou.aliyuncs.com?token=xxxxxxxxx',
- ],
- 'modified' => [
- 'title' => '配置是否修改过。',
- 'description' => '配置是否修改过。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'message' => [
- 'title' => '错误信息。',
- 'description' => '错误信息。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- 'instanceId' => [
- 'title' => 'Ray集群实例ID。',
- 'description' => 'Ray集群实例ID。',
- 'type' => 'string',
- 'example' => 'ray-uiulpgow9xljimm1-xxxxxxx',
- ],
- 'startTime' => [
- 'title' => '启动时间。',
- 'description' => '启动时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1723722279800',
- ],
- 'grpcEndpoint' => [
- 'title' => 'gRPC连接地址。',
- 'description' => 'gRPC连接地址(内网),其中域名也可以提交ray job。',
- 'type' => 'string',
- 'example' => 'ray://emr-spark-ray-gateway-cn-hanghzou-internal.emr.aliyuncs.com:80',
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'ListSessionClusters',
+ 'description' => '获取会话列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListSessionClusters',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"rayClusters\\": [\\n {\\n \\"clusterId\\": \\"ray-uiulpgow9xljimm1\\",\\n \\"name\\": \\"testRayCluster\\",\\n \\"displayReleaseVersion\\": \\"ray-1.0.0 (Ray 2.47.1, Python 3.12)\\",\\n \\"description\\": \\"Ray Cluster for dev.\\",\\n \\"networkServiceName\\": \\"vpc\\",\\n \\"headSpec\\": {\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"enableAutoScaling\\": false,\\n \\"idleTimeoutSeconds\\": 60,\\n \\"replica\\": 1\\n },\\n \\"workerSpec\\": [\\n {\\n \\"groupName\\": \\"Group1\\",\\n \\"workerType\\": \\"CPU\\",\\n \\"replica\\": 2,\\n \\"queueName\\": \\"root_queue\\",\\n \\"cpu\\": \\"2\\",\\n \\"memory\\": \\"8Gi\\",\\n \\"minReplica\\": 1,\\n \\"maxReplica\\": 10\\n }\\n ],\\n \\"state\\": \\"Running\\",\\n \\"createTime\\": 1723722279800,\\n \\"modifiedTime\\": 1723722279800,\\n \\"creator\\": \\"202077646755123991\\",\\n \\"creatorName\\": \\"Alice\\",\\n \\"modifier\\": \\"202077646755123991\\",\\n \\"modifierName\\": \\"Alice\\",\\n \\"userId\\": \\"1234567890\\",\\n \\"dashboardUrl\\": \\"https://emr-spark-ray-gateway-cn-hangzhou.aliyuncs.com?token=xxxxxxxxx\\",\\n \\"modified\\": false,\\n \\"message\\": \\"ok\\",\\n \\"instanceId\\": \\"ray-uiulpgow9xljimm1-xxxxxxx\\",\\n \\"startTime\\": 1723722279800,\\n \\"grpcEndpoint\\": \\"ray://emr-spark-ray-gateway-cn-hanghzou-internal.emr.aliyuncs.com:80\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '列出Ray集群',
- ],
- 'StopRayCluster' => [
- 'summary' => '停止Ray集群。',
- 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}/stop',
- 'methods' => [
- 'post',
+ [
+ 'apiName' => 'ListWorkspaces',
+ 'description' => '获取工作空间列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListWorkspaces',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'CreateSessionCluster',
+ 'description' => '创建会话',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateSessionCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'ListJobRuns',
+ 'description' => '获取Spark任务列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListJobRuns',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ [
+ 'apiName' => 'EditWorkspaceQueue',
+ 'description' => '编辑工作空间队列',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:EditWorkspaceQueue',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'produces' => [
- 'application/json',
+ [
+ 'apiName' => 'GenerateTaskCodes',
+ 'description' => '生成工作流节点定义编码',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GenerateTaskCodes',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'ListKyuubiToken',
+ 'description' => '列出Kyuubi Gateway认证Token',
'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '工作空间ID。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155',
+ [
+ 'apiName' => 'CancelKyuubiSparkApplication',
+ 'description' => '取消Kyuubi提交的Spark应用',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CancelKyuubiSparkApplication',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'clusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => 'Ray集群ID。',
- 'description' => 'Ray集群ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ray-k7nm8ahl5te4tg91',
+ ],
+ [
+ 'apiName' => 'CreateKyuubiService',
+ 'description' => '创建 Kyuubi Gateway',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateKyuubiService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
- 'schema' => [
- 'title' => '请求结构体。',
- 'description' => '请求结构体。',
- 'type' => 'object',
- 'properties' => [
- 'instanceId' => [
- 'title' => 'Ray集群实例ID。',
- 'description' => 'Ray集群实例ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ray-k7nm8ahl5te4tg91-ey7blpbg',
- ],
- ],
- 'required' => false,
+ ],
+ [
+ 'apiName' => 'GrantRoleToUsers',
+ 'description' => '赋予用户角色',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GrantRoleToUsers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944',
- ],
- ],
+ [
+ 'apiName' => 'GetJobRun',
+ 'description' => '获取Spark任务详情',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetJobRun',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'GetLivyComputeToken',
+ 'description' => '获取Livy Gateway的Token',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\"\\n}","type":"json"}]',
- 'title' => '停止Ray集群',
- ],
- 'StartRayCluster' => [
- 'summary' => '启动Ray集群。',
- 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}/start',
- 'methods' => [
- 'post',
+ [
+ 'apiName' => 'ListLogContents',
+ 'description' => '查询日志内容',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListLogContents',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'AddMembers',
+ 'description' => '添加成员',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:AddMembers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'UpdateProcessDefinitionWithSchedule',
+ 'description' => '更新工作流定义和调度',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateProcessDefinitionWithSchedule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ [
+ 'apiName' => 'CreateProcessDefinitionWithSchedule',
+ 'description' => '创建工作流定义和调度',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateProcessDefinitionWithSchedule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'produces' => [
- 'application/json',
+ [
+ 'apiName' => 'StartProcessInstance',
+ 'description' => '手动运行工作流',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartProcessInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'DeleteKyuubiToken',
+ 'description' => '删除Kyuubi Gateway认证Token',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:DeleteKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteKyuubiService',
+ 'description' => '删除Kyuubi Gateway',
'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:DeleteKyuubiService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '工作空间ID。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155',
+ [
+ 'apiName' => 'GetLivyCompute',
+ 'description' => '获取Livy Gateway信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'clusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => 'Ray集群ID。',
- 'description' => 'Ray集群ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ray-uiulagow9xljimm0',
+ ],
+ [
+ 'apiName' => 'DeleteLivyCompute',
+ 'description' => '删除Livy Gateway',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:DeleteLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
- 'schema' => [
- 'title' => '请求结构体',
- 'description' => '请求结构体',
- 'type' => 'object',
- 'properties' => [
- 'clientToken' => [
- 'title' => '幂等校验TOKEN。',
- 'description' => '幂等校验TOKEN。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c533e141-bf99-4236-8b6b-30e133db113c',
- ],
- ],
- 'required' => false,
+ ],
+ [
+ 'apiName' => 'GetDoctorApplication',
+ 'description' => '获取作业诊断信息',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetDoctorApplication',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '8CE06D75-E6A2-505D-9B4B-31DEE3D98A04',
- ],
- ],
+ [
+ 'apiName' => 'ListLivyComputeSessions',
+ 'description' => '列出Livy Gateway的历史Session',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListLivyComputeSessions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'ListJobExecutors',
+ 'description' => '作业Executor列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListJobExecutors',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8CE06D75-E6A2-505D-9B4B-31DEE3D98A04\\"\\n}","type":"json"}]',
- 'title' => '启动Ray集群',
- ],
- 'DeleteRayCluster' => [
- 'summary' => '删除Ray集群。',
- 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster/{clusterId}',
- 'methods' => [
- 'delete',
+ [
+ 'apiName' => 'ListCatalogs',
+ 'description' => '查询数据目录列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListCatalogs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'ListSqlStatementContents',
+ 'description' => '查询SQL会话执行结果',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListSqlStatementContents',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'StartLivyCompute',
+ 'description' => '启动Livy Gateway',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ [
+ 'apiName' => 'CreateRayCluster',
+ 'description' => '创建Ray集群',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateRayCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'produces' => [
- 'application/json',
+ [
+ 'apiName' => 'ListRayCluster',
+ 'description' => '列出Ray集群',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListRayCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
+ [
+ 'apiName' => 'GetCacheCluster',
+ 'description' => '获取Cache集群详情',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetCacheCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '工作空间ID。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-26ca1703f6d11',
+ [
+ 'apiName' => 'StartKyuubiService',
+ 'description' => '启动Kyuubi Gateway',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartKyuubiService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'clusterId',
- 'in' => 'path',
- 'schema' => [
- 'title' => 'Ray集群ID。',
- 'description' => 'Ray集群ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ray-k7nm8ahl5te4tg91',
+ ],
+ [
+ 'apiName' => 'RefreshLivyComputeToken',
+ 'description' => '更新Livy Gateway的Token',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:RefreshLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944',
- ],
- ],
+ [
+ 'apiName' => 'GetTemplate',
+ 'description' => '获取EMR Serverless Spark任务模板信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'UpdateKyuubiService',
+ 'description' => '更新Kyuubi Gateway',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateKyuubiService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\"\\n}","type":"json"}]',
- 'title' => '删除Ray集群',
- ],
- 'CreateRayCluster' => [
- 'summary' => '创建Ray集群。',
- 'path' => '/api/v1/workspaces/{workspaceId}/rayCluster',
- 'methods' => [
- 'post',
+ [
+ 'apiName' => 'DeleteLivyComputeToken',
+ 'description' => '删除Livy Gateway的Token',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:DeleteLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'ListTemplate',
+ 'description' => '获取工作空间配置模板列表',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'StartJobRun',
+ 'description' => '启动Spark任务',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartJobRun',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ [
+ 'apiName' => 'GetRunConfiguration',
+ 'description' => '获取Spark任务配置',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetRunConfiguration',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'produces' => [
- 'application/json',
+ [
+ 'apiName' => 'StopKyuubiService',
+ 'description' => '停止Kyuubi Gateway',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StopKyuubiService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'CreateKyuubiToken',
+ 'description' => '创建Kyuubi Gateway认证Token',
'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduce8QU4HW',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'schema' => [
- 'title' => '工作空间ID。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155',
+ [
+ 'apiName' => 'UpdateLivyCompute',
+ 'description' => '更新Livy Gateway',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'body',
- 'in' => 'body',
- 'style' => 'json',
- 'schema' => [
- 'title' => '请求结构体。',
- 'description' => '请求结构体。',
- 'type' => 'object',
- 'properties' => [
- 'name' => [
- 'title' => 'Ray集群名称。',
- 'description' => 'Ray集群名称,长度1到64。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testRayCluster',
- ],
- 'displayReleaseVersion' => [
- 'title' => 'Ray引擎版本。',
- 'description' => 'Ray引擎版本。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ray-1.0.0 (Ray 2.47.1, Python 3.12)',
- ],
- 'description' => [
- 'title' => '描述信息。',
- 'description' => '描述信息。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Ray Cluster for dev.',
- ],
- 'networkServiceName' => [
- 'title' => '网络连接名称。',
- 'description' => '网络连接名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc',
- ],
- 'headSpec' => [
- 'title' => 'Ray集群Head节点参数。',
- 'description' => 'Ray集群Head节点参数。',
- 'type' => 'object',
- 'properties' => [
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
- 'cpu' => [
- 'title' => 'CPU核数。',
- 'description' => 'CPU核数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
- 'memory' => [
- 'title' => '内存,单位Gi。',
- 'description' => '内存,单位Gi。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '8Gi',
- ],
- 'enableAutoScaling' => [
- 'title' => '是否开启Worker自动扩缩容。',
- 'description' => '是否开启Worker自动扩缩容。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- 'idleTimeoutSeconds' => [
- 'title' => '开启自动扩缩容后Worker Idle时间。',
- 'description' => '开启自动扩缩容后Worker Idle时间。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '60',
- ],
- ],
- 'required' => false,
- ],
- 'workerSpec' => [
- 'title' => 'Ray集群Worker节点参数。',
- 'description' => 'Ray集群Worker节点参数,最多50组。',
- 'type' => 'array',
- 'items' => [
- 'title' => 'Worker节点结构体。',
- 'description' => 'Worker节点结构体。',
- 'type' => 'object',
- 'properties' => [
- 'groupName' => [
- 'title' => 'Worker组名。',
- 'description' => 'Worker组名。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'WorkerGroup1',
- ],
- 'workerType' => [
- 'title' => 'Worker类型。',
- 'description' => 'Worker类型。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'CPU',
- 'enum' => [
- 'CPU',
- ],
- ],
- 'replica' => [
- 'title' => 'Worker数量。',
- 'description' => 'Worker数量,最小1。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '2',
- ],
- 'queueName' => [
- 'title' => '队列名称。',
- 'description' => '队列名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root_queue',
- ],
- 'cpu' => [
- 'title' => 'CPU核数。',
- 'description' => 'CPU核数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '4',
- ],
- 'memory' => [
- 'title' => '内存,单位Gi。',
- 'description' => '内存,单位Gi。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '16Gi',
- ],
- 'minReplica' => [
- 'title' => '开启自动扩缩容后最小Worker数量。',
- 'description' => '开启自动扩缩容后最小Worker数量,最小1,必须小于等于maxReplica。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- 'maxReplica' => [
- 'title' => '开启自动扩缩容后最大Worker数量。',
- 'description' => '开启自动扩缩容后最大Worker数量,最小1。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
- 'extraParam' => [
- 'title' => '额外参数,json格式。',
- 'description' => '额外参数,必须为json格式。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '{}',
- ],
- ],
- 'required' => false,
+ ],
+ [
+ 'apiName' => 'CancelJobRun',
+ 'description' => '终止Spark任务',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CancelJobRun',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944',
- ],
- 'clusterId' => [
- 'title' => 'Ray集群ID。',
- 'description' => 'Ray集群ID。',
- 'type' => 'string',
- 'example' => 'ray-k7nm8ahl5te4tg91',
- ],
- ],
+ [
+ 'apiName' => 'StopSessionCluster',
+ 'description' => '终止会话',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StopSessionCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'CreateWorkspace',
+ 'description' => '创建工作空间',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateWorkspace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944\\",\\n \\"clusterId\\": \\"ray-k7nm8ahl5te4tg91\\"\\n}","type":"json"}]',
- 'title' => '创建Ray集群',
- ],
- 'ListCatalogs' => [
- 'summary' => '查看数据目录列表',
- 'path' => '/api/v1/workspaces/{workspaceId}/catalogs',
- 'methods' => [
- 'get',
+ [
+ 'apiName' => 'ListWorkspaceQueues',
+ 'description' => '获取工作空间队列列表',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListWorkspaceQueues',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'GetKyuubiToken',
+ 'description' => '获取Kyuubi Gateway认证Token',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'StartSessionCluster',
+ 'description' => '启动会话',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartSessionCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateLivyCompute',
+ 'description' => '创建Livy Gateway',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetKyuubiService',
+ 'description' => '获取 Kyuubi Gateway',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetKyuubiService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ [
+ 'apiName' => 'StartRayCluster',
+ 'description' => '启动Ray集群',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StartRayCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'produces' => [
- 'application/json',
+ [
+ 'apiName' => 'ListKyuubiSparkApplications',
+ 'description' => '获取Kyuubi提交的Spark应用详情列表',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListKyuubiSparkApplications',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'operationType' => 'read',
- 'systemTags' => [
+ [
+ 'apiName' => 'ListMembers',
+ 'description' => '获取成员列表',
'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '213262',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceR6MU4Y',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListMembers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'workspaceId',
- 'in' => 'path',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-d2d82aa09155****',
+ [
+ 'apiName' => 'ListRayJob',
+ 'description' => '列出Ray Job信息。',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListRayJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'environment',
- 'in' => 'query',
- 'schema' => [
- 'description' => '环境类型。',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'dev' => 'dev',
- 'production' => 'production',
- ],
- 'example' => 'dev',
+ ],
+ [
+ 'apiName' => 'CreateNetworkService',
+ 'description' => '创建网络连接',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateNetworkService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'regionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'ListReleaseVersions',
+ 'description' => '获取spark版本列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListReleaseVersions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => '返回数据',
- 'description' => '返回数据',
- 'type' => 'object',
- 'properties' => [
- 'catalogs' => [
- 'description' => '数据目录。',
- 'type' => 'array',
- 'items' => [
- 'description' => '数据目录。',
- 'type' => 'object',
- 'properties' => [
- 'catalogId' => [
- 'title' => 'regionId。',
- 'description' => '数据目录ID。',
- 'type' => 'string',
- 'example' => '15097**********',
- ],
- 'workspaceId' => [
- 'title' => '工作空间id。',
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'example' => 'w-d2d82aa09155****'."\n",
- ],
- 'environments' => [
- 'description' => '环境类型。',
- 'type' => 'array',
- 'items' => [
- 'description' => '环境类型。',
- 'type' => 'string',
- 'example' => 'dev,production',
- ],
- ],
- 'catalogType' => [
- 'description' => '是否为默认数据目录。',
- 'type' => 'string',
- 'example' => 'default_catalog',
- ],
- 'catalogProvider' => [
- 'description' => '数据目录类型。',
- 'type' => 'string',
- 'example' => 'HMS',
- ],
- 'gmtCreate' => [
- 'description' => '创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1760604889',
- ],
- 'gmtModified' => [
- 'description' => '更新时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1760604889',
- ],
- 'resourceOwnerId' => [
- 'description' => '资源持有者ID。',
- 'type' => 'string',
- 'example' => '15097**********',
- ],
- 'alias' => [
- 'title' => 'alias',
- 'description' => 'alias',
- 'type' => 'string',
- 'example' => 'alias',
- ],
- 'extras' => [
- 'description' => '额外信息。',
- 'type' => 'object',
- 'additionalProperties' => [
- 'type' => 'string',
- 'description' => '额外信息。',
- 'example' => '{"networkName":"hms","metastoreUrl":"thrift://master-1-1.c-70*********.cn-hangzhou.emr.aliyuncs.com:9083","keytabPath":"oss://********/hive.keytab","principal":"hive/master-1-1.c-70****************"}',
- ],
- ],
- ],
- ],
- ],
- 'requestId' => [
- 'title' => '请求ID。',
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****',
- ],
- 'nextToken' => [
- 'title' => '下一页TOKEN。',
- 'description' => '下一页TOKEN。',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'totalCount' => [
- 'title' => '记录总数。',
- 'description' => '记录总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'maxResults' => [
- 'title' => '一次获取的最大记录数。',
- 'description' => '一次获取的最大记录数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- ],
+ [
+ 'apiName' => 'StopRayCluster',
+ 'description' => '停止Ray集群',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StopRayCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'ListExecutorLogs',
+ 'description' => '获取Spark作业日志',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListExecutorLogs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"catalogs\\": [\\n {\\n \\"catalogId\\": \\"15097**********\\",\\n \\"workspaceId\\": \\"w-d2d82aa09155****\\\\n\\",\\n \\"environments\\": [\\n \\"dev,production\\"\\n ],\\n \\"catalogType\\": \\"default_catalog\\",\\n \\"catalogProvider\\": \\"HMS\\",\\n \\"gmtCreate\\": 1760604889,\\n \\"gmtModified\\": 1760604889,\\n \\"resourceOwnerId\\": \\"15097**********\\",\\n \\"alias\\": \\"alias\\",\\n \\"extras\\": {\\n \\"key\\": \\"{\\\\\\"networkName\\\\\\":\\\\\\"hms\\\\\\",\\\\\\"metastoreUrl\\\\\\":\\\\\\"thrift://master-1-1.c-70*********.cn-hangzhou.emr.aliyuncs.com:9083\\\\\\",\\\\\\"keytabPath\\\\\\":\\\\\\"oss://********/hive.keytab\\\\\\",\\\\\\"principal\\\\\\":\\\\\\"hive/master-1-1.c-70****************\\\\\\"}\\"\\n }\\n }\\n ],\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\",\\n \\"nextToken\\": \\"1\\",\\n \\"totalCount\\": 200,\\n \\"maxResults\\": 20\\n}","type":"json"}]',
- 'title' => '查询数据目录列表',
- ],
- 'ListTemplate' => [
- 'summary' => '获取任务模板列表。',
- 'path' => '/api/interactive/v1/workspace/{workspaceBizId}/template/listing',
- 'methods' => [
- 'get',
+ [
+ 'apiName' => 'CreateSqlStatement',
+ 'description' => '创建SQL查询',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateSqlStatement',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'ActivateAICenter',
+ 'description' => '激活AI中心',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ActivateAICenter',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'CreateLivyComputeToken',
+ 'description' => '创建Livy Gateway的Token',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:CreateLivyComputeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'consumes' => [
- 'application/json',
+ [
+ 'apiName' => 'UpdateKyuubiToken',
+ 'description' => '更新Kyuubi Gateway认证Token',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:UpdateKyuubiToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'produces' => [
- 'application/json',
+ [
+ 'apiName' => 'StopLivyCompute',
+ 'description' => '停止Livy Gateway',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:StopLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '191100',
- 'abilityTreeNodes' => [
- 'FEATUREemapreduceUECZZL',
+ [
+ 'apiName' => 'ListLivyCompute',
+ 'description' => '列出Livy Gateway',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListLivyCompute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'workspaceBizId',
- 'in' => 'path',
- 'schema' => [
- 'description' => '工作空间ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'w-8adde60aa809701f',
+ [
+ 'apiName' => 'ListNetworkServices',
+ 'description' => '获取网络连接列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:ListNetworkServices',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'regionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '区域ID。',
- 'description' => '区域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'TerminateSqlStatement',
+ 'description' => '终止SQL查询',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:TerminateSqlStatement',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'httpStatusCode' => [
- 'title' => 'Id of the request',
- 'description' => 'http返回码。',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'errorCode' => [
- 'description' => '- 当success为false,返回业务错误码。'."\n"
- .' '."\n"
- .'- 当success为true,返回空值。',
- 'type' => 'string',
- 'example' => 'ERR-00000000',
- ],
- 'errorMessage' => [
- 'description' => '- 当success为false,返回业务错误信息;'."\n"
- ."\n"
- .'- 当success为true,返回空值。',
- 'type' => 'string',
- 'example' => 'ok',
- ],
- 'data' => [
- 'description' => '数据列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Spark任务模板对象。',
- '$ref' => '#/components/schemas/Template',
- ],
- ],
- 'success' => [
- 'description' => '请求是否成功。'."\n"
- ."\n"
- .'- true:成功'."\n"
- ."\n"
- .'- false:失败',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'requestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'DD6B1B2A-5837-5237-ABE4-FF0C8944****'."\n",
- ],
- ],
+ [
+ 'apiName' => 'GetSqlStatement',
+ 'description' => '获取SQL查询详情',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetSqlStatement',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'GetCuHours',
+ 'description' => '获取工作空间队列CU时',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'emr-serverless-spark:GetCuHours',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'EmrServerlessSpark', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"httpStatusCode\\": \\"200\\",\\n \\"errorCode\\": \\"ERR-00000000\\",\\n \\"errorMessage\\": \\"ok\\",\\n \\"data\\": [\\n {\\n \\"templateType\\": \\"\\",\\n \\"gmtModified\\": \\"\\",\\n \\"creator\\": 0,\\n \\"sparkLogLevel\\": \\"\\",\\n \\"gmtCreated\\": \\"\\",\\n \\"sparkDriverMemory\\": 0,\\n \\"modifier\\": 0,\\n \\"sparkExecutorCores\\": 0,\\n \\"sparkConf\\": [\\n {\\n \\"value\\": \\"\\",\\n \\"key\\": \\"\\"\\n }\\n ],\\n \\"sparkVersion\\": \\"\\",\\n \\"sparkExecutorMemory\\": 0,\\n \\"fusion\\": true,\\n \\"isDefault\\": true,\\n \\"sparkDriverCores\\": 0,\\n \\"displaySparkVersion\\": \\"\\",\\n \\"sparkLogPath\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"bizId\\": \\"\\"\\n }\\n ],\\n \\"success\\": true,\\n \\"requestId\\": \\"DD6B1B2A-5837-5237-ABE4-FF0C8944****\\\\n\\"\\n}","type":"json"}]',
- 'title' => '获取工作空间配置模板列表',
- ],
- ],
- 'endpoints' => [
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'emr-serverless-spark.cn-beijing.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'emr-serverless-spark.cn-zhangjiakou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'emr-serverless-spark.cn-wulanchabu.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'emr-serverless-spark.cn-hangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'emr-serverless-spark.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'emr-serverless-spark.cn-shenzhen.aliyuncs.com',
],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'emr-serverless-spark.cn-chengdu.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'emr-serverless-spark.cn-hongkong.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'emr-serverless-spark.ap-northeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'emr-serverless-spark.ap-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'emr-serverless-spark.ap-southeast-5.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'emr-serverless-spark.us-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'emr-serverless-spark.us-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'emr-serverless-spark.eu-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'na-south-1',
- 'endpoint' => 'emr-serverless-spark.na-south-1.aliyuncs.com',
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'Workspace', 'arn' => 'acs:emr:{#regionId}:{#accountId}:'],
+ ['validationType' => 'always', 'resourceType' => 'Workspace', 'arn' => 'acs:emrserverlessspark:{#regionId}:{#accountId}:workspace/{#WorkspaceId}'],
+ ['validationType' => 'always', 'resourceType' => 'Workspace', 'arn' => 'acs:emr-serverless-spark:{#regionId}:{#accountId}:workspace/*'],
],
],
];