云服务器内容精选
-
步骤1:基本配置 基本信息中配置的内容会呈现在代码中,需用户根据实际情况进行勾选配置。 在服务列表中,单击新增一个服务中已创建服务后的“编辑”。 在基本配置中,按需进行设置。 图1 基本配置 基本配置:若本地已有配置好的服务元数据,可通过单击“导入元数据”,直接导入。 微服务名称:自动关联新增一个服务中创建的服务名称。 Group ID:服务所属项目中的组ID,会自动关联新建项目中Group的值。在Maven项目中用作工程组的标识,Group ID在一个组织或项目中通常是唯一的。 Package:设置生成代码的顶层包名,会自动关联新建项目中Package的值。 Artifact ID:在Maven项目中用作工程的标识,通常是工程的名称。 版本:在Maven项目中用作工程的版本号。 框架:选择微服务使用的开发框架,支持DEVSPORE(JDK 8 + SpringBoot 2)和DEVSPORE(JDK 17 + SpringBoot 3)。 DEVSPORE(JDK 8 + SpringBoot 2):生成JDK8+SpringBoot2的代码框架。 DEVSPORE(JDK 17 + SpringBoot 3):生成JDK17+SpringBoot3的代码框架。 在详细配置中,配置服务的详细信息。 图2 详细配置 服务类型:当前仅支持创建原子服务。原子服务是指对外提供业务对象管理API,有独立数据存储(一般为独立数据库)的服务。原子服务之间可以相互调用。 服务组:选择服务所属的分组。如何创建服务组,请参见新建服务组。 服务单元化策略:服务在子域内的单元化策略。服务单元化策略必须在一个子域内定义,不能跨子域。 SINGLE:即单库,无论子域是否进行单元化部署,该服务只在一个单元(一般以region为单元)内部署。 ROOTED:根服务,包含根业务对象的服务,每个子域最多有一个根服务。 SHARDING:分片服务,必须按照根服务的根业务对象的维度对数据进行分片,和根服务使用同样的数据单元化策略。只有子域中包含根服务的时候,才允许有分片服务;一个子域可以包含的分片服务数量为0..n。分片服务有两种方式和根服务建立关系:可以通过建立根维度映射表,其它sharding表外键引用它的方式。也可以直接为每个表加一个根维度表id字段。 API版本:服务的API版本,默认为新增一个服务时配置的版本,如果需要升级API的版本,请参见升级API版本。 是否启用扩展拦截:通过引入devspore-horizon插件,用户自定义继承抽象类Approve和添加配置,在请求进入和返回时增强处理。您可调用DevSpore预置的插件,也可以使用自己开发的插件,自定义插件可参考如何自定义devspore-horizon插件。 启用扩展拦截时,自动在pom文件中引入devspore-horizon插件,并在所有service实现类的方法上添加“@Extension”注解。同时在plugin目录下,生成“DefaultRequestPlugin.java”示例文件。 使用插件时,用户需要在配置文件中添加devspore.horizon.processors,即配置自己编写的扩展插件注入到spirng中的名称,多个插件之间使用英文逗号隔开,扩展插件需要继承com.huawei.devspore.horizon.approver.Approve抽象类,并重写其中的doApprove方法。 启用扩展拦截仅专业版及以上套餐支持,如果您需要使用此功能,请升级Astro Pro实例版本。 客户端配置。 客户端配置仅专业版及以上套餐支持,如果您需要使用此功能,请升级Astro Pro实例版本。 是否生成客户端:是否生成客户端的代码。开启后,会生成服务的客户端代码,如图3。 图3 生成客户端的代码 客户端类型:目前仅支持“OPEN_FEIGN” 设置完成后,单击“下一步”,进入框架配置页面。 父主题: 编辑服务
-
配置说明 表1 配置说明 参数名 是否必须 功能 devspore.auth.exclude-paths false 不需要认证的路径,多个规则用分号(;)分隔,优先级大于devspore.auth.auth-patterns。 devspore.auth.auth-patterns false 需要认证的路径,多个规则用分号(;)分隔。 devspore.auth.in-header false token是否在header中,默认true。 devspore.auth.token-name false token在header中的参数名,inHeader设置为true时生效,默认“X-Auth-Token”。
-
认证配置 在配置文件中加入oauth2认证相关配置和devspore相关配置,如下: devspore: auth: exclude-paths: GET:/test # 不需要认证的路径,多个规则用;分隔 auth-patterns: /v1/** # 需要认证的路径,多个规则用;分隔 in-header: true # token是否在header中,默认true token-name: X-Auth-Token # token在header中的参数名,inHeader设置为true时生效,默认X-Auth-Token
-
实现UserStore接口 import com.huawei.devspore.plugin.spi.authentication.UserInfo; import com.huawei.devspore.plugin.spi.authentication.UserStore; import org.springframework.stereotype.Component; @Component public class CustomUserStore implements UserStore { @Override public void setUserInfo(UserInfo userInfo) { // 自定义存储用户信息 ...... } @Override public UserInfo getUserInfo() { UserInfo userInfo = new UserInfo(); // 自定义用户信息获取 ...... return userInfo; } }
-
实现TokenParser接口 import com.huawei.devspore.plugin.spi.authentication.UserInfo; import com.huaweicloud.devspore.auth.commons.spi.TokenParser; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; @Component public class CustomTokenParser implements TokenParser { /** * 若token定义在header中,可使用该接口,token获取根据配置由devspore-auth获取 * * @param token * @param response * @return UserInfo */ @Override public UserInfo parserToken(String token, HttpServletResponse response) { // 自定义token解析 ...... // 判断token是否过期 ...... UserInfo userInfo = new UserInfo(); // 根据解析后的token信息填充UserInfo对象 ...... return userInfo; } /** * 若token未定义在header中,使用该接口 * * @param request * @param response * @return UserInfo */ @Override public UserInfo parserToken(HttpServletRequest request, HttpServletResponse response) { // 从httpServletRequest获取token ...... // 自定义token解析 ...... // 判断token是否过期 ...... UserInfo userInfo = new UserInfo(); // 根据解析后的token信息填充UserInfo对象 ...... return userInfo; } }
-
使用说明 AstroPro为每个项目预置了项目管理员、架构师和开发者三种类型的角色。 项目管理员 可以增删改査项目下的所有资源。 可以为项目下的所有角色分配用户(仅限于同账号下的用户,如图1中的 IAM 用户1、IAM用户2)。 图1 华为账号与IAM用户 架构师 可以新建服务。 可以删除本人创建的服务,不能删除其他人创建的服务。 可以对项目下的所有服务进行编辑。 开发者 可以查看项目下的所有资源。 可以重新编译有权限项目下的服务并下载代码。
-
前提条件 只有工作空间管理员或项目管理员,才能为其他用户添加项目级角色。不同的是具备工作空间管理员权限的用户,可以为用户添加工作空间下所有项目的权限。而项目管理员只能为用户添加其所在项目的角色权限。 待添加的IAM用户已创建(如IAM用户2)。如何创建IAM用户,请参见创建IAM用户。 IAM用户(如IAM用户1)必须已添加到用户组admin或group。加入用户组后,用户才会具备用户组的权限。若不加入用户组,登录AstroPro服务时,会提示您没有当前服务的访问权限。 admin:缺省用户组,具有所有云服务资源的操作权限。将用户加入该用户组后,用户可以操作并使用所有云服务资源。如果您创建的IAM用户是管理员,才需要将其加入默认用户组“admin”中。 group:自定义的用户组,如何创建一个用户组,请参见创建用户组并授权。自定义用户组时,必须为用户组添加“Astro Pro FullAccess”和“Astro Pro InstanceManagement”系统策略,如图3。 图2 通过用户组为用户授权 图3 自定义用户组必须具备权限
-
功能介绍 Abstract BO是一个抽象对象,不能单独存在,没有数据库表,需要和业务对象建立继承的关系。建立继承关系后,业务对象会继承抽象对象中的字段。例如,抽象对象Abstract和业务对象Role存在继承关系,在抽象对象Abstract中,新建一个name字段,该字段会被Role自动继承。 图1 和业务对象Role建立继承关系 图2 在Abstract BO中新建一个name字段 图3 Role中继承name字段
-
属性说明 在业务设计页面,从“business”中,拖拽“Abstract BO”对象至画布空白区域。选中对象,在右侧页面设置对象属性,如图4所示。 图4 Abstract BO 对象名称:设置对象的名称,必须使用大驼峰格式,不允许存在连续的大写字母。 中文名:设置对象的中文名称。 BO属性操作:单击“编辑字段”,可以为对象添加所需的字段。 软删除策略:开启软删除策略后,数据删除时执行逻辑删除,数据仍然保留在数据库中。关闭软删除策略后,数据删除为物理删除,即直接从数据库中删除,不可恢复。 购买AstroPro企业版实例时,才会显示“软删除策略”配置项。 恢复软删除:当开启“软删除策略”时可配置。开启恢复软删除,则支持将软删除的数据恢复。 操作:对新建的对象可执行哪些操作,如新增、更新、删除、查询、批量新增、批量更新、批量查询、批量删除和自定义查询。默认值为新增、更新、删除、查询和批量查询。 对象版本化:通过版本号的机制实现的乐观锁功能。开启此功能时,会在表中自动添加一个devspore_verion的字段来记录版本。在更新操作时会检查当前版本号和DB中的版本号是否一致,一致则更新数据并增加版本号,如果不同则说明数据已被其他事务修改,更新失败。 购买AstroPro企业版实例时,才会显示“对象版本化”配置项。 对象描述:对象的描述信息。
-
操作步骤 在业务设计页面,单击“自定义DTO”。 图1 自定义DTO 单击“新增”,添加一个自定义DTO。 图2 自定义一个Dto1 在自定义API的参数或返回体中,使用自定义DTO。 从“business”中,拖拽“BO”对象至画布空白区域。 选中BO对象,在对象属性中,单击“自定义API”。 图3 自定义API 单击“新增”,添加一个自定义API。 图4 自定义一个API 在请求对象或返回对象的参数中,使用自定义DTO。 图5 在自定义API中使用自定义DTO
-
属性说明 在业务设计页面,从“business”中,拖拽“Value Object”对象至画布空白区域。选中对象,在右侧页面设置对象属性,如图4所示。 图4 Value Object 对象名称:设置对象的名称,必须使用大驼峰格式,不允许存在连续的大写字母。 中文名:设置对象的中文名称。 BO属性操作:单击“编辑字段”,可以为对象添加所需的字段。 软删除策略:开启软删除策略后,数据删除时执行逻辑删除,数据仍然保留在数据库中。关闭软删除策略后,数据删除为物理删除,即直接从数据库中删除,不可恢复。 购买AstroPro企业版实例时,才会显示“软删除策略”这个配置项。 恢复软删除:当开启“软删除策略”时可配置。开启恢复软删除,则支持将软删除的数据恢复。 支持BO多租:BO是否支持多租。开启BO多租时,请确保“多租模型”已开启。 购买AstroPro专业版及企业版实例时,才会显示“支持BO多租”配置项。 图5 开通多租模型 不允许修改:对象是否支持修改。 操作:对新建的对象可执行哪些操作,如新增、更新、删除、查询、批量新增、批量更新、批量查询、批量删除和自定义查询。默认值为新增、更新、删除、查询和批量查询。 对象版本化:通过版本号的机制实现的乐观锁功能。开启此功能时,会在表中自动添加一个devspore_verion的字段来记录版本。在更新操作时会检查当前版本号和DB中的版本号是否一致,一致则更新数据并增加版本号,如果不同则说明数据已被其他事务修改,更新失败。 购买AstroPro企业版实例时,才会显示“对象版本化”配置项。 对象描述:对象的描述信息。
-
示例 创建服务时“Package”设置为“com.astropro”。在业务设计中添加自定义API,动作名称为action1,请求方式为GET,返回对象为200,代码生成层勾选接口层和应用层,则代码生成时,将在接口层和应用层生成对应API的代码,如图6所示。 图4 设置打包路径 图5 添加自定义API 图6 查看生成代码 表2 不同目录结构下实际影响代码路径说明 目录结构 接口层 应用层 数据访问层 DDD {package}.api.xxx {package}.app.xxx {package}.infrastructure.repository.base.xxx Single {package}.api.xxx {package}.service.xxx {package}.repository.base.xxx base/service {package}.api.xxx {package}.service.xxx {package}.repository.base.xxx package为创建服务时定义的打包路径。
-
添加自定义API 在业务设计页面,选中某个业务对象。 单击BO属性操作中的“自定义API”,进入编辑自定义API页面。 单击“新增”,按需添加所需的API。 实例级别:定义API实例的级别,如类型、实例。 动作名称:设置API的动作名称。 请求方法:HTTP请求方法(也称为操作或动作),用于告诉服务您正在请求什么类型的操作。 get:请求服务器返回指定资源。 put:请求服务器更新指定资源。 post:请求服务器新增资源或执行特殊操作。 delete:请求服务器删除指定资源。 请求对象:单击“添加请求对象”,可添加请求对象,即API请求的输入参数。 返回对象:请求发送后,您会收到的响应,如状态码。 路径:单击“输入path”,添加API的路径,格式为变量放到“{}”中,单词用“_”连接,非变量单词用“-”连接。例如:/meta-bo1s/{meta_bo1_id}/test-action。 当您没有自定义API路径,且“实例级别”选择“实例”时,生成的API路径上会拼接一个{MetaBo}_id的路径,同时方法上会多生成一个当前MetaBo主键的参数,如图2所示。 图2 API路径 描述:输入自定义API的描述信息。 设置代码生成层,参数设置与代码生成关系请参考表1。 表1 设置代码生成层组合说明 接口层 应用层 数据访问层 代码生成 x √ x 仅在应用层生成代码。 x x √ 仅在数据访问层生成代码。 √ √ x 在接口层和应用层生成代码。 x √ √ 在应用层和数据访问层生成代码。 √ √ √ 在接口层、应用层和数据访问层皆生成代码。 图3 设置代码生成层 设置完成后,单击“保存”。
-
前提条件 只有具备工作空间管理员权限的用户,才能为其他用户添加工作空间级角色。 待添加的IAM用户已创建(如IAM用户1)。如何创建IAM用户,请参见创建IAM用户。 IAM用户(如IAM用户1)必须已添加到用户组admin或group。加入用户组后,用户才会具备用户组的权限。若不加入用户组,登录AstroPro服务时,会提示您没有当前服务的访问权限。 admin:缺省用户组,具有所有云服务资源的操作权限。将用户加入该用户组后,用户可以操作并使用所有云服务资源。如果您创建的IAM用户是管理员,才需要将其加入默认用户组“admin”中。 group:自定义的用户组,如何创建一个用户组,请参见创建用户组并授权。自定义用户组时,必须为用户组添加“Astro Pro FullAccess”和“Astro Pro InstanceManagement”系统策略,如图2。 图1 通过用户组为用户授权 图2 自定义用户组必须具备权限
-
操作步骤 在业务设计页面,单击“脱敏规则”。 图1 选择脱敏规则 单击“新增”,添加一个脱敏规则。 例如,将移动电话的第2位到第5位数字进行脱敏处理。 图2 自定义脱敏规则 在对象的字段中,使用脱敏规则。 从“business”中,拖拽“BO”对象至画布空白区域。 选中BO对象,在对象属性中,单击“编辑字段”。 单击“新增”,添加一个phone字段,并将脱敏规则设置为2中定义的内容。 设置后,返回的值将进行脱敏处理,如1****123456。 图3 引用脱敏规则
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格