云服务器内容精选

  • 查看应用列表 在应用管理页面的应用列表,可以查看项目下的所有应用。通过应用列表可以查看应用名称、应用类型、所属业务领域、包含微服务数量以及依赖应用和被依赖应用数量等信息。 单击包含微服务列的数量,可以查看该应用所包含的微服务列表。 单击依赖应用列的数量,可以查看该应用所依赖的服务列表。 单击被依赖应用列的数量,可以查看依赖该应用的应用列表。 单击操作列的“技术架构图”,可以查看该应用包含的微服务、资源所属层级以及微服务与资源之间的关联关系。单击微服务/资源节点,可以查看节点详细信息。 单击操作列的“应用依赖图”,可以查看该应用与依赖服务、被依赖服务之间的关联关系。单击服务节点,可以查看服务的详细信息和依赖服务、被依赖服务列表。
  • 使用说明 将已生成的应用模板,上架到资产中心。模板上架到资产中心后,当前组织中的成员或者其他组织中的成员均可基于该模板直接创建应用。如何在资产中心基于模板安装应用,请参见在资产中心使用模板安装应用。 提交模板上架申请后,请联系运营管理员审批。审批通过后,在Astro低代码平台的“资产中心”中,才可以查看到模板。 当前组织中的其他成员在资产中心基于模板创建应用时,应用中包含的人员信息、自定义的非官方连接器等会保留。其他组织中的成员在资产中心基于模板安装应用时,应用中包含的人员信息、自定义的非官方连接器(除无鉴权的自定义连接器)等不会保留,需重新配置。
  • 配置集成应用授权 登录ROMA Connect控制台,在“实例”页面单击具体实例上的“查看控制台”,进入实例控制台。 在左侧的导航栏选择“集成应用”,在页面中找到要授权的集成应用,单击该集成应用后的“应用授权管理”进行授权配置。 管理员权限(Tenant Administrator权限)的用户可以对所有用户创建的集成应用进行授权配置,非管理员权限的用户只能对自己创建的集成应用进行授权配置。 在“应用授权管理”弹窗中为 IAM 用户授权。 在“用户列表”处勾选要授权的IAM用户。 在“已选择”处为已选择的IAM用户配置集成应用的管理权限。 可为每个用户单独配置权限,也可以单击“权限”右侧的“”为所有已选择用户批量配置权限。 图1 配置应用授权参数 表1 应用权限说明 权限 FDI APIC MQS LINK read 可查看授权应用的数据源。 可查看、调试和导出授权应用的API。 可查看和导出授权应用的Topic。 可查看授权应用的设备、产品和规则,可导出授权应用的设备、产品和规则,并调试设备。 modify 可在授权应用下创建和编辑数据源。 可在授权应用下创建、编辑、发布、下线和导入API。 可在授权应用下创建和编辑Topic。 可在授权应用下创建和编辑设备、产品和规则,可导入设备、产品和规则,可重置设备和产品的密码。 delete 可删除授权应用的数据源。 可删除授权应用的API。 可删除授权应用的Topic。 可删除授权应用的设备、产品和规则,可删除产品属性、Topic类、规则数据源端、规则数据目的端。 access 不涉及。 可对授权应用的API进行授权、访问控制、流量控制、签名密钥绑定API配置。 可对授权应用的Topic进行应用权限配置。 可对设备进行命令下发和强制下线,并且可以对协议为OPC UA和Modbus的设备进行插件配置。 admin 应用管理员权限。 单击“确认”,完成集成应用的授权配置。 您可以在集成应用列表中,单击集成应用左侧的“”,查看该集成应用已授予权限的IAM用户以及授予的权限范围。 使用3中被授权的IAM用户登录ROMA Connect控制台并进入对应的ROMA Connect实例,查看该用户是否具备该集成应用资源的相关管理权限。
  • 概述 ROMA Connect对用户资源实现了严格的权限管理,在同一实例内,非管理员权限(Tenant Administrator权限)的IAM用户只能查看和管理自己创建的集成应用和资源,默认不能查看其他IAM用户创建的集成应用和资源。ROMA Connect支持通过集成应用授权的方式,把集成应用下的资源共享给同一账号下的其他IAM用户来查看和使用。 集成应用的授权管理功能,仅能解决同一账号下其他用户间共享的权限,对应用对象进行操作的权限仍然由IAM统一控制。 修改或删除集成应用授权,会影响其他IAM用户查看和使用当前集成应用下的资源,请谨慎操作。
  • 响应参数 状态码: 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=****************
  • 请求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在同一个区域也相同,所以简洁起见将这两部分省略。