云服务器内容精选

  • 手动导入 通过主页面的“更多功能”选项或单击左上角搜索框旁边的,可以展示当前支持的导入选项,可根据需要选择。 导入文件 选择响应格式的文件并上传,然后选择文件中系统识别出来的接口和数据模型导入。 一个文件导入后,将会视为一个根目录,一个根目录中不允许存在URL相同的接口。 Postman支持Collections和Environment数据集ZIP包的全量导入,也支持单个Collection文件导入。 Postman支持接口和接口用例的前置脚本及后置脚本导入。 导入URL 选择“导入Swagger URL”,输入URL,即可完成文档导入。 通过Swagger URL导入时,需要填写json数据文件的URL,而非Swagger UI的URL。
  • Oozie Java接口介绍 Java API主要由org.apache.oozie.client.OozieClient提供。 表1 接口介绍 方法 说明 public String run(Properties conf) 运行job public void start(String jobId) 启动指定的job public String submit(Properties conf) 提交job public void kill(String jobId) 删除指定的job public void suspend(String jobId) 暂停指定的job public void resume(String jobId) 恢复指定的job public WorkflowJob getJobInfo(String jobId) 获取Job信息 父主题: 常用Oozie API接口介绍
  • Oozie Java接口介绍 Java API主要由org.apache.oozie.client.OozieClient提供。 表1 接口介绍 方法 说明 public String run(Properties conf) 运行Job。 public void start(String jobId) 启动指定的Job。 public String submit(Properties conf) 提交Job。 public void kill(String jobId) 删除指定的Job。 public void suspend(String jobId) 暂停指定的Job。 public void resume(String jobId) 恢复指定的Job。 public WorkflowJob getJobInfo(String jobId) 获取Job信息。 父主题: 常用Oozie API接口介绍
  • 创建执行动作 连接器需要添加执行动作(连接器具有的功能)并发布后,才能被使用。 在连接器详情界面,在“执行动作”页签,单击“创建执行动作”。 配置执行动作基本信息,如图3所示,请参考表2。 图3 配置执行动作基本信息 表2 执行动作基本信息说明 参数 说明 示例 名称 必填项。 执行动作的名称,根据规划自定义。建议您按照一定的命名规则填写执行动作的名称,方便您快速识别和查找。 IP地址查询 类型 必选项。 API:通过调用API的方式创建执行动作。 函数:通过自定义函数的方式创建执行动作。函数类型支持CDM集成。 流:通过编排流的方式创建执行动作。 API 可见性 必选项。 可见:在流编排中该执行动作可见。缺省值为“可见”。 隐藏:在流编排中该执行动作不可见。 可见 描述 选填项。 连接器的描述信息,该描述将显示在连接器的详情中,帮助用户了解连接器。 IP地址查询 单击“下一步”。 配置执行动作输入信息,如图4所示,请参考表3。 根据被调用的接口请求信息配置参数。 图4 配置执行动作输入信息 表3 执行动作输入信息说明 参数 说明 示例 接口路径 请求方式:被调用API的请求方式。 请求路径:被调用API的请求路径。 GET /lundear/qryip 输入参数 请求头(Header) HTTP请求消息的组成部分之一,请求头负责通知服务器有关于客户端请求的信息。 - 请求体(Body) 当请求方式为“GET”或“DELETE”时,此参数不可配置。 HTTP请求消息的组成部分之一,请求体呈现发送给服务器的数据。 - 查询参数(Query) 查询参数会追加到URL。 参数名称:ip 显示字段:ip地址 必填:勾选 参数类型:string 路径参数(Path) 路径与路径模板一起使用,其中参数值实际上是操作URL的一部分。 - 单击“下一步”。 配置输出信息。 根据被调用的接口响应信息配置参数。 如图5所示,请参考表4。 单击“确定”,在批量导入的参数中填写显示字段别名方便阅读。如图6所示。 图5 配置执行动作输出信息1 图6 配置执行动作输出信息2 表4 执行动作输出信息说明 参数 说明 示例 添加响应 被调用API的响应码信息。缺省值为“200(请求成功)”。 200(请求成功) 输出参数 响应体(Body) HTTP响应消息的组成部分之一,响应体呈现发送给服务器的数据。 说明: 如果响应体使用XML格式,XML header参数必须配置。 { "status": 0, "message": "Success", "request_id": "2dd71feb-2f7a-4426-b905-4c3ff4dcceb4", "result": { "ip": "112.36.236.188", "location": { "lat": 36.68013, "lng": 117.06533 }, "ad_info": { "nation": "中国", "province": "山东省", "city": "济南市", "district": "历城区", "adcode": 370112 } } } 响应头(Header) HTTP响应消息的组成部分之一,响应头负责通知服务器有关于客户端请求的信息。 - 单击“保存”。 创建执行动作后,系统自动返回至连接器详情页面,执行动作显示在“执行动作”页签列表中。连接器“状态”变为“待发布”。
  • 自定义OAuth2授权码模式接入鉴权 配置OAuth管理中介绍了第三方系统访问AstroZero时,如何配置接入鉴权,通过鉴权认证的第三方系统才可访问AstroZero。在AstroZero中开发的应用也可以通过自定义OAuth2授权码模式接入鉴权,当应用配置鉴权后,只有通过鉴权的第三方系统才可访问应用。 参考配置OAuth管理中操作,获取鉴权ID“client_id”和鉴权密钥“client_secret”。 在新版应用设计器的集成中,开发者通过自定义接口,给第三方接入调用,用于第三方系统获取授权码code。 应用调用脚本API,判断第三方客户端的鉴权ID“client_id”和重定向地址“redirect_url”是否和注册接入鉴权时匹配。 如果匹配,则由平台应用自定义接口,实现登入跳转和授权跳转。在授权完成后,再调用脚本API获取授权码code,并将需要展示给第三方的授权用户信息,通过该API传给AstroZero,AstroZero会返回一个code,然后应用重定向到“redirect_url”,并携带code。 判断第三方客户端的鉴权ID“client_id”和重定向地址“redirect_url”是否和注册接入鉴权时,匹配的API样例如下: // Here's your code. import * as oauth from 'oauth' let handle = oauth.getAuthorizeHandle() let clientDatas: oauth.clientDataFromApp = { redirect_uri: "http://10.26.30.68:14000/appauth/code", client_id: "bff4398905ee4a918722debec98b594c", } let pass = handle.checkURL(clientDatas) console.log(pass) //true if (pass){ //判断是否登入,做登入跳转 //判断是否授权,做授权跳转 } 获取授权码code的脚本API样例如下: // Here's your code. import * as oauth from 'oauth' let handle = oauth.getAuthorizeHandle() //前面步骤已经走完 let clientDatas: oauth.clientDataFromApp = { redirect_uri: "http://10.26.30.68:14000/appauth/code", client_id: "bff4398905ee4a918722debec98b594c", } let userInfo = { "name": "jack", "phone": "1256287222", "email": "dsfsdf.com" } let code = handle.getAuthCode(clientDatas, userInfo) console.log(code) //WEUcqXbeQDKUHxcn8til3Q 第三方系统接收到该请求,并解析出code后,在自己的后端访问AstroZero接口获取access_token,其步骤和配置OAuth管理中一致。 第三方系统在获取到access_token后,使用该凭证访问平台“https://AstroZero域名/u-route/baas/oauth/v1.0/third/userinfo”接口,来获取授权用户的信息。 响应示例如下: { "resCode": "0", "resMsg": "成功", "result": { "email": "dsfsdf.com", "name": "jack", "phone": "1256287222" } }
  • 手动导入 通过主页面的“更多功能”选项或单击左上角搜索框旁边的,可以展示当前支持的导入选项,可根据需要选择。 导入文件 选择响应格式的文件并上传,然后选择文件中系统识别出来的接口和数据模型导入。 一个文件导入后,将会视为一个根目录,一个根目录中不允许存在URL相同的接口。 文件重复导入,则新接口默认覆盖原接口。 Postman支持Collections和Environment数据集ZIP包的全量导入,也支持单个Collection文件导入。 导入URL 选择“导入Swagger URL”,输入URL,即可完成文档导入。 通过Swagger URL导入时,需要填写json数据文件的URL,而非Swagger UI的URL。
  • 如何定义API接口 参考如何登录新版应用设计器中操作,登录新版应用设计器。 在左侧导航栏中,选择“集成 ”。 也可以在“开始”页面,直接单击“新建开放接口”。 单击开放接口后的“+”,设置开放接口参数,单击“保存”。 图1 新建开放接口 标签:新建API接口的标签。 操作名称:新建API接口的操作名称。 版本:API接口的版本,格式为“x.y.z”。 URL:API接口路径, 固定以 /service/{命名空间}__{应用名}/{版本} 开头, 后面接API的具体路径。 内容类型:请求中的body类型。 其中“multipart/form-data”和“binary-data”用于文件上传接口,选择该内容类型,只能调用post类型的脚本。 分类:API接口所属的分类。 描述:自定义API接口的描述信息。 允许匿名访问:是否可以匿名访问运行环境中该API接口。 勾选表示允许匿名访问,通过运行环境子域名访问此接口时,如果无有效的Token认证信息,则以匿名用户身份继续访问此接口,且不需要做CSRF校验。匿名用户的权限为“Anonymous User Profile”,请确保该权限具备访问该接口的业务权限凭证或者相关资源权限。例如,当该接口有配置业务权限凭证时,给“Anonymous User Profile”权限添加相应业务权限凭证,即可通过运行环境子域名匿名访问该接口。 需要支持匿名访问自定义接口的账号,必须要设置运行环境子域名。 带有合法认证信息来访问允许匿名访问的自定义接口时,优先以合法认证的身份权限来访问。 匿名用户身份访问自定义接口,不需要做CSRF校验。 不论以什么方式来访问, 认证身份后做的权限校验保持一致。如果配置了业务权限凭证,还是会查看用户权限是否配置相应业务权限凭证。 例如:登录业务应用接口“login”的URL为“/service/命名空间__MyApp/1.0.0/login”,运行环境子域名为“test.example.com”,期望可匿名访问该自定义接口,则配置接口时请勾选“允许匿名访问”,且“Anonymous User Profile”权限配置了该接口的业务权限凭证,则匿名用户通过“https://test.example.com/service/命名空间__MyApp/1.0.0/login”即可访问该接口。 类型:选择资源类型,只有服务编排类型的接口能够在服务编排中被调用,其他类型接口只能通过API的形式进行调用。 服务编排:定义URL调用的接口类型是服务编排。 脚本:定义URL调用的接口类型是脚本。 对象:定义URL是操作对象数据,包括对象数据的增删改查。 自定义响应:是否需要格式化调用,该URL后返回的响应消息。如果勾选,表示对响应消息进行格式化,删除resCode、resMsg、result外层信息,只透传返回的消息。 不勾选“自定义响应”,返回如下响应消息: { "resCode": "0", "resMsg": "成功", "result": [ { "equipments": [ { "createdBy": "aaa", "createdBy.__objectType": "User" }, { "createdBy": "aaa", "createdBy.__objectType": "User" } ], "total": "2" } ] } 勾选“自定义响应”后,只返回如下响应消息: { "equipments": [ { "createdBy": "aaa", "createdBy.__objectType": "User" }, { "createdBy": "aaa", "createdBy.__objectType": "User" } ], "total": "2" } 资源:根据类型选择需要绑定的资源,如脚本,服务编排或操作的对象名称。 如果找不到需要绑定的服务编排或脚本,请检查服务编排或脚本是否启用。如果没有启用,请进入服务编排或脚本设计页面,单击页面左上角的图标,启用服务编排(图2)或脚本(图3)。 图2 启用服务编排 图3 启用脚本 对象操作:“类型”选择“对象”时,该参数才会显示。 Insert Record:新增对象数据。 Update or Insert Record:更新或者新增对象数据。 Update By ID:按记录ID更新对象数据。 Delete By ID:按记录ID删除对象数据。 Query By ID:按记录ID查询对象数据。 Update By Condition:按条件更新对象数据。 Delete By Condition:按条件删除对象数据。 Query By Condition:按条件查询对象数据。 方法:API接口的HTTP方法。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源。 PATCH:请求服务器更新资源的部分内容。当资源不存在时,PATCH可能会去创建一个新的资源。 返回“集成”页面,单击已创建接口后的,选择“查看”,进入接口预览页面。 单击接口后的,可查看定义的API信息。 单击“测试一下”,可模拟API接口调用。 图4 API接口请求参数信息 图5 API接口返回参数信息 API接口的请求参数和返回消息体,为绑定的资源(如脚本,服务编排等)所配置的入参和出参。
  • 响应示例 状态码: 200 OK { "result" : { "steps" : [ { "properties" : { "image" : "maven3.5.3-jdk8-open", "snapshotArtifact" : { "displayName" : "", "value" : "" }, "userPrivateRepositories" : [ ], "deal" : "notDeal", "dependencyCheckParam" : " ", "userPublicRepositories" : [ ], "settingMode" : "auto", "doCheck" : "disable", "junitCoverageSwitch" : false, "coverageReportPath" : "**/site/jacoco", "releaseArtifact" : { "displayName" : "", "value" : "" }, "cacheOption" : "cached", "command" : "# 功能: 打包\n# 参数说明:\n#\t\t-Dmaven.test.skip=true:跳过单元测试\n#\t\t-U:每次构建检查依赖更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能\n#\t\t-e -X :打印调试信息,定位疑难构建问题时建议使用此参数构建\n#\t\t-B:以batch模式运行,可避免日志打印时出现ArrayIndexOutOfBoundsException异常\n# 使用场景: 打包项目且不需要执行单元测试时使用\nmvn package -Dmaven.test.skip=true -U -e -X -B\n\n#功能:打包;执行单元测试,但忽略单元测试用例失败,每次构建检查依赖更新\n#使用场景: 需要执行单元测试,且使用构建提供的单元测试报告服务统计执行情况\n# 使用条件:在”单元测试“中选择处理单元测试结果,并正确填写测试结果文件路径\n#mvn package -Dmaven.test.failure.ignore=true -U -e -X -B\n\n#功能:打包并发布依赖包到私有依赖库\n#使用场景: 需要将当前项目构建结果发布到私有依赖仓库以供其它maven项目引用时使用\n#注意事项: 此处上传的目标仓库为CodeArts私有依赖仓库,注意与软件发布仓库区分\n#mvn deploy -Dmaven.test.skip=true -U -e -X -B", "file" : "**/TEST*.xml", "dependencyProjectDir" : "./", "ignoreTest" : false, "pomMode" : "no", "dependencySettings" : "~/.m2/settings.xml" }, "module_id" : "devcloud2018.codeci_action_20043.action", "name" : "Maven构建", "version" : null, "enable" : true }, { "properties" : { "image" : "shell4.2.46-git1.8.3-zip6.00", "buildVersion" : "", "file" : "**/target/*.?ar", "groupId" : "", "name" : "" }, "module_id" : "devcloud2018.codeci_action_20018.action", "name" : "上传软件包到软件发布库", "version" : null, "enable" : true } ], "arch" : "x86-64", "project_id" : "a287e712be6c404ca26e5f69040fa12b", "job_name" : "oychap213i2", "job_id" : "35b6c7da9e644dbbb7e333579f89dcda", "auto_update_sub_module" : "false", "flavor" : "2u8g", "parameters" : [ { "name" : "hudson.model.StringParameterDefinition", "params" : [ { "name" : "name", "value" : "codeBranch", "limits" : null }, { "name" : "type", "value" : "normalparam", "limits" : null }, { "name" : "defaultValue", "value" : "master", "limits" : null }, { "name" : "description", "value" : "代码分支,系统预定义参数", "limits" : null }, { "name" : "deletion", "value" : "false", "limits" : null }, { "name" : "defaults", "value" : "true", "limits" : null }, { "name" : "staticVar", "value" : "false", "limits" : null }, { "name" : "sensitiveVar", "value" : "false", "limits" : null } ] } ], "scms" : [ { "branch" : "master", "url" : "git@codehub.devcloud.cn-north-7.ulanqab.huawei.com:soso-test00001/an.git", "is_auto_build" : false, "scm_type" : "codehub", "end_point_id" : null, "web_url" : "https://devcloud.cn-north-7.ulanqab.huawei.com/codehub/2111746211/home", "source" : null, "build_type" : "branch", "depth" : "1", "repo_id" : "2111746211" } ], "host_type" : "devcloud" }, "error" : null, "status" : "success" }
  • 响应参数 状态码: 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 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "total" : 1, "jobs" : [ { "id" : "2a86c3c1ed18416399279fe6........", "job_name" : "demo", "job_creator" : "ae22fd035f354cfa8d82a3f1........", "user_name" : "test", "last_build_time" : 1608004535000, "health_score" : 75, "source_code" : "test", "last_build_status" : "blue", "is_finished" : true, "disabled" : true, "favorite" : true, "is_modify" : true, "is_delete" : true, "is_execute" : true, "is_copy" : true, "is_forbidden" : true, "is_view" : true } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 jobs Array of Job objects 任务列表 total Integer 任务总数 表5 Job 参数 参数类型 描述 id String 任务ID job_name String 任务名称 job_creator String 任务创建者 user_name String 用户名称 last_build_time Number 最新执行时间 health_score Integer 健康分值 source_code String 代码来源 last_build_status String 最新构建状态 is_finished Boolean 是否已结束 disabled Boolean 是否已禁用 favorite Boolean 是否已收藏 is_modify Boolean 是否有修改任务权限 is_delete Boolean 是否有删除任务权限 is_execute Boolean 是否有执行任务权限 is_copy Boolean 是否有复制任务权限 is_forbidden Boolean 是否有禁用任务权限 is_view Boolean 是否有查看任务权限 状态码: 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 错误描述
  • URI GET /v3/{project_id}/jobs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String CodeArts项目ID,32位数字、小写字母组合。 表2 Query参数 参数 是否必选 参数类型 描述 page_index 是 Integer 分页页码, 表示从此页开始查询, page_index大于等于0 page_size 是 Integer 每页显示的条目数量,page_size小于等于100
  • 响应示例 状态码: 200 OK { "success" : true, "result" : { "id" : "eb9d73c7-61b3-4823-b476-a7c00c493b8a", "build_project_id" : "31581e9f-5772-4053-a50c-d5690578c8fd", "build_record_id" : "9d6169b9-022d-458c-9dc8-48cc94cc4083", "parent_record_id" : null, "devcloud_project_id" : "b4d3971c3988463b865f6f920846149e", "codeci_job_id" : "68491d9bc97b4774adb93e29b46d2dc6", "user_id" : "ae22fd035f354cfa8d82a3f1c8940446", "build_no" : 532, "daily_build_num" : "20221011.29", "execution_id" : "j_YE1bu9Z7", "repo_name" : "maven", "repo_id" : "2111616838", "branch" : "buildflow_env", "tag" : null, "commit" : null, "commit_message" : null, "commit_create_time" : "2022-10-11T08:28:42.000+00:00", "trigger_type" : "MANUAL", "build_type" : "branch", "status" : "SUCCESS", "domain_id" : "60021bab32fd450aa2cb89226f425e06", "create_time" : "2022-10-11T08:28:42.000+00:00", "schedule_time" : "2022-10-11T08:28:45.000+00:00", "queued_time" : "2022-10-11T08:28:45.000+00:00", "start_time" : "2022-10-11T08:28:47.000+00:00", "runnable_time" : "2022-10-11T08:16:04.000+00:00", "finish_time" : "2022-10-11T08:30:27.000+00:00", "duration" : 100068, "record_status" : null, "use_private_slave" : 0, "region" : "cn-north-7", "err_msg" : null, "build_config_type" : "YAML" } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 success Boolean 状态 message String 消息 err_code String 错误码 result result object 结果 表4 result 参数 参数类型 描述 id String id build_project_id String 构建工程ID,唯一对应codeci_job_id build_record_id String 构建记录ID parent_record_id String 父构建记录ID devcloud_project_id String 项目ID codeci_job_id String codeci任务ID,唯一对应build_project_id user_id String 用户ID build_no Integer 构建编号 daily_build_num String 每日构建编号,每日从1开始 execution_id String 八爪鱼任务ID repo_name String 仓库名称 repo_id String 仓库id branch String 仓库分支 tag String 仓库tag commit String 仓库commit ID commit_message String 仓库commit提交信息 commit_create_time String commit创建时间 trigger_type String 触发类型 build_type String 构建类型 status String 构建状态 domain_id String 租户ID create_time String 任务创建时间 schedule_time String 构建下发耗时 queued_time String 构建排队耗时 start_time String 开始构建时间 runnable_time String 八爪鱼真正开始构建时间 finish_time String 构建结束时间 duration Float 构建时长 record_status String record状态 use_private_slave Integer 是否使用自定义执行机 region String 租户所在region err_msg String 错误信息 build_config_type String 构建配置类型,YAML或ACTION 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述