云服务器内容精选

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 data Array of AppInfo objects 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 表5 AppInfo 参数 参数类型 描述 type String 实例化的应用类型: STRUCTURED:支持jdbc、csv下载 TRUSTED_ENV:支持可信环境下载 LOCAL_DOWN:支持本地下载 LUCKY_EXCEL:支持excel本地预览 UNSTRUCTURED:支持 obs、sftp、ftp下载 PDF_JS:支持pdf本地预览 STRUCTURED_VIEW:支持csv jdbc本地预览 WPS:wps应用 IMAGE_VIEWER:本地图片查看 枚举值: STRUCTURED TRUSTED_ENV LOCAL_DOWN LUCKY_EXCEL UNSTRUCTURED PDF_JS STRUCTURED_VIEW WPS IMAGE_VIEWER name String 应用名称。 id String 应用ID。 temp_id String 应用模板ID。 temp_name String 应用模板名称。 natives Boolean 是否内置应用 true:内置 false:自创 operation Array of strings 应用操作。 枚举值: VIEW PRO CES S DOWNLOAD description String 应用描述。 icon String 应用图标。 connection DataSourceConnect object 应用连接信息。 create_user_id String 创建人ID。 create_user_name String 创建人名称。 create_date String 创建时间。 表6 DataSourceConnect 参数 参数类型 描述 datasource_type String 数据源类型。 枚举值: MRS _HIVE ORACLE MYSQL DWS GAUSS_DB FTP SFTP OBS WPS API connection DataSourceConnection object 数据源连接信息。 表7 DataSourceConnection 参数 参数类型 描述 obs_connection ObsConnection object OBS数据源连接信息。 表8 ObsConnection 参数 参数类型 描述 endpoint String OBS访问地址。 参数校验规则:最小长度1,最大长度1000,匹配 域名 正则表达式。 bucket_name String OBS名称。 参数校验规则:最小长度1,最大长度100,匹配字母、数字、下划线、.及-。 access_key String OBS永久访问密钥。 参数校验规则:最大长度1024。 secret_key String OBS永久密钥。 参数校验规则:最大长度1024。 path String OBS访问路径。 参数校验规则:最小长度1,最大长度100,只能包含英文字母、数字、下划线、中文、/、\及-。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • 响应示例 状态码: 200 OK 查看实例化应用列表。 { "data" : [ { "type" : "UNSTRUCTURED", "name" : "OBS4", "id" : "70d5c8d0-fe76-4cf0-9d30-***********", "temp_id" : "335ac118-758e-4324-9d41-***********", "temp_name" : "文档下载", "natives" : false, "operation" : [ "DOWNLOAD" ], "description" : "abc", "icon" : "icon: data:image/png;base64,iVBORw0KGgoAAAAN*** // ***代表省略的图标编码", "connection" : { "datasource_type" : "OBS", "connection" : null }, "create_user_id" : "test-***********", "create_user_name" : "test-***********", "create_date" : "2023-11-21T16:50:53Z" } ], "total" : 1, "error_code" : null, "error_msg" : null }
  • URI GET /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/applications 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参考获取项目ID。 instance_id 是 String 实例ID,开通的交换数据平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定交换数据平台下连接器的ID。 获取方法请参考获取连接器ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,表示从此偏移量开始查询,offset大于等于0。 最小值:0 最大值:999999 缺省值:0 limit 否 Integer 每页显示条目数量,最大数量999,超过999后只返回999(防止单页返回过大)。 最小值:1 最大值:999 缺省值:10 app_name 否 String 实例化APP名称。 ids 否 Array 实例化APP ID。 operations 否 Array 执行动作过滤。 枚举值: VIEW PROCESS DOWNLOAD status 否 Array 状态: NORMAL:正常使用状态 DISABLE:停用状态,不再分配给新的eds实例 枚举值: NORMAL DISABLE
  • 开发微服务应用 如您已经完成了微服务应用的开发,请跳过本章节。 开源社区提供了丰富的开发资料和帮助渠道帮助您使用微服务开发框架。如您需深入了解具体微服务框架下的微服务应用开发,请参考本章节给出的参考资料链接。 体验微服务引擎最快捷的方式是使用“微服务引擎推荐示例”里面的例子。下载示例,修改配置文件中的微服务引擎地址,AK/SK信息,在本地运行例子,这些例子可以注册到微服务引擎。 Spring Cloud 源码仓库:https://github.com/spring-cloud 问题咨询:参考源码仓库的各个代码仓库下的issues。 开发指南:https://spring.io/projects/spring-cloud Spring Cloud Huawei项目:https://github.com/huaweicloud/spring-cloud-huawei 微服务引擎推荐示例:https://github.com/huaweicloud/spring-cloud-huawei-samples/tree/master/basic Java Chassis 源码仓库:https://github.com/apache/servicecomb-java-chassis 问题咨询:https://github.com/apache/servicecomb-java-chassis/issues 开发指南:https://servicecomb.apache.org/references/java-chassis/zh_CN/ 微服务引擎推荐示例:https://github.com/apache/servicecomb-samples/tree/master/basic 父主题: 微服务开发指南
  • 前提条件 已基于Java Chassis开发好了微服务应用。 Java Chass框架下的微服务应用开发,请参考https://servicecomb.apache.org/references/java-chassis/zh_CN/。 版本要求:请参见微服务开发框架版本要求。 本文假设您的项目使用了maven管理打包,您熟悉maven的依赖管理机制,能够正确的修改“pom.xml”文件中的dependency management和dependency。 Java Chassis支持和不同的技术进行组合使用,配置文件的名称和实际使用的技术有关。如果您采用Spring方式使用Java Chassis,配置文件的名称一般为“microservice.yaml”,如果您采用Spring Boot方式使用Java Chassis, 配置文件名称一般为“application.yaml”。本文统一使用“microservice.yaml”表示配置文件,请结合实际项目进行区分。
  • 操作步骤 登录ServiceStage控制台。 创建密钥,请参考管理密钥。 “创建方式”选择“可视化”。 “密钥名称”填写为“mesher-secret”。 “所属集群”选择部署应用的集群。 “命名空间”选择部署应用的命名空间。 “密钥类型”选择“Opaque”。 “密钥数据”请按以下表格填写。 表1 密钥数据 键 值 cse_credentials_accessKey base64编码后的AK值。 cse_credentials_secretKey base64编码后的SK值。
  • 方法一 为微服务的“bootstrap.yml”文件增加以下配置,若已配置请忽略。 AK/SK与项目名称获取方法,请参考获取AK/SK与项目名称。 spring: cloud: servicecomb: credentials: enabled: true accessKey: AK #请输入已获取到的AK值 secretKey: SK #请输入已获取到的SK值 project: 项目名称 #请输入已获取到的项目名称 akskCustomCipher: default
  • 方法二 为微服务添加如表1所示环境变量。 添加环境变量,请参考管理应用环境变量。 AK/SK获取方法,请参考获取AK/SK与项目名称。 表1 环境变量 环境变量 说明 spring_cloud_servicecomb_credentials_accessKey AK,结合用户实际值配置。 spring_cloud_servicecomb_credentials_secretKey SK,结合用户实际值配置。
  • 微服务开发框架版本要求 微服务开发框架推荐版本如下表所示。 如果已经使用低版本的微服务开发框架构建应用,建议升级到推荐版本,以获取最稳定和丰富的功能体验。 如果已使用Spring Cloud微服务开发框架开发了应用,推荐使用Spring Cloud Huawei接入应用。 Spring Cloud Huawei各分支版本与Spring Boot、Spring Cloud、Java Chassis及JDK编译版本的配套关系请参考版本配套说明。 如果基于开源开放和业界生态组件新开发微服务应用,可选择Spring Cloud框架。 如果希望使用微服务引擎提供的开箱即用的治理能力和高性能的RPC框架,可选择Java Chassis框架。 框架 推荐版本 说明 Spring Cloud Huawei 1.10.9-2021.0.x及以上 采用Spring Cloud Huawei项目提供接入支持: 适配的Spring Cloud版本为2021.0.5 适配的Spring Boot版本为2.6.13 Spring Cloud微服务开发框架的版本说明请参见:https://github.com/huaweicloud/spring-cloud-huawei/releases。 Java Chassis 2.7.10及以上 可以直接使用开源项目提供的软件包接入,不需要引用其他第三方软件包。 Java Chassis微服务开发框架的版本说明请参见:https://github.com/apache/servicecomb-java-chassis/releases。 系统升级、改造过程中,三方软件冲突是最常见的问题。随着软件迭代速度越来越快,传统的软件兼容性管理策略已经不适应软件的发展,您可以参考三方软件版本管理策略来解决版本冲突。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json;charset=utf8”,有其他取值时会在具体接口中专门说明。 Authorization:签名认证信息,可选,当使用AK/SK方式认证时,使用SDK对请求进行签名的过程中会自动填充该字段。AK/SK认证的详细说明请参见AK/SK认证。 X-Sdk-Date:请求发送的时间,可选,当使用AK/SK方式认证时,使用SDK对请求进行签名的过程中会自动填充该字段。AK/SK认证的详细说明请参见AK/SK认证。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 X-Project-ID:子项目ID,可选,在多项目场景中使用。如果云服务资源创建在子项目中,AK/SK认证方式下,操作该资源的接口调用需要在请求消息头中携带X-Project-ID。 X-Domain-ID:账号ID,可选。AK/SK认证方式下,全局服务的接口调用时,需在请求消息头中携带X-Domain-ID。 对于管理员创建 IAM 用户接口,使用AK/SK方式认证时,添加消息头后的请求如下所示。 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users Content-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=****************
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则Content-type中需声明字符编码方式为UTF-8。例如,Content-Type: application/json; charset=utf-8。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于管理员创建IAM用户接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的字段需要根据实际值填写。 accountid为IAM用户所属的账号ID。 username为要创建的IAM用户名。 email为IAM用户的邮箱。 ********为IAM用户的登录密码。 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users Content-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=**************** { "user": { "domain_id": "accountid", "name": "username", "password": "**********", "email": "email", "description": "IAM User Description" } } 到这里为止这个请求需要的内容就齐全了,您可以使用curl、postman或直接编写代码等方式发送请求调用API。
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点处获取。例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“管理员创建IAM用户”API的resource-path为“/v3.0/OS-USER/users”。 query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”。例如“limit=10”,表示查询不超过10条数据。 例如您需要获取创建IAM用户,由于IAM为全局服务。则使用任一区域的Endpoint(比如“华北-北京四”区域的Endpoint:iam.cn-north-4.myhuaweicloud.com),并在管理员创建IAM用户的URI部分找到resource-path(/v3.0/OS-USER/users),拼接起来如下所示。 https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),表示服务正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在管理员创建IAM用户的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users
  • 微服务实例 表17 微服务实例接口 API 说明 注册微服务实例 此API用于在创建微服务后注册该微服务的实例。 注册微服务实例时,需提供该微服务实例相关的信息。 instanceId可定制,如果定制了,再次注册就直接全内容覆盖。如果没定制,逻辑如下:系统自动生成id,如果endpoints内容重复,则使用原来的id。 根据service_id查询微服务实例 此API用于在实例注册后根据service_id发现该微服务的所有实例。 注销微服务实例 此API用于在实例注册后根据instance_id进行实例注销。 查询微服务实例详细信息 此API用于在实例注册后根据service_id和instance_id获取该实例的详细信息。 修改微服务实例扩展信息 此API用于在实例注册后根据instance_id添加/更新一个微服务实例的扩展信息。 修改微服务实例状态 此API用于在实例注册后根据instance_id更新一个微服务实例的状态。 发送心跳信息 此API用于在服务提供端向服务中心发送心跳信息,以保证服务中心知道服务实例是否健康。 按条件查询微服务实例 此API用于在实例注册后根据微服务版本规则或字段条件发现该微服务的实例。 批量查询微服务实例 此API用于在实例注册后根据微服务版本规则或字段条件批量发现多个微服务的实例。
  • 微服务 表15 微服务接口 API 说明 查询指定微服务信息 此API用于根据serviceId查询微服务定义信息。 删除微服务定义信息 此API用于删除一个微服务定义及其相关信息,同时注销其所有实例信息。 查询所有微服务信息 此API用于根据条件组合,查询满足所有条件的微服务定义信息。 创建微服务静态信息 此API用于在注册微服务实例前创建服务静态信息,之后注册的微服务实例根据serviceId这个字段与静态信息关联,一个服务对应对多个实例。serviceId可以定制。如果定制了,系统将使用定制的serviceId;如果没定制,系统会随机生成serviceId。 批量删除微服务静态信息 此API用于批量删除指定的微服务定义及其相关信息,同时注销其所有实例信息。 修改微服扩展属性信息 此API用于创建微服务静态信息后对服务部分字段进行更新。每次更新都需要传入完整的服务静态信息json,也就是说,即便不更新部分的字段也要作为json的属性传过去。 查询微服务唯一标识信息 此API用于通过指定条件,查询微服务serviceId或schema的唯一标识信息。