云服务器内容精选

  • 流程编排服务 随着全球市场的竞争日益激烈以及高科技的发展,企业需要不断地改进和优化自己的业务流程,以确保高质量的产品和服务,并在市场中保持竞争力。流程管理成为了企业中不可或缺的一部分。为此,流程引擎提供了“流程编排服务”,包含流程元模板、流程服务编排、流程日志管理等能力。 流程元模板 流程元模板是一类流程的模板,可通过页面或API的方式发起多个流程元模板对应的流程,由流程编辑、数据编辑和UI编辑页面组成。 流程服务编排 流程引擎提供可视化流程服务编排功能,支持HTTP、XDMAPI等服务类型,同时提供流程元模板全生命周期的服务编排管理,包括流程的编排、调试、发布和流程实例的运行等,为企业提供自定义流程服务编排一站式服务。 流程运行服务 简单地说,流程运行是企业在运营管理中实现端到端运作的整个过程。企业可以在流程运行阶段,结合实际业务场景对流程建模内容进行实际测试,记录并分析流程运转情况,以便于后续流程的优化和调整。 在流程引擎的流程运行服务中,应用的登录人员可以查看其名下的相关流程待办、流程申请、流程草稿、流程审批记录等信息,运行服务管理员可以随时监控当前应用的所有流程实例运转情况,对流程实例进行挂起、激活、转审等操作。
  • 流程引擎简介 随着企业规模的不断扩大、业务复杂性的持续增加,传统的业务流程管理方式已经无法满足高效、灵活和可控的要求。为了满足企业自动化、标准化和智能化管理业务流程的需求,工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)提供了流程引擎功能。 流程引擎是一种用于管理和执行业务流程的软件工具。您可以通过流程引擎的建模、编排、执行、监控等功能,将业务流程抽象成可执行的流程模板,并自动化执行流程,从而提高工作效率、降低成本、增强风险控制能力。 如需在基础版数据建模引擎中使用流程引擎,请前往iDME控制台开启。具体操作请参见配置流程引擎访问。
  • 设置工单状态为待客户反馈 如商家在与客户沟通过程中发现客户反馈的问题描述不清楚且当前也联系不上客户,需要客户反馈更多的信息时,工单处理人可以先留言,描述清楚需要客户反馈的信息,然后在留言窗口勾选"设置工单状态为待客户反馈"。 工单状态变为"待客户反馈",SLA状态为"暂停",即需要客户反馈更多信息,才能进行下一步处理。 待客户回复消息后,工单状态将从"待客户反馈"变为"处理中",或者工单处理人也可以主动取消勾选"设置工单状态为待客户反馈",工单状态同样会变为"处理中"。
  • 服务 服务是Framework的组织单位。您可以将其视为项目文件,单个应用可以拥有多个服务。可以在服务中定义函数、触发它们的事件以及函数使用的资源,所有这些都在一个名为serverless.yml(或serverless.json)的文件中,例如: # serverless.yml service: fgs functions: # Your "Functions" hello_world: events: # The "Events" that trigger this function - apigw: env_id: DEFAULT_ENVIRONMENT_RELEASE_ID env_name: RELEASE req_method: GET path: /test name: API_test 通过运行serverless deploy使用Framework进行部署时,serverless.yml中的所有内容都会同时部署。
  • 在空间中创建文档目录 在“我的空间”和“团队空间”创建文件夹,在文件夹中可以添加文档或思维导图。其中“团队空间”的文件夹,需要成员角色为系统管理员才可以进行创建、删除和重命名操作。 在“我的空间”或“团队空间”根目录下新建文件夹。 在左侧目录树中,将选择“我的空间”或“团队空间”目录,单击创建文件夹。 输入文件夹名称,按“Enter”键,保存。 在“我的空间”或“团队空间”的文件夹下新建子文件夹。 在左侧目录树中选择目标文件夹,单击“新建文件夹”,创建子文件夹。 您也可以将鼠标悬置于待新建子文件的文件夹目录,单击显示的图标,选择“新建文件夹”。子文件夹最多可创建10层。 在新增文件夹名称输入框中,输入文件夹名称。 按“Enter”键,保存。 重命名文件夹。 将鼠标悬置于待重命名的文件夹目录,单击显示的图标,选择“重命名”。 在文件夹名称输入框中输入新的文件夹名称。 按“Enter”键,完成输入。 删除文件夹。 将鼠标悬置于待删除的文件夹目录,单击显示的图标,选择“删除”。 在确认删除文件夹弹窗中,单击“确定”,删除文件夹。
  • 创建文档或思维导图 在“我的空间”或“团队空间”中选择需要的文件夹,单击“新建文件”。 根据实际需要选择“文档”或“思维导图”,并选择模板或创建空白文件。 若不使用已有模板,则单击“增加空白文档”或“增加思维导图”,根据需要创建新的模板。 若需要使用已有模板,则根据需要,选择合适的模板进行“预览”和“使用”。 在文件创建界面,编辑文件名称和文件内容。 以增加空白文档为例,文档创建界面如图1所示,根据实际需要编辑文件。 图1 文档创建界面 用户信息显示区域:显示当前用户信息。 工具栏区域:可以选择演示文档、星标文档、分享文档和使用模板。 大纲按钮:单击展开文档大纲。 编辑栏:在编辑框中选择需要的编辑操作,单击插入更多富媒体元素。 图2 模板编辑框 文件名编辑区域:用于编辑新建文档名称。 文件内容编辑区域:用于编辑文件内容。 关闭文件创建界面,文档内容自动保存,返回“ 知识管理 ”界面。
  • 相关操作 您在个人中心可进行如表1所示的操作。 表1 个人中心相关操作 操作名称 操作说明 切换角色 如果当前登录的用户同时具多个角色权限,在个人中心,可单击“切换角色”,切换到其他角色。 查看我参与的团队 在个人中心,单击“查看团队”,可进入“我参与的团队”页面。 在“我参与的团队”页面,可查看我参与的团队列表。 在我参与的团队列表中,选择目标团队,单击“操作”列的“查看成员”,可查看团队中的成员。 在我参与的团队列表中,选择目标团队,单击“操作”列的“退出团队”,可退出所选团队。 退出登录 在个人中心,单击“退出登录”,可退出当前登录账号。
  • 配置发布管理原子插件 发布管理提供滚动升级插件、灰度起负载插件、灰度引流插件、灰度下线插件和人工卡点插件五种插件,用于滚动升级和灰度升级,以下分别介绍各插件配置方法。 滚动升级插件 滚动升级包括两种部署方式:镜像创建和YAML创建。 镜像创建:替换工作负载中容器的镜像。 表2 参数说明 参数项 说明 命名空间 待升级的服务所在的命名空间。 工作负载 命名空间下的工作负载。 容器 工作负载中需要升级的容器。 YAML创建:使用yaml文件升级或上线工作负载。 表3 参数说明 参数项 说明 仓库类型 代码仓库的类型,当前仅支持Repo。 代码仓 当前项目下的代码仓。 分支 代码仓库分支。 工作负载YAML路径 升级的工作负载YAML路径,填写YAML文件的相对路径。 当前目录为代码分支的根目录。 仅支持单个YAML文件。 YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。 灰度起负载插件 灰度起负载包括两种部署方式:镜像升级和YAML部署。 镜像创建:替换工作负载中容器的镜像,创建与线上配置完全一致的工作负载,仅更新构建产物(镜像包)。 表4 参数说明 参数项 说明 命名空间 待升级的服务所在的命名空间。 服务 集群命名空间下的Service,需要确保该Service有且仅有一个工作负载与其关联。 自定义版本号 开关关闭,系统将自动随机生成灰度版本号;开关开启,用户可以按需配置灰度版本号。 灰度版本号 灰度版本号将作为新旧负载的引流标识,用于区分正式版本和灰度版本,请按需配置,支持使用${ENV}引用环境变量。如:${TIMESTAMP},表示引用系统时间戳环境变量作为灰度版本号。 支持大小写英文字母、数字、“-”、“_”、“.”,长度不超过62个字符。 YAML创建:使用yaml文件上线或升级工作负载。 表5 参数说明 参数项 说明 命名空间 待升级的服务所在的命名空间。 服务 集群命名空间下的服务,需要确保该服务有且仅有一个工作负载与其关联。 仓库类型 代码仓库的类型,当前仅支持Repo。 代码仓 当前项目下的代码仓。 分支 代码仓库分支。 工作负责YAML路径 填写YAML文件的相对路径。 当前目录为代码分支的根目录。 仅支持单个YAML文件。 YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。 灰度引流插件 选择引流类型,包括:Service蓝绿引流和ASM灰度引流。 Service蓝绿引流:基于集群Service将所有流量切换至新负载(灰度负载)。 ASM灰度引流:基于ASM的VirtualService和DestinationRule配置来控制访问流量,可以基于流量比例、请求Header等进行灰度引流,要求集群内安装ASM(应用服务网格)。 灰度下线插件 灰度下线插件会自动下线服务关联的旧工作负载,无需配置。 人工卡点插件 可以在卡点确认时进行批准或驳回部署策略,运行至人工卡点时流水线将暂停,若审批通过则继续执行,若驳回则终止执行。 表6 参数说明 参数项 说明 超时处理 超过等待审批时间后流水线的处理方案。 卡点失败,发布流终止执行:运行至人工卡点时流水线将暂停,若超时不处理则终止执行流水线。 忽略结果,发布流继续执行:运行至人工卡点时流水线将暂停,若超时不处理则继续执行流水线。 卡点时长 等待审批的时间,时间范围为1分钟至12小时。 卡点说明 卡点内容说明。长度不超过200个字符。
  • 新建发布管理自定义策略 发布管理环境预置了滚动升级模板、灰度升级模板和空白yaml模板,用户可以基于任一模板,添加原子插件,编辑发布策略。 进入发布管理环境列表页面。 单击环境名称,进入“环境信息”页面。 单击“发布策略”页签,切换至“发布策略”页面。 单击“自定义策略”旁的,弹出“新建策略”对话框,选择策略模板,单击“确定”。 在模板的基础上自定义编排插件,并配置相关信息。 表1 新建策略 参数项 说明 策略名称 策略的名称。支持中文、英文字母、数字、“-”、“_”,不超过128个字符。 策略描述 长度不超过200个字符。 编排插件 选择策略模板后会自动生成相应的插件,可根据需要自定义编排并配置插件信息,插件参数配置请参考配置发布管理原子插件。 单击,可添加插件。 单击,可复制当前插件。 单击,可删除当前插件。 配置完成后,单击“保存”。 在左侧目录找到刚创建的策略,单击策略所在行,即可应用该策略,应用后策略会变为“使用中”的状态。
  • 工作原理 引入devspore-auth-starter依赖后,会在SDK内自动注册认证Filter:AuthAuthenticationFilter。 调用业务接口时会自动执行已注册的认证Filter,AuthAuthenticationFilter.doFilterInternal中将通过SPI方式先调用TokenParser的实现类(DefaultTokenParser,用户可自定义)完成token解析。 AuthAuthenticationFilter.doFilterInternal在token解析成功后将解析出的用户信息通过SPI方式调用UserStore的实现类(DefaultUserStore,用户可自定义)存储用户信息供后续业务代码使用。 TokenParser接口介绍详见:TokenParser接口介绍 UserInfo用户信息类介绍详见:UserInfo用户信息类 UserStore接口介绍详见:UserStore接口介绍
  • 配置说明 表1 参数配置说明 参数名称 是否必选 功能 devspore.auth.in-header false token是否在header中,默认true。 devspore.auth.token-name false token在header中的参数名,inHeader设置为true时生效,默认"X-Auth-Token"。 devspore.auth.oneaccess.ignore-ssl true 是否校验oneaccess证书。 devspore.auth.oneaccess.auth-patterns false 需要认证的路径。 devspore.auth.oneaccess.jwt.jwk-set-uri true 对应的oneaccessjwk地址。 devspore.auth.oneaccess.jwt.issuer-uri true 签发机构。 devspore.auth.oneaccess.jwt.jws-algorithm false 签名算法,默认RS256。 父主题: devspore-auth-oneaccess使用指南
  • devspore-probe常用的配置参数如下所示 devspore: probe: metrics: tags: component: devspore-application # 应用名称,使监控指标带上应用标签 api-description-tags: false #是否开启http_server_request指标添加description标签功能 aom: enable: false # 是否开启监控数据上报 AOM 平台功能 authentication:AccessCode # 监控数据上报AOM的鉴权方式,可选值:AccessCode,AccessKey ak: ${aom_ak} # 用户AK sk: ${aom_sk} # 用户SK url: ${aom_url} # 监控数据上报AOM平台接口URL access-code:${aom_accessCode} # 选择AccessCode配置 push-interval-seconds: 60 # 监控数据上报AOM平台的采集间隔,单位:秒 pattern: # 符合该正则表达式的监控项将被上报到AOM,默认上报所有的监控项 external-env-info: false # 是否在监控数据中加入serviceStage环境变量 batch-size:60 # 每批次上传AOM平台的Body包包含的监控项数量,默认值60
  • 参数说明 表1 参数说明 参数名称 默认值 类型 被监控组件或应用名称 devspore.probe.metrics.tags.component - String 被监控组件或应用名称。 devspore.probe.metrics.api-description-tags false boolean 是否开启http_server_request指标添加description标签功能,如开启,会自动添加@ApiOperation注解的value字段或@Operation注解的summary字段作为description值。 devspore.probe.aom.enable false boolean 是否开启监控数据上报AOM平台功能。 devspore.probe.aom.authentication - String 监控数据上报AOM的鉴权方式,可选值:AccessCode,AccessKey。当选择AccessCode时,url、access-code必须配置;当选择AccessKey时,url、ak、sk必须配置。 devspore.probe.aom.ak - String 用户AK。 devspore.probe.aom.sk - String 用户SK。 devspore.probe.aom.access-code - String 用户AccessCode。 devspore.probe.aom.apig-app-code - String 被授权服务的appCode、非必须使用,非内部用户使用AccessCode鉴权方式的时候需要配置此配置。 devspore.probe.aom.url - String 监控数据上报AOM平台接口URL。 devspore.probe.aom.push-interval-seconds 60 int 监控数据上报AOM平台的采集间隔,单位:秒。 devspore.probe.aom.pattern /w* String 符合该正则表达式的监控项将被上报到AOM,默认上报所有的监控项。 devspore.probe.aom.external-env-info false boolean 是否在监控数据中加入serviceStage环境变量。 devspore.probe.aom.batch-size false int 每批次上传AOM平台的Body包包含的监控项数量,默认值60。
  • 常用约束 表1 常用约束说明 注解 约束说明 @Null 被注释的元素必须为null。 @NotNull 被注释的元素必须不为null。 @AssertTrue 被注释的元素必须为true。 @AssertFalse 被注释的元素必须为false。 @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值。 @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值。 @DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值。 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值。 @Size(max=, min=) 被注释的元素的大小必须在指定的范围内。 @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内。 @Past 被注释的元素必须是一个过去的日期。 @Future 被注释的元素必须是一个将来的日期。 @Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式。 @NotBlank(message =) 验证字符串非null,且长度必须大于0。 @Email 被注释的元素必须是电子邮箱地址。 @Length(min=,max=) 被注释的字符串的大小必须在指定的范围内。 @NotEmpty 被注释的字符串的必须非空。 @Range(min=,max=,message=) 被注释的元素必须在合适的范围内。
  • beego-orm 创建github.com/astaxie/beego/orm包orm.Ormer数据源,进行mysql操作。 依赖引入,配置文件或配置信息修改参考原生DB。 初始化创建beego-orm数据源DevSporeOrm,后续执行Mysql相关操作。 由于beego-orm需要注册使用的model,以Teacher,Student为例。 type Teacher struct { Id int Name string Age int}type Student struct { Id int Name string Age int} 配置文件方式创建。 import ( "log" "github.com/astaxie/beego/orm" _ "github.com/huaweicloud/devcloud-go/sql-driver/mysql")var ( DevSporeOrm orm.Ormer err error)func init() { // 1 注册devspore_mysql err = orm.RegisterDriver("devspore_mysql", orm.DRMySQL) if err != nil { log.Fatalln(err) } // 2 注册使用model orm.RegisterModel(new(Teacher),new(Student)) // 3 创建数据源 err = orm.RegisterDataBase("default", "devspore_mysql", "./conf/resources/config_mysql.yaml") if err != nil { log.Fatalln(err) } DevSporeOrm = orm.NewOrm()} 配置信息方式创建。 import ( "log" "github.com/astaxie/beego/orm" devspore "github.com/huaweicloud/devcloud-go/sql-driver/mysql")var ( DevSporeOrm orm.Ormer err error)func init() { // 1 注册devspore_mysql err = orm.RegisterDriver("devspore_mysql", orm.DRMySQL) if err != nil { log.Fatalln(err) } // 2 注册使用model orm.RegisterModel(new(Teacher),new(Student)) // 3 创建数据源 devspore.SetClusterConfiguration(mysqlConfiguration()) err = orm.RegisterDataBase("default", "devspore_mysql", "") if err != nil { log.Fatalln(err) } DevSporeOrm = orm.NewOrm()} 父主题: 使用指南