华为云用户手册

  • 选择部署来源 选择软件包路径或者根据构建记录,将制品库中对应的软件包下载到目标环境中,信息配置如下所示。 表1 选择源类型为制品仓库的参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 选择源类型 包括“制品仓库”和“构建任务”两种类型。 环境 选择当前资源类型为主机集群的环境,作为部署对象。 选择软件包 选择制品仓库中需要部署的软件包。 下载到主机的部署目录 软件包下载到目标主机的路径。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 表2 选择源类型为构建任务的参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 选择源类型 包括“制品仓库”和“构建任务”两种类型。 环境 选择当前资源类型为主机集群的环境,作为部署对象。 请选择构建任务 目标构建任务,若无构建任务,请创建构建任务 。 制品过滤方式 包括“构建版本”和“构建分支”。 构建序号 目标构建序号。 下载到主机的部署目录 软件包下载到目标主机的路径。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法 。 父主题: 配置CodeArts Deploy应用其他的部署步骤
  • 安装/卸载Docker 在主机上安装或者卸载Docker环境。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 环境 选择当前资源类型为主机集群的环境,作为部署对象。 服务操作类型 选择需要安装或者卸载docker服务。 说明: docker服务只支持拥有sudo权限的用户,此次安装会覆盖之前的docker版本。 docker版本 安装docker的目标版本。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 父主题: 配置CodeArts Deploy应用的软件安装类部署步骤
  • 启动/停止GO服务 该步骤可根据服务的指定路径进行启动、停止服务。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 环境 选择当前资源类型为主机集群的环境,作为部署对象。 服务操作类型 配置启动服务或者停止服务。 服务对应的绝对路径 GO服务的安装路径。 等待时间 等待服务启动的时间。当选择启动服务时,启动过程中会通过检测进程方式检测服务是否成功启动。可根据服务启动实际所需时间进行调整,如时间设置不合理,会导致检测结果无效。 控制选项 配置是否启用该操作。 当前步骤执行失败后,应用是否继续执行后续的步骤。 配置是否使用sudo权限执行该步骤。 父主题: 配置CodeArts Deploy应用关于服务启动停止相关的部署步骤
  • 在Windows主机新建IIS站点 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 环境 选择当前资源类型为主机集群的环境,作为部署对象。 应用程序池 IIS服务的应用程序池。 .Net CLR版本 .Net CLR的版本。 网站名称 网站的名称。 绑定端口 绑定 (监听) 的端口。 物理路径 应用程序对应的物理路径。 日志路径 IIS运行站点日志路径。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。
  • 步骤详情 表1 部署系统为云容器引擎的参数说明 参数 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 区域 ServiceStage部署的区域(region)。 部署系统 支持云容器引擎、弹性云服务器、弹性伸缩组三种部署系统。 应用名称 选择在ServiceStage中创建的应用。 技术栈 云容器引擎CCE支持Docker及其他技术栈。 组件名称 选择需要部署的组件。 组件版本 组件版本号用于ServiceStage中回滚历史版本。 环境名称 选择需要部署的环境。 集群选择 选择上述环境中需要部署的CCE集群。 命名空间选择 选择组件要部署到CCE集群中的命名空间。 实例数量 输入组件的实例数量。 镜像名称 选择需要部署的镜像(需要在 容器镜像服务 SWR上传所需的镜像)。 镜像版本 选择镜像的版本。 容器规格 规格选择: 默认:可选择系统提供的默认资源配置。 自定义:您可根据需要自行配置资源。 控制选项 当前步骤部署失败后,应用是否继续部署后续的步骤。 表2 部署系统为弹性云服务器的参数说明 参数 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 区域 ServiceStage部署的区域(region)。 部署系统 支持云容器引擎、弹性云服务器、弹性伸缩组三种部署系统。 应用名称 选择在ServiceStage中创建的应用。 组件名称 选择需要部署的组件。 组件版本 组件版本号用于ServiceStage中回滚历史版本。 环境名称 选择需要部署的环境。 弹性云服务器选择 选择需要部署的弹性云服务器。 选择部署来源 制品仓库:选择制品仓库已有软件包。 对象存储服务 :选择OBS上传的软件包。 控制选项 当前步骤部署失败后,应用是否继续部署后续的步骤。 表3 部署系统为弹性伸缩组的参数说明 参数 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 区域 ServiceStage部署的区域(region)。 部署系统 支持云容器引擎、弹性云服务器、弹性伸缩组三种部署系统。 应用名称 选择在ServiceStage中创建的应用。 组件名称 选择需要部署的组件。 组件版本 组件版本号用于ServiceStage中回滚历史版本。 环境名称 选择需要部署的环境。 弹性伸缩组名称 选择需要部署的弹性伸缩组。 弹性伸缩组实例选择 选择需要部署的弹性伸缩组实例。 选择部署来源 制品仓库:选择制品仓库已有软件包。 对象存储服务:选择OBS上传的软件包。 控制选项 当前步骤部署失败后,应用是否继续部署后续的步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。
  • 示例:通过shell命令步骤查看服务日志 应用部署完毕需要查看服务的启动或执行日志,可使用执行shell命令操作直接查看。 准备工作 您有查看服务启动或执行日志的权限。 需要确定服务启动日志的全路径。 以安装Tomcat服务为例: 服务启动日志的全路径:/usr/local/tomcat/apache-tomcat-8.5.38/logs/catalina.out 操作步骤 使用tail命令可查询服务的启动或执行日志。 在“执行shell命令”步骤详情中,执行以下命令可查询日志的最后20行,执行结果如下图所示。 tail -n 20 /usr/local/tomcat/apache-tomcat-8.5.38/logs/catalina.out 使用shell命令查看文件时尽量不要使用cat命令,如果日志文件过大可能会导致页面加载缓慢。禁止使用tail –f命令。 当执行的shell命令长度大于10240个字符时,建议使用“执行shell脚本”插件。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。
  • 通过软件发布库页面手动上传软件包 进入与已创建项目同名的仓库,单击页面右上方“上传制品”。 在弹框中配置如下信息后,单击“上传”。 目标仓库:当前软件发布库,默认即可。 版本:用户可以为软件包设置版本号。 上传方式:选择“单个文件上传”或“多个文件上传”,本章节默认“单个文件上传”。 路径:用户设置路径名称后,仓库视图中会创建改名称的文件夹,上传的软件包会存放在该文件夹内。 文件:从本地选择需要上传到软件发布库的软件包。 在仓库视图中,单击已上传的软件包名称,页面将展示该软件包的详细信息。 制品仓库服务支持从页面上传软件包,也支持与编译构建服务对接,将构建生成的软件包上传到软件发布库,请参考上传软件包到软件发布库。
  • 如何使用赋值图元 在逻辑中,拖拽“赋值”图元至画布中。 选中赋值图元,单击,设置基本信息。 表1 基本信息参数说明 参数 说明 标签 设置图元的标签,用于在服务编排设计页面展示。系统会自动填入该值,格式为Assignment序号,序号从“0”开始,表示同类型图元序号。 名称 设置图元的名称,名称为图元在服务编排中的标识,请确保在当前服务编排中唯一。命名要求如下: 长度范围为1~80个字符。 必须以英文字母开头,由英文字母,数字或单下划线组成,且不能以下划线结尾。 描述 请根据实际需求,在输入框中输入图元的描述信息。 取值范围:1~255个字符。 单击,在“赋值”页面进行配置。 图1 配置赋值图元 表2 赋值图元配置参数说明 参数 说明 变量 给变量进行赋值,例如普通变量、结构体变量、系统变量等。 操作符 操作符,目前支持普通赋值(=),变量追加(+=)与变量相减(-=)。 值 可以是普通变量、结构体变量、系统变量,也可以新建变量获取值,或根据类型填写常量。 常量填写提示: 文本类型,需要用双引号括起来,例如"abc"、"He said Hi."。 数字和货币类型,支持带符号、小数点的合法数字表达形式,例如123.5、 -12、12.3。 日期类型格式为YYYY-MM-DD,例如2020-10-01。 日期时间类型格式为YYYY-MM-DD hh:mm:ss,例如2020-10-01 12:00:00。 布尔类型,只能是true或false。 任意类型,支持所有基本类型的格式。
  • 操作场景 连接器是AstroZero提供的调用第三方服务的集成工具。AstroZero封装了不同类型的连接器用于对接相应的第三方服务,如OBS、MINIO、Redis、 云搜索 、OCR、智能边缘平台和 SMS 等。通过连接器,开发者无需关注实现代码,只需要配置一下服务地址和鉴权信息,即可在服务编排或脚本中快速集成第三方系统。 在AstroZero中安装应用后,何时需要重新创建连接器,与在应用开发创建连接器时,是否勾选“打包当前位置”有关(默认为勾选)。打包连接器时,连接器包含的敏感信息会一并打包发布,对信息敏感的场景,建议勿勾选。
  • 操作场景 业务对象(BO)是封装了完整的数据模型、业务逻辑、页面展现的软件单元。一个BO提供一个完整场景的服务,为上层应用提供特定服务。不同用户可以开发各自的BO,在BO里创建逻辑使其具有特定的业务功能,开发好后制作成用户包并进行发布。下载用户包给其他用户,其他用户安装BO包后,在上层应用(需要使用该BO服务的应用)里导入发布好的BO,即导入特定的业务功能进行使用。 例如,设备BO,为上层应用提供对设备的统一语义,对设备自身能力进行抽象封装,不包含对设备的运营运维管理能力。告警BO,对园区的所有告警提供统一语义,从各个子系统和上层应用获取告警数据,统一模型统一展现。GIS服务BO,提供对GIS子系统的租户管理、地图管理、位置服务接口的封装和标准化接口。您可以基于设备BO、告警BO以及GIS服务BO等多种BO资产,创建智能烟雾感应用,完成设备数据的接入、处理分析以及告警监控功能。
  • 通过REST接口调用连接器 可以通过调用REST接口,完成表2中功能。如何调用接口,请参见连接器API。 表2 调用连接器 接口 说明 上传文件 将本地文件上传到存储中。使用该API上传文件,默认只会上传到连接器下配置的第一个桶中。待上传的文件可以是任何类型,如文本文件、图片、视频等。 下载文件 从存储中下载文件。 删除文件 从存储中删除文件。 删除目录 从存储中删除某目录。如果目录下不为空,删除目录的同时也会删除该目录下文件。 列举目录下文件 查询并罗列存储中某目录下文件。 分段上传 对于较大文件上传,可以切分成段上传。用户可以在如下的应用场景内(但不仅限于此),使用分段上传的模式: 上传超过100MB大小的文件。 网络条件较差,和OBS等存储服务端之间的链接经常断开。 上传前无法确定将要上传文件的大小。 获取endpoint endpoint为文件存储地址的前缀,该前缀加上传对象的路径,是实际访问对象的全路径。 分享Token 获取临时Token,用户只要使用该临时Token即可访问文件,不用再使用access-token进行鉴权。
  • 操作场景 在应用开发过程中,经常需要在高级页面组件中调用后台接口来完成整个业务场景(例如获取购物车中用户的ID,订单编号,商品信息等)。为方便用户调用可配置的API,平台提供了桥接器功能,桥接器封装了平台的一些逻辑,如csrftoken验证、数据共享、数据周期调用功能等。 AstroZero低代码平台预置了18个桥接器,其中的API数据桥接器、FLOW数据桥接器、SCRIPT数据桥接器和OBJECT数据桥接器为通用桥接器。在开发自定义组件时,可以根据API的类型引入使用。剩余的14个,为平台预置组件的桥接器,如地图、散点图等。如果预置的桥接器不能满足开发需求,还可以自定义开发桥接器进行上传使用。
  • 新版应用设计器具备哪些优势 AstroZero提供了新版和经典版两款应用设计器,相比于经典版设计器,新版应用设计器具体如下优势。 极简、易用、高效 图10 新老设计器对比 更合理的空间布局 新版设计器优化了功能入口布局,寻找功能更符合开发者思维习惯。 引导式开发体验 以需求场景为开发起点,一路引导,让开发旅程更顺畅。 降低门槛 持续降低开发门槛,功能更易用。 图形化建模(从设计开始) 图11 图形化建模 改表格式为图形化,模型操作更简单。 模型关系一目了然,不用再为找关系发愁。 简化对象编辑步骤,选择模型即可编辑。 一键添加字段,交互体验更人性化。 设置出厂数据(让复杂场景简单化) 图12 设置出厂数据 出厂数据支持多安装策略,解决传统开发中对实例化数据打包、管理和升级问题,让复杂场景简单化。 一份数据一次配置多次复用灵活按需指定出厂数据。 出厂数据多安装策略,消除传统开发中对实例化数据打包、管理和升级问题。 应用团队协作更灵活 团队协作实现一个租户下有多个开发团队,不同开发团队所拥有的应用之间相互隔离,做到我的应用“我做主”。 图13 团队协作 一键部署触手可及 图14 一键部署 部署操作化繁为简,降低部署门槛,提升部署体验,提供可视化的部署进度和部署结果。 以开发者为中心,化繁为简,降低门槛,屏蔽打包、发布、部署等环节。 打包发布部署一体化,部署进度/结果可视化,简化新手探索过程。 租户级自运维告警 图15 租户级自运维告警 租户级自运维告警构建平台租户E2E运维能力,降低应用维护成本,提高租户应用的高可维护性。 开发者可根据业务需要,自定义告警模板。 业务脚本灵活引用自定义告警。 运维人员可以查看和处理业务告警。 自定义子 域名 图16 域名配置 通过自定义域名,提供安全可靠的内外网访问机制,实现一个运行环境 多个域名 (该特性仅对专享版运行环境灰度开放)。 自定义域名支持SSL证书认证和应用访问控制,保护应用访问安全。 提供安全可靠的内外网访问机制,不同用户不同登录认证。
  • 如何使用脚本图元 在基本中,拖拽“脚本”图元到右侧画布中。 选中画布中的脚本图元,单击,设置基本信息。 表1 基本信息参数说明 参数 说明 标签 设置图元的标签,用于在服务编排设计页面展示。系统会自动填入该值,格式为Script序号,序号从“0”开始,表示同类型图元序号。 名称 设置图元的名称,名称为图元在服务编排中的标识,请确保在当前服务编排中唯一。命名要求如下: 长度范围为1~80个字符。 必须以英文字母开头,由英文字母,数字或单下划线组成,且不能以下划线结尾。 描述 请根据实际需求,在输入框中输入图元的描述信息。 取值范围:1~255个字符。 单击,选择脚本、设置输入参数和输出参数。 图1 配置脚本 表2 脚本图元配置参数说明 参数 说明 脚本 调用的脚本名称,只有在启用状态下的脚本才能被服务编排调用。 输入参数/目标 脚本的输入参数名称。单击“新增行”,在下拉框中选择脚本输入参数的名称。 输入参数/源 服务编排中的变量,为目标赋值。可直接填写,也可以拖入全局上下文变量,将服务编排中的变量赋值给脚本中的输入参数。 输出参数/源 脚本的输出参数名称。单击“新增行”,在下拉框中选择脚本输出参数的名称。 输出参数/目标 服务编排中的变量,脚本中的输出参数赋值给服务编排中的变量。拖入全局上下文变量,将脚本的输出参数赋值给服务编排中的变量。
  • 应用后端开发概述 后端开发主要包括模型开发、逻辑开发和流程开发三大类。各类中包含的具体功能,如图1所示。 图1 后端开发 模型开发:在AstroZero中是以模型驱动,快速构建业务场景的,因此首先要定义应用的数据模型,就是应用中的业务数据存储在哪里,也就是通常所说的搭建数据库、创建数据库表等。这些动作,对应AstroZero中的对象,对象可以理解为数据库中表的概念。例如,在开发某个仓库商品管理应用时,需要创建商品和仓库两个对象,来分别存储商品信息(如商品编码、商品状态、库存总量、现存数量和仓库商品关系等)和仓库信息(如仓库名称、仓库编码、仓库地址和记录ID等)。如果需要实现多个对象之间关联数据查询功能,可通过创建对象视图来实现。 逻辑开发:数据模型开发完成后,相关的业务功能实现可能和某些数据做对接,也可能是一些数据的处理,这就涉及要业务接口和逻辑的开发。脚本和服务编排都是负责业务接口和逻辑开发的,两者的主要区别是脚本是代码化的,而服务编排是图形化的;服务编排适用于业务逻辑比较简单的场景(建议不超过20个图元),对于业务逻辑比较复杂的场景需要使用脚本。触发器以图形表示的方式,将业务流程呈现给用户,触发器配置好后,用户不必手动执行这些操作,系统会自动执行。触发器的典型使用场景是脚本已实现了逻辑开发,这时不想修改脚本但需要去实现某个功能,此时可选择使用触发器。 流程开发:与服务编排类似,工作流也是一套图形化的流程编排引擎,但是工作流着重于构建带有用户交互行为的业务流程,例如审批流、工单派发流程等。在实际的业务流程开发中,通常会将工作流与服务编排结合使用,即服务编排用于实现系统的具体逻辑操作,工作流通过调用服务编排、关联用户任务与页面,实现多次人机交互的流程。此外,在业务系统中通常存在很多场景不需要人工参与,可以在系统后台定期完成的,此时可通过创建定时任务来实现。例如,通过创建定时任务,在每天凌晨3点,定时将到期的商品进行下架处理。 表1 后端开发 分类 特性 特性说明 模型开发 对象 对象(也可以称为Object)相当于传统方式开发业务系统时,数据库中的一个表。每个对象对应一张数据库表,用于保存业务系统需要的配置数据和业务数据。 事件 在业务流程中,有意义的状态变化都可称为事件。自定义好事件后,可基于该事件实现事件发送、事件订阅,对发送的事件数据进行分析处理等功能。 逻辑开发 脚本 脚本和服务编排一样,都是完成业务接口和逻辑开发的,脚本是基于TypeScript语言,适用于业务逻辑比较复杂的场景。 服务编排 服务编排和脚本一样,都是完成业务接口和逻辑开发的,服务编排是图形化的,适用于业务逻辑比较简单的场景(建议图元不超过20个)。 触发器 触发器以图形表示的方式将业务流程呈现给用户,触发器配置好后,用户不必手动执行这些操作,系统会自动执行。 流程开发 工作流 与服务编排类似,工作流也是一套图形化的流程编排引擎,但是工作流着重于构建带有用户交互行为的业务流程,例如审批流、工单派发流程等。 定时任务 通过创建定时任务,让系统自动执行某脚本、服务编排完成业务功能。例如,系统中存在一个定时任务,在每天凌晨3点,定时将到期的商品进行下架处理。 父主题: 使用AstroZero开发应用后端
  • 如何使用子服务编排图元 在基本中,拖拽“子服务编排”图元到右侧画布中。 选中画布中的子服务编排图元,单击,配置基本信息。 表1 基本信息参数说明 参数 说明 标签 设置图元的标签,用于在服务编排设计页面展示。系统会自动填入该值,格式为Flow序号,序号从“0”开始,表示同类型图元序号。 名称 输入图元的名称,请确保在当前服务编排中唯一。命名要求如下: 长度范围为1~80个字符。 必须以英文字母开头,由英文字母,数字或单下划线组成,且不能以下划线结尾。 描述 请根据实际需求,在输入框中输入图元的描述信息。 取值范围:1~255个字符。 单击,选择服务编排实例、输入参数和输出参数。 图1 配置子服务编排 表2 子服务编排图元配置参数说明 参数 说明 服务编排实例 选择服务编排的名称。 只有在启用状态下的服务编排,才能作为子服务编排被其他服务编排调用。 新起事务执行子服务编排 勾选后,在新起事务中多个子服务编排可以并行执行,提高效率。如果某个子编排执行失败,也不会影响其他子服务编排的执行。 输入参数/目标 子服务编排的输入参数名称。单击“新增行”,在下拉框中选择子服务编排输入参数的名称。 输入参数/源 服务编排中的变量,为目标赋值。可直接填写,也可以拖入全局上下文变量,将服务编排中的变量赋值给子服务编排中的输入参数。 输出参数/源 子服务编排的输出参数名称。单击“新增行”,在下拉框中选择子服务编排输出参数的名称。 输出参数/目标 服务编排中的变量,子服务编排中的输出参数赋值给服务编排中的变量。在全局上下文变量中,将子服务编排的输出参数赋值给服务编排中的变量。 配置完成后,单击保存设置。
  • 如何使用BO图元 在BO中,拖拽所需的BO图元至画布中。 选中BO图元,单击,设置基本信息。 表1 基本信息参数说明 参数 说明 标签 设置图元的标签,用于在服务编排设计页面展示。系统会自动填入该值,格式为BO名序号,序号从“0”开始,表示同类型图元序号。 名称 设置图元的名称,名称为图元在服务编排中的标识,请确保在当前服务编排中唯一。命名要求如下: 长度范围为1~80个字符。 必须以英文字母开头,由英文字母,数字或单下划线组成,且不能以下划线结尾。 描述 根据实际需求,输入图元的描述信息。 取值范围:1~255个字符。 单击,在“BO”页面进行配置。 图1 配置BO图元 表2 BO图元配置参数说明 参数 说明 服务版本 BO中自定义API的版本号。 API类型 根据实际需求,选择REST或SDK。 操作方法 BO中已自定义好的API接口,该API接口类型必须是“服务编排”,才可在服务编排中调用。 入参/目标 当选择具体操作方法(API)后,API的输入参数将会显示在入参的目标列。 入参/源 服务编排中的变量,需要和目标的参数类型保持一致。该源会将服务编排中的变量,赋值给调用API的输入参数。 出参/源 当选择具体操作方法(API)后,API的输入参数将会显示在出参的源列。 出参/目标 服务编排中的变量,需要和输出参数的类型保持一致。API中的输出参数赋值给服务编排中的变量,供服务编排使用。
  • 调试事件 打开一个标准页面。 图1 标准页面实例 选择一个组件,例如“上传”组件,在右侧区域切换到“事件”页签,单击“文件上传”事件后的“+”,进入“上传”事件的编排页面。 图2 单击文件上传后的加号 在代码编辑区域,使用“debugger” 语句设置断点,单击“创建”。 图3 使用“debugger”设置断点 返回标准页面开发界面,单击,保存标准页面后,单击,预览标准页面。 在弹出的预览页面,按“F12”或者“Ctrl + Shift + I”,开启浏览器调试工具。 在“Console”页签,查看日志相关信息。在“Network”页签,查看网络请求信息。 图4 “Console”页签查看日志相关信息 图5 在“Network”页签查看网络请求信息 单击上传按钮上传文件,由于之前在上传事件的自定义JavaScript代码中使用“debugger” 语句设置断点,因此事件代码在执行到debugger语句时会停止执行。 按“F8”可跳转下一个断点,按“F10”可跳转下一行,根据相关数据判断页面逻辑是否正确执行。 图6 调试JavaScript代码
  • 前台页面常用调测方法 在高级页面的开发中,常借助浏览器内置的 开发者工具 对样式或功能问题进行定位和分析。下面以Chrome浏览器为例,简单介绍浏览器开发者工具中常用的调测方法。在Chrome浏览器中,按下“F12”或者“Ctrl + Shift + I”,开启开发者工具。 DOM和 CSS 样式调试 在Elements面板,可以自由的操作DOM和 CS S,来迭代布局和设计页面。在开发者工具打开的状态下,使用左上角的箭头按钮,可点选页面元素,查看该元素DOM和CSS等。也可以在Elements页签下,修改页面上的元素的DOM标签或CSS样式(修改立即生效),实时查看修改后效果。 图1 Elements页签查看调试DOM和CSS样式 打印日志信息 在Console页签下,可使用控制台打印日志信息。在Sources页签下,调试JavaScript时常用方法是将多个console.log()语句插入代码,重新加载页面后,可以在Console页签中,查看到打印的消息。Sources页签主要包括三个部分,左侧为页面请求文件列表,中间为选择文件的文件内容,右侧为JavaScript调试窗格。 想要在JavaScript中打印日志,需要找到相应文件,查找相关代码,然后插入console.log()。 图2 Sources页签布局 调用低代码平台API 在Console页签下,可使用控制台调用低代码平台提供的API,以获取相关信息进行调试。 图3 调用低代码平台API 断点调试 在Sources页签下,可以设置断点来调试JavaScript。使用断点,DevTools会在暂停时及时显示所有变量值。Chrome开发者工具,提供了代码行断点、条件代码行断点、DOM断点和事件侦听断点等多种断点,请根据调测的实际需求选择合适的断点。断点的类型和使用场景,如表1所示。 表1 Chrome断点类型及使用场景 断点类型 使用场景 代码行 在确切的代码区域中。 条件代码行 在确切的代码区域中,且仅当其他一些条件成立时。 DOM 在更改或移除特定DOM节点或其子级的代码中。 XHR 当XHR网址包含字符串模式时。 事件 在触发点击等事件后运行的代码中。 侦听器 在引发已捕获或未捕获异常的代码行中。 异常函数 任何时候调用特定函数时。 代码行断点调试是最为常见的断点调试方法, 设置代码行断点的方法是找到请求文件,在Sources左侧请求文件列表按照目录查找,也可以借助“Ctrl+F”搜索关键词找到相关文件。在Sources中间文件内容区域,找到要设置断点的代码行,单击行号,出现蓝色图标,这意味着这行代码上有一个代码行断点。如图4所示,在global_BubbleChartWidget.js文件的49行代码处,设置了一个代码行断点。 刷新此网页,事件运行始终会在执行此行代码之前暂停,可单击右侧调试窗格的按钮进行单步调试,或者单击调试窗格的按钮继续执行事件。 图4 代码行断点示例 多终端测试 在进行页面自适应测试时,可采用Chrome开发者工具提供的模拟移动设备的功能。借助此功能,可无实物快速对网页进行多个终端测试。 单击,可启动模拟移动设备界面,设备工具栏在打开时默认处于自适应视口模式,可以将视口大小调整为所需的任何尺寸,另外还可以选择多种终端型号。 图5 模拟移动设备
  • 如何使用发送事件图元 在基本中,拖拽“发送事件”图元至画布中。 选中发送事件图元,单击,设置基本信息。 表1 基本信息参数说明 参数 说明 标签 设置图元的标签,用于在服务编排设计页面展示。系统会自动填入该值,格式为Event序号,序号从“0”开始,表示同类型图元序号。 名称 设置图元的名称,名称为图元在服务编排中的标识,请确保在当前服务编排中唯一。命名要求如下: 长度范围为1~80个字符。 必须以英文字母开头,由英文字母,数字或单下划线组成,且不能以下划线结尾。 描述 请根据实际需求,在输入框中输入图元的描述信息。 取值范围:1~255个字符。 单击,在“发送事件”页面进行配置。 图1 配置发送事件图元 表2 发送事件图元配置参数说明 参数 说明 事件 选择待发送的事件,直接在下拉框中选择。 分区字段 从事件中选择一个自定义参数用作Kafka的分区字段,则根据该字段值进行路由,相同的值将路由到同一个Kafka分区;如果不指定,则默认随机路由到不同Kafka分区,从而提升并发处理性能。 须知: 建议选择有区分度的关键字段,该字段必须是事件的自定义字段。 发送到外部 系统内部有配置与AstroZero相连Kafka的固定Topic“__BINGO_SYS_TOPIC”。 如果不勾选“发送到外部”,表示将事件数据发到默认的Topic上。 如果勾选“发送到外部”,表示将事件数据发送到与AstroZero相连Kafka的其他Topic上,此时需要配置其他的Topic。 默认不勾选。 延迟到事务结束(提交或回滚)后才发送 是否延迟到该服务编排事务结束后,才发送事件。 默认不勾选,表示流程执行到该图元时立即发送事件。 主题 当勾选“发送到外部”时,该参数才会显示,表示非系统配置的默认Topic。 需要从与AstroZero相连Kafka处,获取其他主题Topic。 目标/源 配置事件数据,为该事件自定义参数赋值,将“源”取值赋值到“目标”中。单击“新增行”,可添加并进行赋值。 目标:从下拉框中,选择事件的自定义参数。 源:从全局上下文拖拽变量或直接输入“{!变量名}”,给目标赋值。
  • 排查思路 VNC方式登录云服务器正常,但无法通过远程桌面连接方式登录云服务器时,我们推荐您按照以下思路排查问题。 以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。 如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。 图2 无法连接Windows实例排查思路 表1 无法连接Windows实例排查思路 可能原因 处理措施 资源状态异常:资源冻结;未开机。 只有状态为“运行中”的云服务器才允许用户登录,详细操作请参考检查资源状态是否正常。 登录使用的用户名称或密码错误。 Windows实例用户名:Administrator,密码错误通过“重置密码”重新设置登录密码。详细操作请参考检查登录凭证。 云主机负载过高。 带宽和CPU利用率过高可能会导致服务器无法登录,详细操作请参考检查云服务器负载是否过高。 未绑定弹性公网IP。 使用RDP文件、远程桌面连接方式(MSTSC方式)登录要求云服务器已绑定弹性公网IP。详细操作请参考检查云服务器是否绑定弹性公网IP。 互联网运营商的劫持或者封堵。 更换手机热点或其他网络测试是否可以正常访问,详细操作请参考检查网络是否正常。 防火墙拦截。 测试防火墙关闭后是否可以正常连接,详细操作请参考检查防火墙配置是否正常。 安全组和云服务器的登录端口配置不正确。 检查安全组和云服务器是否放通远程登录端口。详细操作请参考检查端口配置是否正常。 配置了SSH登录IP白名单。 检查开启主机安全服务后是否配置了SSH登录IP白名单。检查SSH登录IP白名单(已启用主机安全服务) 检查云服务器的远程桌面协议。 确保云服务器已开启远程桌面协议(仅RDP文件、MSTSC方式要求)。详细操作请参考检查云服务器的远程桌面协议。 第三方杀毒软件的阻拦。 禁用或者卸载第三方杀毒软件后重试,详细操作请参考检查是否为杀毒软件拦截。 连接实例有详细的报错信息提示。 远程连接有报错信息提示时,请根据详细报错信息查看操作指导。详细操作请参考远程登录是否有报错信息。
  • 检查云服务器负载是否过高 云服务器的带宽和CPU利用率过高可能会导致服务器无法登录。 如果您已经通过 云监控服务 创建过告警任务,当CPU或带宽利用率高时,系统会自动发送告警给您。 Windows云服务器带宽流量过高或CPU利用率高,请参考Windows云服务器卡顿怎么办?进行排查。 如果是CPU占用过高导致的无法登录请参考以下操作降低CPU使用率: 可以通过把一些暂时不使用的进程关掉后再尝试。 检查后台没有运行Windows Update操作。 或者可以尝试重启云服务器。 如果重装系统,请先备份重要数据。 如果服务器有重要数据不能重装,可以通过挂载磁盘方式拷贝数据,需要先备份,再卸载磁盘,然后挂载盘拷贝数据。 如果是带宽超限导致的无法登录请参考以下操修改带宽: 在控制台排查带宽超限的方法请参考如何排查带宽超过限制? 完成上述操作后,再次重试远程连接云服务器。
  • 检查SSH登录IP白名单(已启用主机安全服务) 开启主机安全防护后,您可以根据需要配置SSH登录IP白名单。SSH登录IP白名单功能是防护账户爆破的一个重要方式,主要是限制需要通过SSH登录的服务器。 配置了白名单的服务器,只允许白名单内的IP通过SSH登录到服务器,拒绝白名单以外的IP。 在主机安全服务“事件管理”页面,检查本地主机IP是否因为账户暴力破解,导致本地主机IP被拦截。 检查是否已开启SSH登录白名单,如果已开启,请确保本地主机IP已添加到IP白名单。 启用“SSH登录白名单”功能时请确保将所有需要发起SSH登录的主机IP地址都加入白名单中,否则您将无法SSH远程登录您的云服务器。 本地IP加入白名单后,账户破解防护功能将不再对来自白名单中的IP登录行为进行拦截,该IP对您加入白名单的服务器登录访问将不受任何限制,请谨慎操作。
  • 可能原因 云服务器未分配公网IP。 弹性公网IP的带宽超限。 公网ISP运营商的劫持或者封堵。 Windows云服务器的异常行为,导致安全策略禁止该机器的外网访问。 Windows云服务器安全组配置不正确。 Windows云服务器系统性能问题。 Windows云服务器的防火墙阻拦。 Windows云服务器安装了第三方杀毒软件,杀毒软件做了外网阻拦。 Windows云服务器受病毒或木马影响。 Windows云服务器网络配置错误。
  • 处理方法 针对此问题,我们推荐采用以下方式来排查: 检查是否已经向云服务器实例绑定了公网IP,如果未绑定公网IP,请在绑定弹性公网IP后重试。 绑定弹性公网IP请参考绑定弹性IP。 云服务器绑定了弹性公网IP时,通过带宽提供公网和云服务器间的访问流量。 如果出现访问公网不通,请排查弹性公网IP带宽是否超过带宽最大上限。 排查带宽超限的方法请参考如何排查带宽超过限制? 检查是否仅仅是访问特定地址有问题,如果是特定地址有问题,则可能跟运营商封堵阻拦有关。 在云服务器的命令行窗口,使用ipconfig /all命令检查网卡配置是否正确。在命令行中输入ncpa.cpl打开网络共享与管理中心,检查网卡状态是否正常收发。 使用Route Print命令检查Windows云服务器的路由表,查看活动路由中的0.0.0.0默认路由是否指向默认网关。 使用ping命令检查云服务器与网关通信是否正常。 通过ping命令探测域名,可以获取域名对应IP地址。 对比ping域名和ping具体IP地址的时间差异,观察DNS服务器解析是否正常。 用netstat命令检查是否存在SYN-SENT、CLOSE_WAIT、FIN_WAIT。 若存在表明端口耗尽。一般是软件问题,排查解决问题后,需要重启云服务器进行恢复。 检查云服务器安全组是否有配置错误,安全组出方向规则为白名单(允许),放通出方向网络流量。例如图1所示,配置出方向允许所有访问。 可参考修改安全组规则配置,开放允许访问的协议或端口。 图1 出方向允许所有访问 查看并禁用Windows云服务器防火墙策略,禁用后检查是否可以连通网络。 如果禁用后可以连通网络,请检查防火墙策略配置。 尝试禁用或者卸载Windows云服务器的第三方杀毒软件,检查问题是否发生。
  • 检查云服务器路由配置(多网卡场景) 一般操作系统的默认路由优先使用主网卡,如果出现使用扩展网卡导致网络不通现象通常是路由配置问题。 如果 云服务器配置 了多网卡,请确认云服务器内默认路由是否存在。 登录云服务器,执行如下命令,查看是否存在默认路由。 ip route 图8 查看默认路由 若没有该路由,执行如下命令,添加默认路由。 ip route add default via XXXX dev eth0 XXXX表示网关IP。
  • 检查域名解析(域名Ping不通场景) 如果弹性公网IP可以Ping通,域名无法Ping通,可能是域名没有备案或者域名解析的问题导致。 检查域名备案。 备案是中国大陆的一项法规,网站的域名和服务器IP需要进行备案,备案成功后您的域名才可以指向服务器开通访问。 如果您使用中国大陆节点服务器提供互联网信息服务,需要先在服务器提供商处提交备案申请,备案成功后域名才可以指向服务器开通访问。如何备案? 如果您使用的是中国大陆地区以外的服务器(包括中国港澳台及其他国家、地区)提供互联网信息服务,无需备案。 检查域名解析。 如果域名已备案,但未正确配置域名解析也可能会导致域名无法Ping通。 您可以DNS服务控制台查看域名解析详情。 检查DNS服务器配置。 如果ping 域名显示找不到主机可能是DNS服务器速度慢,导致的访问卡顿,建议您参考ECS案例:弹性云服务器访问中国大陆外网站时加载缓慢怎么办?进行优化。
  • 检查网络ACL规则 VPC默认没有网络ACL,如果关联了网络ACL,请检查“网络ACL”规则。 查看云服务器对应的子网是否关联了网络ACL。 如图5显示具体的网络ACL名称说明已关联网络ACL。 图5 网络ACL 点击网络ACL名称查看网络ACL的状态。 图6 网络ACL开启状态 若“网络ACL”为“开启”状态,需要添加ICMP放通规则进行流量放通。 图7 ACL添加ICMP规则 需要注意“网络ACL”的默认规则是丢弃所有出入方向的包,若关闭“网络ACL”后,其默认规则仍然生效。
  • 检查安全组规则 Ping使用的是ICMP协议,请检查云服务器对应的安全组是否放通了“入方向”的“ICMP”规则。 在HECS控制台云服务器列表,单击待变更安全组规则的云服务器名称。 系统跳转至该云服务器详情页面。 选择“安全组”页签,展开安全组,查看安全组规则是否包含“ICMP”协议规则,以及源地址是否包含您的IP。 如果未包含“ICMP”规则,添加“ICMP”规则。 表2 安全组规则 方向 类型 协议和端口 源地址 入方向 IPv4 ICMP:全部 0.0.0.0/0 0.0.0.0/0表示所有IP地址
  • 排查思路 以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。 如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。 图1 弹性公网IP Ping不通排查思路 表1 弹性公网IP Ping不通排查思路 可能原因 处理措施 安全组未添加ICMP规则 安全组添加ICMP规则,详细操作请参考检查安全组规则。 防火墙设置了禁Ping 检查防火墙对ICMP规则的启用状态,详细操作请参考检查防火墙设置。 云服务器设置了禁Ping 检查云服务器对ICMP规则的启用状态,详细操作请参考检查云服务器是否设置了禁Ping。 关联了网络ACL 如果VPC关联了网络ACL,请检查“网络ACL”规则,详细操作请参考检查网络ACL规则。 网络异常 检查本地网络,使用相同区域主机进行Ping测试,详细操作请参考检查网络是否正常。 多网卡场景,路由信息配置不正确 扩展网卡导致网络不通现象通常是路由配置问题,详细操作请参考检查云服务器路由配置(多网卡场景)。 域名没有备案或者域名无法解析 域名无法Ping通,可能是域名没有备案或者域名无法解析,详细操作请参考检查域名解析(域名Ping不通场景)。
共100000条