华为云用户手册

  • 响应示例 状态码: 200 OK { "success_count" : 1, "failure" : [ { "error_code" : "APIG.3002", "error_msg" : "API b20a5be94ded40cc8f2872ea3005cfb7 does not exist", "api_id" : "b20a5be94ded40cc8f2872ea3005cfb7" } ]} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value: parameter action should be \\\"delete\\\""} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3030", "error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 group_id 否 String 需要删除的分组ID apis 否 Array of strings 需要删除的API ID列表
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 符合条件的API总数 size Integer 本次返回的列表长度 auths Array of V1ApiAuthInfo objects 本次返回的API列表 表5 V1ApiAuthInfo 参数 参数类型 描述 id String 授权关系编号 api_id String API的编号 api_name String API的名称 group_name String API绑定的分组名称 api_type Integer API类型 api_remark String API的描述信息 env_id String api授权绑定的环境ID auth_role String 授权者 auth_time String 授权创建的时间 app_name String APP的名称 app_remark String APP的描述 app_type String APP的类型: apig:存量apic客户端,新建实例不支持此类型 roma:roma集成客户端 app_creator String APP的创建者,取值如下: USER:租户自己创建 MARKET:API市场分配,暂不支持 publish_id String API的发布编号 group_id String API绑定的分组ID auth_tunnel String 授权通道类型 NORMAL:普通通道 GREEN:绿色通道 auth_whitelist Array of strings 绿色通道的白名单配置 auth_blacklist Array of strings 绿色通道的黑名单配置 visit_param String 访问参数。 roma_app_type String ROMA_APP的类型: subscription:订阅应用 integration:集成应用 envname String api授权绑定的环境 appid String APP的编号 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "total" : 1, "size" : 1, "auths" : [ { "api_id" : "5f918d104dc84480a75166ba99efff21", "app_name" : "app_demo", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "envname" : "RELEASE", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "api_type" : 1, "api_name" : "Api_http", "appid" : "356de8eb7a8742168586e5daf5339965", "auth_time" : "2020-08-04T04:02:22Z", "app_creator" : "USER", "id" : "dd29b33ae4394e3b924b582c6b40880b", "api_remark" : "Web Api", "auth_role" : "PROVIDER", "app_type" : "apig", "auth_tunnel" : "NORMAL", "publish_id" : "40e7162dc6b94bbbbb1a60d2a24b1b0c" } ]} 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:api_name. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3004", "error_msg" : "App 356de8eb7a8742168586e5daf5339965 does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应示例 状态码: 200 OK { "total" : 2, "size" : 2, "groups" : [ { "update_time" : "2020-07-31T06:55:55Z", "name" : "api_group_001", "on_sell_status" : 2, "remark" : "group1", "sl_domains" : [ "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.cn" ], "sl_domain" : "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "register_time" : "2020-07-31T06:55:55Z", "status" : 1, "is_default" : 2, "version" : "V1" }, { "update_time" : "2020-06-24T15:29:42.421926Z", "name" : "api_group_002", "on_sell_status" : 2, "remark" : "group2", "sl_domain" : "02a8ab3cb2784de5a096852829671ae7.apic.****.com", "sl_domains" : [ "02a8ab3cb2784de5a096852829671ae7.apic.****.com", "02a8ab3cb2784de5a096852829671ae7.apic.****.cn" ], "id" : "02a8ab3cb2784de5a096852829671ae7", "register_time" : "2020-06-24T15:29:42.421926Z", "status" : 1, "is_default" : 2, "version" : "V1" } ]} 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3030", "error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 groups Array of ApiGroupInfo objects 分组列表 表5 ApiGroupInfo 参数 参数类型 描述 id String 编号 name String API分组名称 status Integer 状态 1: 有效 2: 锁定 sl_domain String 系统默认分配的子域名 register_time String 创建时间 update_time String 最近修改时间 on_sell_status Integer 是否已上架云市场: 1:已上架 2:未上架 3:审核中 ROMA Connect暂未对接云市场,此字段默认返回2 url_domains Array of UrlDomain objects 分组上绑定的独立域名列表 sl_domains Array of strings 系统默认分配的子域名列表 remark String 描述 call_limits Integer 流控时长内分组下的API的总访问次数限制,默认不限,请根据服务的负载能力自行设置 暂不支持 time_interval Integer 流控时长 暂不支持 time_unit String 流控的时间单位 暂不支持 is_default Integer 是否为默认分组 version String 分组版本 V1:全局分组 V2:应用级分组 roma_app_id String 分组归属的集成应用编号。 分组版本V2时必填。 roma_app_name String 分组归属的集成应用名称 表6 UrlDomain 参数 参数类型 描述 id String 域名编号 domain String 访问域名 cname_status Integer 域名cname状态: 1:未解析 2:解析中 3:解析成功 4:解析失败 ssl_id String SSL证书编号 ssl_name String SSL证书名称 min_ssl_version String 最小ssl协议版本号。支持TLSv1.1或TLSv1.2 缺省值:TLSv1.1 verified_client_certificate_enabled Boolean 是否开启客户端证书校验。只有绑定证书时,该参数才生效。当绑定证书存在trusted_root_ca时,默认开启;当绑定证书不存在trusted_root_ca时,默认关闭。 缺省值:false is_has_trusted_root_ca Boolean 是否存在信任的根证书CA。当绑定证书存在trusted_root_ca时为true。 缺省值:false ssl_infos Array of SslInfo objects SSL证书列表 暂不支持 表7 SslInfo 参数 参数类型 描述 ssl_id String SSL证书编号 ssl_name String SSL证书名称 algorithm_type String 证书算法类型: RSA ECC SM2 暂不支持 type String 证书可见范围: instance:当前实例 global:全局 缺省值:global 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "group_id" : "d9ce8c9eede54b3f841ec324fe0bfdc2", "failure" : [ { "path" : "/test/demo", "error_msg" : "The API already exists, An API with the same combination of the method, path, and x-apigateway-match-mode fields already exists. API name: API_demo", "method" : "GET", "error_code" : "APIG.3301" } ], "success" : [ { "path" : "/test", "method" : "GET", "action" : "create", "id" : "8ae6bcafab6f49d78242bff26ad8a4f0" } ], "swagger" : { "swagger_id" : "412488ba965041f9838a5266a5f8e574", "result" : "Success" }} 状态码: 400 Bad Request { "error_code" : "APIG.3201", "error_msg" : "The API group name already exists"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3001", "error_msg" : "API group not found"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 数据集成API错误码 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 400 FDI.3002 Invalid parameters. 存在非法参数。 参考API文档修改非法参数。 400 FDI.3016 Failed to test the connectivity. 测试连通性失败。 检查数据源配置是否有问题,或联系技术工程师处理。 400 FDI.3019 Failed to stop the real-time task. 停止实时任务失败。 检查任务配置是否有问题,或联系技术工程师处理。 400 FDI.3020 Failed to stop the scheduled task. 停止定时任务失败。 检查任务配置是否有问题,或联系技术工程师处理。 400 FDI.3021 One or more tasks do not exist. 一个或多个任务不存在。 检查任务是否存在。 400 FDI.3022 One or more tasks have empty task IDs. 一个或多个任务具有空的任务ID。 确认task_id是否存在。 400 FDI.3023 One or more tasks are running. 一个或多个任务正在运行。 确认是否有任务正在运行。 400 FDI.3026 Failed to manually start the task. 手动启动任务失败。 检查任务配置是否有问题,或联系技术工程师处理。 400 FDI.3027 Failed to manually stop the task. 手动停止任务失败。 检查任务配置是否有问题,或联系技术工程师处理。 400 FDI.3028 Failed to delete the task. 删除任务失败。 请稍后重试,或者联系技术工程师处理。 400 FDI.3033 Invalid parameter [%s]. 参数【%s】无效。 参考API文档修改参数。 400 FDI.3035 Invalid SQL statement. 无效的SQL语句。 检查SQL语句是否正确。 400 FDI.3037 The parameter in mapping information is invalid or does not match the task. 映射信息中的参数不合法或与任务不匹配。 检查映射信息中的参数。 400 FDI.3039 The project ID is empty or does not match the project ID in the URL. 项目ID为空或与URL中的项目ID不匹配。 检查项目ID。 400 FDI.3043 The data source IP address is not in the valid network segment. 数据源IP不在有效网段内。 检查task_id参数是否正确,修改task_id后重。 400 FDI.3048 Invalid pagination parameters. 分页参数不合法。 请参考API接口文档修改limit和offset参数。 400 FDI.3049 The parameter used for sorting is invalid. 排序参数不合法。 请参考API接口文档修改排序参数。 400 FDI.3050 The running status is invalid. execute_status参数非法。 按照API规范修改execute_status参数。 400 FDI.3051 The length of an SQL statement cannot exceed 20000 characters. SQL语句长度不能超过20000个字符。 检查SQL语句是否长度超出限制。 400 FDI.3057 The instance quota exceeds the upper limit. 实例配额超过上限。 检查实例配额。 400 FDI.3058 The task name already exists. 任务名称已存在。 修改重复任务名。 400 FDI.3059 The data source does not support the real-time integration mode. 数据源不支持实时集成模式。 检查数据源配置。 400 FDI.3060 The data source does not support the scheduled integration mode. 数据源不支持定时集成模式。 检查数据源配置。 400 FDI.3063 The parameter for setting the compensation period is invalid. 时间补偿值参数非法。 检查api的时间补偿值参数。 400 FDI.3064 The parameter for setting the incremental migration category is invalid. 增量迁移类别参数不合法。 检查api的增量迁移类别。 400 FDI.3065 The start time field and end time field must be specified. 开始时间字段和结束时间字段不能为空。 检查开始时间字段和结束时间字段是否为空。 400 FDI.3066 The parameter for setting the time format is invalid. 时间格式参数无效。 检查时间格式。 400 FDI.3067 The parameter for setting the time interval is invalid. 时间间隔参数无效。 检查时间间隔参数。 400 FDI.3069 The parameter for setting the right periodic boundary is invalid. 周期右边界参数无效。 检查周期右边界参数是否正确。 400 FDI.3070 The parameter for setting the right periodic boundary is invalid. 周期右边界参数无效。 检查周期右边界参数是否正确。 400 FDI.3071 The SQL statement of incremental migration does not contain "${{begin}}" and "${{end}}". 增量迁移的SQL语句中不包含“${{begin}}”和“${{end}}”。 检查增量迁移的SQL语句。 400 FDI.3073 The SQL statement is empty. SQL语句为空。 检查SQL语句。 400 FDI.3074 The SQL statement in a non-incremental migration task cannot contain "${{begin}}" and "${{end}}". 非增量迁移任务的SQL语句中不能包含${{begin}}和${{end}}。 检查非增量迁移的SQL语句。 400 FDI.3083 One or more scheduled tasks are not configured with scheduled plans. 一个或多个定时任务没有调度计划。 检查任务是否有调度计划。 400 FDI.3104 Invalid data source. 数据源不合法。 检查数据源配置是否有问题,或联系技术工程师处理。 400 FDI.3137 The number of tasks on the source instance exceeds the upper limit. 源实例任务数超过上限。 检查任务配额。 400 FDI.3138 The number of tasks on the destination instance exceeds the upper limit. 目标实例任务数超过上限。 检查任务配额。 400 FDI.3139 The task is running. 任务已经启动,无法再次启动。 检查任务状态,任务停止后重试。 400 FDI.3140 Non-running instance is not allowed to create or update tasks. 非运行实例不允许创建或更新任务。 检查实例运行状态。 400 FDI.3141 The instance ID is empty. 实例ID为空。 检查实例ID是否为空。 400 FDI.3142 The description length cannot exceed 1024. 描述长度不能超过1024。 减少描述字段长度。 400 FDI.3144 The integration mode can only be Scheduled or Real-Time. 集成方式只能是Scheduled和Real-Time。 检查集成方式字段。 400 FDI.3145 The mapping information is empty or invalid. 映射信息为空或无效。 检查映射信息字段。 400 FDI.3146 The source information or destination information is empty. 源信息或目的信息为空。 检查源端或者目标端是否为空。 400 FDI.3147 The data source does not exist. 数据源不存在。 检查数据源是否存在。 400 FDI.3148 The destination instance does not match the source instance. 目的实例与源实例不匹配。 检查源端或者目标端实例是否匹配。 400 FDI.3149 The task ID is empty. 任务ID为空。 填写任务ID。 400 FDI.3150 The task list is empty. 任务列表为空。 检查任务ID是否正确。 400 FDI.3157 The task name must contain 3 to 100 characters and start with a letter or digit. It can consist of only letters, digits, periods .), and underscores _), and strikethrough -). 任务名称必须以字母或数字开头,长度为3~100个字符。只能由字母、数字、“。”、下划线_)和删除线-)组成。 检查任务名称是否符合规则。 400 FDI.3160 The source and destination instances must be the same. 源实例和目的实例必须相同。 检查源端 或者目标端实例是否相同。 400 FDI.3161 The action must be start or stop. 动作必须是start或stop。 检查action字段。 400 FDI.3165 The task cannot be empty. 任务不能为空。 检查任务ID。 400 FDI.3166 The task details cannot be empty. 任务详情不能为空。 检查任务detail参数。 400 FDI.3173 The data source ID is empty. 数据源ID为空。 检查数据源ID。 400 FDI.3174 The instance ID is empty. 实例ID为空。 检查实例ID。 400 FDI.3179 This instance does not exist. 该实例不存在。 检查实例ID。 400 FDI.3183 The scheduled task that is running cannot be stopped manually. 不能手动停止正在运行的定时任务。 等待任务运行结束。 400 FDI.3435 The appId is invalid or can not find apps by this instance id. appId不合法或根据实例Id找不到应用。 检查应用ID。 400 FDI.3437 The connector ID cannot be empty. connector ID不能为空。 检查连接器ID。 400 FDI.3442 The description exceeds maximum length. 描述超过最大长度。 减少描述信息长度。 400 FDI.3443 Invalid data source type. 数据源类型非法。 检查数据源类型。 400 FDI.3447 Incorrect content. 内容错误。 检查content参数。 400 FDI.3448 The connector instance ID is empty. connector实例ID为空。 检查连接器实例ID。 400 FDI.3449 The connector instance ID is incorrect. connector实例ID错误。 检查连接器实例ID。 400 FDI.3451 The connector ID is not required for non-connectors. 非连接器不需要连接器ID。 删除连接器实例ID。 400 FDI.3467 The task quota in this project is insufficient. 此项目下的任务配额不足。 检查该项目下的任务配额。 400 FDI.3478 You do not have permission to perform operations on this application. 您没有权限操作该应用。 检查是否有权限。 400 FDI.3549 The task cannot be started because the topic used by an instance is being deleted. 实例使用的topic正在删除中,不能启动任务。 等待删除成功后再启动任务。 400 FDI.3557 The task tag is illegal. 任务标签非法。 检查任务标签。 404 FDI.3081 The task does not exist. task_id对应的任务记录不存在。 确认task_id是否有效,修改task_id参数后重试。 404 FDI.3101 The datasource does not exist. 数据源不存在。 检查数据源是否存在。 404 FDI.3108 Task details do not exist. 任务详情不存在。 检查任务details参数。 404 FDI.3109 This task does not exist. 该任务不存在。 检查任务id是否正确。 404 FDI.3180 This task is not in the project. 操作的task不属于当前项目。 检查task_id参数是否正确,修改task_id后重试。 404 FDI.3427 The specified connector is not found. 找不到指定的连接器。 检查指定连接器是否存在。 429 FDI.1007 The number of requests exceeds the upper limit. 并发请求数量超过上限。 请稍后重试,或者联系技术工程师处理。 500 FDI.3017 Failed to start the real-time task. 启动实时任务失败。 检查任务配置是否有问题,或联系技术工程师处理。 500 FDI.3018 Failed to start the scheduled task. 定时任务启动失败。 检查任务配置是否有问题,或联系技术工程师处理。 500 FDI.3030 The task is started. 任务在执行中,不允许进行操作。 等待当前任务结束后再操作。 500 FDI.3121 Failed to delete the data source. 删除数据源失败。 检查是否有关联的任务。 500 FDI.9999 Network error. FDI内部错误。 检查任务配置是否有问题,或联系技术工程师处理。 父主题: 错误码
  • 请求示例 { "ld_api_id" : "bd42841c20184da6bbf457c6d8a06e37", "auth_type" : "APP", "backend_timeout" : 5000, "cors" : false, "deploy_front_api" : true, "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "group_id" : "01ce7564a2544713b80c7c08eb85f5d0", "method" : "GET", "path" : "/test/function", "protocol" : "HTTPS", "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d"}
  • 响应示例 状态码: 200 OK { "api_definition" : { "content_type" : "json", "created_time" : "2020-09-18T09:25:59Z", "description" : "", "id" : "bd42841c20184da6bbf457c6d8a06e37", "instance" : "f0fa1789-3b76-433b-a787-9892951c620e", "method" : "GET", "modified_time" : "2020-09-19T06:29:35Z", "name" : "livedata_api_demo", "parameters" : [ ], "path" : "/test/function", "return_format" : false, "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d", "roma_app_name" : "app-demo", "scripts" : [ { "type" : "SQL", "object_name" : "fun", "content" : "ZnVuY3Rpb24gZXhlY3V0ZShkYXRhKSB7CiAgICByZXR1cm4gIkhlbGxvIHdvcmxkISIKfQ==", "created_time" : "2020-09-19T06:29:35Z", "modified_time" : "2020-09-19T06:29:35Z" } ], "status" : 4, "type" : "function", "version" : "1.0.1" }, "api_id" : "1d0432f1a82a49d08b9308ae7bd96ca6", "deploy_time" : "2020-09-19T06:58:13Z", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "group_id" : "01ce7564a2544713b80c7c08eb85f5d0", "id" : "5e19590f54444d8a9b8fe698ce26e9fe", "ld_api_id" : "bd42841c20184da6bbf457c6d8a06e37"} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:auth_type. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3084", "error_msg" : "The livedata API does not exist, id: bd42841c20184da6bbf457c6d8a06e37"} 状态码: 409 Conflict { "error_code" : "APIG.3479", "error_msg" : "the roma app used for deploy must be the same as the roma app of the ld api"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 ld_api_id 否 String 部署的后端API编号 deploy_front_api 否 Boolean 是否自动发布API true:部署完成后自动创建并发布前端API。此时auth_type,group_id,env_id,protocol必填。 false:部署完成后不创建前端API 缺省值:true auth_type 否 String 认证方式 NONE:无认证 APP:APP认证 IAM:IAM认证 AUTHORIZER:自定义认证 缺省值:APP authorizer_id 否 String 自定义认证编号。 认证方式auth_type = AUTHORIZER时必填 group_id 否 String 部署的前端API分组编号 env_id 否 String 部署的环境编号 protocol 否 String 请求协议 缺省值:HTTPS backend_timeout 否 Integer 超时时间 path 否 String 请求路径 method 否 String 请求方式 cors 否 Boolean 是否支持跨域 true:支持 false:不支持 缺省值:false roma_app_id 否 String 部署到前端的api归属的应用编号,与后端归属的应用编号保持一致
  • 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:instance_id. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3084", "error_msg" : "The livedata API does not exist, id: bd42841c20184da6bbf457c6d8a06e37"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应示例 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:id. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3081", "error_msg" : "authorizer with id: 0d982c1ac3da493dae47627b6439fc5c not found"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "update_time" : "2020-07-31T06:55:55Z", "name" : "api_group_001", "on_sell_status" : 2, "remark" : "group1", "sl_domains" : [ "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.cn" ], "sl_domain" : "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "register_time" : "2020-07-31T06:55:55Z", "status" : 1, "is_default" : 2, "version" : "V1"} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:instance_id. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3001", "error_msg" : "API group c77f5e81d9cb4424bf704ef2b0ac7600 does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 id String 编号 name String API分组名称 status Integer 状态 1: 有效 2: 锁定 sl_domain String 系统默认分配的子域名 register_time String 创建时间 update_time String 最近修改时间 on_sell_status Integer 是否已上架云市场: 1:已上架 2:未上架 3:审核中 ROMA Connect暂未对接云市场,此字段默认返回2 url_domains Array of UrlDomain objects 分组上绑定的独立域名列表 sl_domains Array of strings 系统默认分配的子域名列表 remark String 描述 call_limits Integer 流控时长内分组下的API的总访问次数限制,默认不限,请根据服务的负载能力自行设置 暂不支持 time_interval Integer 流控时长 暂不支持 time_unit String 流控的时间单位 暂不支持 is_default Integer 是否为默认分组 version String 分组版本 V1:全局分组 V2:应用级分组 roma_app_id String 分组归属的集成应用编号。 分组版本V2时必填。 roma_app_name String 分组归属的集成应用名称 表4 UrlDomain 参数 参数类型 描述 id String 域名编号 domain String 访问域名 cname_status Integer 域名cname状态: 1:未解析 2:解析中 3:解析成功 4:解析失败 ssl_id String SSL证书编号 ssl_name String SSL证书名称 min_ssl_version String 最小ssl协议版本号。支持TLSv1.1或TLSv1.2 缺省值:TLSv1.1 verified_client_certificate_enabled Boolean 是否开启客户端证书校验。只有绑定证书时,该参数才生效。当绑定证书存在trusted_root_ca时,默认开启;当绑定证书不存在trusted_root_ca时,默认关闭。 缺省值:false is_has_trusted_root_ca Boolean 是否存在信任的根证书CA。当绑定证书存在trusted_root_ca时为true。 缺省值:false ssl_infos Array of SslInfo objects SSL证书列表 暂不支持 表5 SslInfo 参数 参数类型 描述 ssl_id String SSL证书编号 ssl_name String SSL证书名称 algorithm_type String 证书算法类型: RSA ECC SM2 暂不支持 type String 证书可见范围: instance:当前实例 global:全局 缺省值:global 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应参数 状态码: 200 表8 响应Body参数 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 results Array of BatchResponse objects 删除标签响应体。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败 表9 BatchResponse 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 results Array of BatchResponse objects 更新标签响应体。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败 表8 BatchResponse 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败
  • 请求示例 创建导入(从OBS导入)任务 { "import_type" : "dir", "import_path" : "s3://test-obs/daoLu_images/animals/", "included_labels" : [ ], "import_annotations" : false, "difficult_only" : false} 创建导入(从Manifest导入)任务 { "import_type" : "manifest", "import_path" : "s3://test-obs/classify/output/dataset-f9e8-gfghHSokody6AJigS5A/annotation/V002/V002.manifest", "included_labels" : [ "rabbits", "bees", "Rabbits", "Bees" ], "import_annotations" : true, "difficult_only" : false}
  • 响应示例 状态码: 200 OK { "total_number" : 2, "labels" : [ { "name" : "Rabbits", "type" : 1, "property" : { "@modelarts:color" : "#3399ff" } }, { "name" : "Bees", "type" : 1, "property" : { "@modelarts:color" : "#3399ff" } } ]}
  • 开发环境权限(旧版) 表1 开发环境细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 创建开发环境实例 POST /v1/{project_id}/demanager/instances modelarts:notebook:create obs:bucket:CreateBucket obs:bucket:ListBucket obs:bucket:ListAllMyBuckets obs:bucket:HeadBucket obs:object:GetObject obs:object:PutObject obs:object:DeleteObject √ √ 查询开发环境实例列表 GET /v1/{project_id}/demanager/instances modelarts:notebook:list - √ √ 查询开发环境实例详情 GET /v1/{project_id}/demanager/instances/{instance_id} modelarts:notebook:get - √ √ 更新开发环境实例信息 PUT /v1/{project_id}/demanager/instances/{instance_id} modelarts:notebook:update - √ √ 删除开发环境实例 DELETE /v1/{project_id}/demanager/instances/{instance_id} modelarts:notebook:delete - √ √ 启停开发环境实例 POST /v1/{project_id}/demanager/instances/{instance_id}/action modelarts:notebook:action obs:bucket:CreateBucket obs:bucket:ListBucket obs:bucket:ListAllMyBuckets obs:bucket:HeadBucket obs:object:GetObject obs:object:PutObject obs:object:DeleteObject √ √ 父主题: 权限策略和授权项
  • 训练作业权限(旧版) 表1 训练管理(旧版)细化权限说明 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 创建训练作业 POST /v1/{project_id}/training-jobs modelarts:trainJob:create obs:bucket:HeadBucket obs:bucket:ListBucket obs:object:GetObjectAcl obs:object:GetObjectVersionAcl obs:bucket:ListBucketVersions obs:bucket:PutBucketAcl obs:bucket:ListAllMyBuckets √ √ 查看训练作业 GET /v1/{project_id}/training-jobs modelarts:trainJob:list - √ √ 删除训练作业 DELETE /v1/{project_id}/training-jobs/{job_id} modelarts:trainJob:delete - √ √ 更新训练作业描述 PUT /v1/{project_id}/training-jobs/{job_id} modelarts:trainJob:update - √ √ 创建训练作业版本 POST /v1/{project_id}/training-jobs/{job_id}versions modelarts:trainJobVersion:create obs:bucket:HeadBucket obs:bucket:ListBucket obs:object:GetObject obs:object:GetObjectVersionAcl obs:bucket:ListBucketVersions obs:bucket:PutBucketAcl obs:bucket:ListAllMyBuckets √ √ 删除训练作业版本 DELETE /v1/{project_id/training-jobs/{job_id}/versions/{version_id} modelarts:trainJobVersion:delete - √ √ 停止训练作业版本 POST /v1/{project_id}/training-jobs/{job_id}/versions/{version_id}/stop modelarts:trainJobVersion:stop - √ √ 查询训练作业版本列表 GET /v1/{project_id}/training-jobs/{job_id}/versions modelarts:trainJobVersion:list - √ √ 查看训练作业版本 GET /v1/{project_id}/training-jobs/{job_id}/versions/{version_id} modelarts:trainJobVersion:list - √ √ 获取训练作业日志的文件名 GET /v1/{project_id}/training-jobs/{job_id}/versopns/{version_id}/log/file-names modelarts:trainJobLog:list - √ √ 查询训练作业日志(旧) GET /v1/{project_id}/training-jobs/{job_id}/versions/{version_id}/aom-log modelarts:trainJobLog:list - √ √ 查询训练作业日志(新) GET /v1/{project_id}/training-jobs/{job_id}/versions/{version_id}/log modelarts:trainJobLog:list - √ √ 查看预置算法 GET /v1/{project_id}/built-in-algorithms modelarts:trainJobInnerModel:list - √ √ 查询作业的单个容器的监控 GET /v1/{project_id}/training-jobs/{job_id}/versions/{version_id}/pod/{pod_name}/metric-statistic - - √ √ 创建训练作业参数 POST /v1/{project_id}/training-job-configs modelarts:trainConfig:create obs:bucket:HeadBucket obs:bucket:ListBucket obs:bucket:ListAllMyBuckets √ √ 查看训练作业参数列表 GET /v1/{project_id}/training-job-configs modelarts:trainConfig:list - √ √ 更新训练作业参数 PUT /v1/{project_id}/training-job-configs/{config_name} modelarts:trainConfig:update obs:bucket:HeadBucket obs:bucket:ListBucket obs:bucket:ListAllMyBuckets √ √ 查询训练作业参数详情 GET /v1/{project_id}/training-job-configs/{config_name} modelarts:trainConfig:get - √ √ 删除训练作业参数 DELETE /v1/{project_id}/training-job-configs modelarts:trainConfig:delete - √ √ 创建可视化作业 POST /v1/{project_id}/visualization-jobs modelarts:tensorboard:create obs:bucket:HeadBucket obs:bucket:ListBucket obs:bucket:ListAllMyBuckets √ √ 获取可视化作业列表 GET /v1/{project_id}/visualization-jobs modelarts:tensorboard:list - √ √ 删除可视化作业 DELETE /v1/{project_id}/visualization-jobs/{job_id} modelarts:tensorboard:delete - √ √ 更新可视化作业描述 PUT /v1/{project_id}/visualization-jobs/{job_id} modelarts:tensorboard:update - √ √ 查询可视化作业详情 GET /v1/{project_id}/visualization-jobs/{job_id} modelarts:tensorboard:get - √ √ 重启可视化作业 POST /v1/{project_id}/visualization-jobs/{job_id}/restart modelarts:tensorboard:restart obs:bucket:HeadBucket obs:bucket:ListBucket obs:bucket:ListAllMyBuckets √ √ 停止可视化作业 POST /v1/{project_id}/visualization-jobs/{job_id}/stop modelarts:tensorboard:stop - √ √ 查看作业资源规格 GET /v1/{project_id}/job/resource-specs - - √ √ 查看作业引擎规格 GET /v1/{project_id}/job/ai-engines - - √ √ 父主题: 权限策略和授权项
  • 概述 使用TensorFlow框架创建训练作业的流程如下: 调用认证鉴权接口获取用户Token,在后续的请求中需要将Token放到请求消息头中作为认证。 调用查询作业资源规格接口获取训练作业支持的资源规格。 调用查询作业引擎规格接口查看训练作业的引擎类型和版本。 调用创建训练作业接口创建一个训练作业。 调用查询训练作业版本详情接口根据训练作业的ID查询训练作业的创建详情。 调用获取训练作业日志的文件名接口获取训练作业日志的文件名。 调用查询训练作业日志接口查看训练作业的日志详情。 当训练作业使用完成或不再需要时,调用删除训练作业接口删除训练作业。
  • 操作步骤 调用认证鉴权接口获取用户的Token。 请求消息体: URI格式:POST https://{iam_endpoint}/v3/auth/tokens 请求消息头:Content-Type →application/json 请求Body: { "auth": { "identity": { "methods": ["password"], "password": { "user": { "name": "user_name", "password": "user_password", "domain": { "name": "domain_name" } } } }, "scope": { "project": { "name": "cn-north-1" } } }} 其中,加粗的斜体字段需要根据实际值填写: iam_endpoint为IAM的终端节点。 user_name为IAM用户名。 user_password为用户登录密码。 domain_name为用户所属的帐号名。 cn-north-1为项目名,代表服务的部署区域。 返回状态码“201 Created”,在响应Header中获取“X-Subject-Token”的值即为Token,如下所示: x-subject-token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... 调用查询作业资源规格接口获取训练作业支持的资源规格。 请求消息体: URI格式:GET https://{ma_endpoint}/v1/{project_id}/job/resource-specs?job_type=train 请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... 其中,加粗的斜体字段需要根据实际值填写: ma_endpoint为ModelArts的终端节点。 project_id为用户的项目ID。 “X-auth-Token”的值是上一步获取到的Token值。 返回状态码“200 OK”,响应Body如下所示: { "specs": [ ...... { "spec_id": 7, "core": "2", "cpu": "8", "gpu_num": 0, "gpu_type": "", "spec_code": "modelarts.vm.cpu.2u", "unit_num": 1, "max_num": 1, "storage": "", "interface_type": 1, "no_resource": false }, { "spec_id": 27, "core": "8", "cpu": "32", "gpu_num": 0, "gpu_type": "", "spec_code": "modelarts.vm.cpu.8u", "unit_num": 1, "max_num": 1, "storage": "", "interface_type": 1, "no_resource": false } ], "is_success": true, "spec_total_count": 5} 根据“spec_code”字段选择并记录创建训练作业时需要的规格类型,本章以“modelarts.vm.cpu.8u”为例,并记录“max_num”字段的值为“1”。 “no_resource”字段用于判断规格资源是否充足,“false”代表有资源。 调用查询作业引擎规格接口查看训练作业的引擎类型和版本。 请求消息体: URI格式:GET https://{ma_endpoint}/v1/{project_id}/job/ai-engines?job_type=train 请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... 其中,加粗的斜体字段需要根据实际值填写。 返回状态码“200 OK”,响应Body如下所示: { "engines": [ { "engine_type": 13, "engine_name": "Ascend-Powered-Engine", "engine_id": 130, "engine_version": "TF-1.15-python3.7-aarch64" }, ...... { "engine_type": 1, "engine_name": "TensorFlow", "engine_id": 3, "engine_version": "TF-1.8.0-python2.7" }, { "engine_type": 1, "engine_name": "TensorFlow", "engine_id": 4, "engine_version": "TF-1.8.0-python3.6" }, ...... { "engine_type": 9, "engine_name": "XGBoost-Sklearn", "engine_id": 100, "engine_version": "XGBoost-0.80-Sklearn-0.18.1-python3.6" } ], "is_success": true} 根据“engine_name”和“engine_version”字段选择创建训练作业时需要的引擎规格,并记录对应的“engine_id”,本章以TensorFlow引擎为例创建作业,记录“engine_id”为“4”。 调用创建训练作业接口创建一个基于TensorFlow框架的名称为“jobtest_TF”的训练作业。 请求消息体: URI格式:POST https://{ma_endpoint}/v1/{project_id}/training-jobs 请求消息头: X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... Content-Type →application/json 请求Body: { "job_name": "jobtest_TF", "job_desc": "TF识别手写数字", "config": { "worker_server_num": 1, "parameter": [], "flavor": { "code": "modelarts.vm.cpu.8u" }, "train_url": "/test-modelarts/mnist-model/output/", "engine_id": 4, "app_url": "/test-modelarts/mnist-tensorflow-code/", "boot_file_url": "/test-modelarts/mnist-tensorflow-code/train_mnist_tf.py", "data_source": [ { "type": "obs", "data_url": "/test-modelarts/dataset-mnist/" } ] }, "notification": { "topic_urn": "", "events": [] }, "workspace_id": "0"} 其中,加粗的斜体字段需要根据实际值填写: “job_name”和“job_desc”填写训练作业的名称和描述。 “worker_server_num”和“code”填写2获取的“max_num”和“spec_code”的值。 “engine_id”填写3获取的引擎ID。 “train_url”填写训练作业的输出目录。 “app_url”和“boot_file_url”填写训练作业的代码目录和代码启动文件。 “data_url”填写训练作业使用的数据集目录。 返回状态码“200 OK”,表示训练作业创建成功,响应Body如下所示: { "version_name": "V0001", "job_name": "jobtest_TF", "create_time": 1609121837000, "job_id": 567524, "resource_id": "jobaedef089", "version_id": 1108482, "is_success": true, "status": 1} 记录“job_id”(训练作业的任务ID)和“version_id”(训练作业的版本ID)字段的值便于后续步骤使用。 “status”为“1”表示训练作业在初始化状态中。 调用查询训练作业版本详情接口根据训练作业的ID查询训练作业的创建详情。 请求消息体: URI格式:GET https://{ma_endpoint}/v1/{project_id}/training-jobs/{job_id}/versions/{version_id} 请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... 其中,加粗的斜体字段需要根据实际值填写: “job_id”为4记录的训练作业的任务ID。 “version_id”为4记录的训练作业的版本ID。 返回状态码“200 OK”,响应Body如下所示: { "dataset_name": null, "duration": 1326, "spec_code": "modelarts.vm.cpu.8u", "parameter": [], "start_time": 1609121913000, "model_outputs": [], "engine_name": "TensorFlow", "error_result": null, "gpu_type": "", "user_frame_image": null, "gpu": null, "dataset_id": null, "nas_mount_path": null, "task_summary": {}, "max_num": 1, "model_metric_list": "{}", "is_zombie": null, "flavor_code": "modelarts.vm.cpu.8u", "gpu_num": 0, "train_url": "/test-modelarts/mnist-model/output/", "engine_type": 1, "job_name": "jobtest_TF", "nas_type": "efs", "outputs": null, "job_id": 567524, "data_url": "/test-modelarts/dataset-mnist/", "log_url": null, "boot_file_url": "/test-modelarts/mnist-tensorflow-code/train_mnist_tf.py", "volumes": null, "dataset_version_id": null, "algorithm_id": null, "worker_server_num": 1, "pool_type": "SYSTEM_DEFINED", "autosearch_config": null, "job_desc": "TF识别手写数字", "inputs": null, "model_id": null, "dataset_version_name": null, "pool_name": "hec-train-pub-cpu", "engine_version": "TF-1.8.0-python3.6", "system_metric_list": { "recvBytesRate": [ "0", "0" ], "cpuUsage": [ "0", "0" ], "sendBytesRate": [ "0", "0" ], "memUsage": [ "0", "0" ], "gpuUtil": [ "0", "0" ], "gpuMemUsage": [ "0", "0" ], "interval": 1, "diskWriteRate": [ "0", "0" ], "diskReadRate": [ "0", "0" ] }, "retrain_model_id": null, "version_name": "V0001", "pod_version": "1.8.0-cp36", "engine_id": 4, "status": 10, "cpu": "32", "user_image_url": null, "spec_id": 27, "is_success": true, "storage": "", "nas_share_addr": null, "version_id": 1108482, "no_resource": false, "user_command": null, "resource_id": "jobaedef089", "core": "8", "npu_info": null, "app_url": "/test-modelarts/mnist-tensorflow-code/", "data_source": [ { "type": "obs", "data_url": "/test-modelarts/dataset-mnist/" } ], "pre_version_id": null, "create_time": 1609121837000, "job_type": 1, "pool_id": "pool7d1e384a"} 根据响应可以了解训练作业的版本详情,其中“status”为“10”表示训练作业已经运行成功。 调用获取训练作业日志的文件名接口获取训练作业日志的文件名。 请求消息体: URI格式:GET https://{ma_endpoint}/v1/{project_id}/training-jobs/{job_id}/versions/{version_id}/log/file-names 请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... 其中,加粗的斜体字段需要根据实际值填写。 返回状态码“200 OK”,响应Body如下所示: { "is_success": true, "log_file_list": [ "job-jobtest-tf.0" ]} 表示只存在一个名称为“job-jobtest-tf.0”的日志文件。 调用查询训练作业日志向下查询8行训练作业日志文件的详细信息。 请求消息体: URI格式:GET https://{ma_endpoint}/v1/{project_id}/training-jobs/{job_id}/versions/{version_id}/aom-log?log_file=job-jobtest-tf.0&lines=8&order=desc 请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... 其中,加粗的斜体字段需要根据实际值填写: “log_file”填写6获取的日志文件名。 “lines”填写需要获取的日志长度。 “order”填写日志查询方向。 返回状态码“200 OK”,响应Body如下所示: { "start_line": "1609121886518240330", "lines": 8, "is_success": true, "end_line": "1609121900042593083", "content": "Done exporting!\n\n[Modelarts Service Log]Training completed.\n\n[ModelArts Service Log]modelarts-pipe: will create log file /tmp/log/jobtest_TF.log\n\n[ModelArts Service Log]modelarts-pipe: will create log file /tmp/log/jobtest_TF.log\n\n[ModelArts Service Log]modelarts-pipe: will write log file /tmp/log/jobtest_TF.log\n\n[ModelArts Service Log]modelarts-pipe: param for max log length: 1073741824\n\n[ModelArts Service Log]modelarts-pipe: param for whether exit on overflow: 0\n\n[ModelArts Service Log]modelarts-pipe: total length: 23303\n"} 当训练作业使用完成或不再需要时,调用删除训练作业接口删除训练作业。 请求消息体: URI格式:GET https://{ma_endpoint}/v1/{project_id}/training-jobs/{job_id} 请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX... 其中,加粗的斜体字段需要根据实际值填写。 返回状态码“200 OK”表示作业删除成功,响应示例如下: { "is_success": true}
  • 前提条件 已获取IAM的EndPoint和ModelArts的EndPoint。 确认服务的部署区域,获取项目名称和ID、获取帐号名和ID和获取用户名和ID。 已准备好TensorFlow框架的训练代码,例如将启动文件“train_mnist_tf.py”存放在OBS的“/test-modelarts/mnist-tensorflow-code/”目录下。 已经准备好训练作业的数据集,例如将训练数据集存放在OBS的“/test-modelarts/dataset-mnist/”目录下。 已经创建好训练作业的输出位置,例如“/test-modelarts/mnist-model/output/”。
  • 注意事项 您最多可创建1000条阈值规则,如果阈值规则数量已达上限1000条时,请删除不需要的阈值规则后重新创建。 设置通知策略 阈值规则的状态(正常、超限阈值、数据不足)发生变化时,如需使用邮件或短信等方式发送通知,请参考下面操作在 SMN 界面设置通知策略。如不需接收邮件或短信通知,请跳过下面操作。具体操作如下: 创建一个主题,操作详见创建主题。 设置主题策略,操作详见设置主题策略。 设置主题策略时,“可发布消息的服务”必须选择“ APM ”,否则会导致通知发送失败。 为主题添加相关的订阅者,即通知的接收人(例如:邮件或短信),操作详见订阅主题。
  • 什么是映射 AOM 中的日志实际上是以一个日志流的形式在LTS中存在(如图1中的AOM日志流所示),AOM可以查询已配置采集路径的原始日志,但当前AOM的日志流无法在LTS控制台查看。您可以通过在AOM控制台添加接入规则来创建映射,映射创建后,即可通过LTS查看和分析AOM日志。 图1 未创建映射 创建日志流A并创建接入规则后,即已创建AOM至LTS的映射,最新的AOM日志将上报至日志流A,AOM可以查看映射前后所有的日志数据,日志流A不会复制或移动原AOM日志流中的历史数据,如图2所示。 图2 已创建映射
  • 添加自定义标签字段 添加自定义标签字功能目前仅在华东-上海一开放。 通过添加自定义标签,用户可以在日志页面上查看到自定义标签,如果将aom日志接入lts后,可以通过该自定义标签关键字进行日志搜索。 编辑yaml:通过在工作负载的yaml中spec:template:metadata:annotations:下增加以下字段来实现 kubernetes.AOM.log.relabel: '{"key1":"value1", "key2":"value2"} 自定义标签限制如下: 最多可设置16组“key:value”字段。 key或value的参数值最多不超过64个字符。 自定义标签不区分大小写,且不能与默认的标签重复。例如,默认标签为“po”,则自定义标签不能为“PO”、“Po”或“pO”。 默认标签如下: "podName", "appName", "containerName", "clusterId","clusterName", "serverlessPkg", "serverlessFunc", "projectId", "serviceID","nameSpace", "pid", "hostId", "hostName", "hostIP", "hostIPv6" 父主题: 容器日志采集配置
  • ICAgent版本说明 表1 ICAgent版本说明 版本号 说明 5.12.135 解决CPU使用率为0的问题 解决CCE1.23版本集群containerd节点容器网络指标缺失问题 支持采集EulerOS 2.5系统的磁盘分区指标 5.12.133 容器的标准输出日志支持多行采集。 5.12.130 支持将CCE日志直接接入LTS。 5.12.120 增加进程的最大句柄数指标。 支持LTS的podlb域名的切换能力。 5.12.111 新增线程指标、修复“获取lvs磁盘分区指标失败”问题。 5.12.100 上报内存指标增加内存workingset使用量、内存workingset使用率 容器采集支持通过标签区分stderr.log和stdout.log 容器上报增加Pod_ip的tag **配置匹配当前目录文件 5.12.98 增加LTS日志黑名单功能,更改容器指标来源为working_set 5.12.96 新增云资源发现类型 5.12.90 更新gpu指标来源 5.12.87 新增磁盘支持类型 5.12.75 适配安全容器场景 父主题: 资源接入AOM
共100000条