-
ModelArts文档:点击查看热点FAQ:ModelArts平台,notebook上如何安装docker?答:在notebook不是虚机,notebook本身就是一个docker,因此不能再次docker了。您可以将镜像在虚机上pull下来,按照下面的文档做成docker image,再用docker image创建notebook。ECS上构建自定义镜像并在Notebook中使用:cid:link_1Notebook如何挂载obs?答:具体请参见文档上传的镜像,ModelArts里找不到上传的镜像?答:具体请参见文档, 要在ModelArts左边镜像管理注册ModelArts平台,vscode突然连不上notebook了,网页端是可以正常打开jupyter lab的?答:具体请参见文档ModelArts平台,在npu上,flash_attn库相关的代码要怎么替换?答:具体请参见文档每次从镜像启动modelart时/home/ma-user/work目录的内容会被清空,而notebook又指定在该目录下,请问如何修改notebook的启动目录?答:具体请参见文档同一区域下桶列表下存储数据如何快速传送到并行文件系统下?答:具体请参见文档910b上使用deepspeed一定要使用deepspeed_npu插件吗?如何访问对应gitee仓库?答:具体请参见文档https://www.hiascend.com/document/detail/zh/Pytorch/60RC3/modthirdparty/modparts/thirdpart_0005.htmlModelArts平台如何多机多卡公共资源池训练作业?答:具体请参见文档用户在使用ModelArts开发环境时,经常需要对开发环境进行一些改造,如安装、升级或卸载一些包。但是某些包的安装升级需要root权限,运行中的Notebook实例中无root权限,所以在Notebook实例中安装需要root权限的软件,目前在预置的开发环境镜像中是无法实现的。用户可以使用ModelArts提供的基础镜像或用户第三方镜像来编写Dockerfile,构建出完全适合自己的。答:具体可参见Notebook的自定义镜像制作方法如果您已经在本地完成模型开发或训练脚本的开发,且您使用的AI引擎是ModelArts不支持的框架。您可以制作自定义镜像,并上传至SWR服务。您可以在ModelArts使用此自定义镜像创建训练作业,使用ModelArts提供的资源训练模型。答:具体可参见训练作业的自定义镜像制作流程如果您使用了ModelArts不支持的AI引擎开发模型,也可通过制作自定义镜像,导入ModelArts创建为模型,并支持进行统一管理和部署为服务。答:具体可参见模型的自定义镜像制作流程
-
2025年8月8日,华为云MaaS大模型即服务平台实践技术沙龙在九云科教集团成功举办。本次活动由华为云HCDG长沙核心组周毅、黄蓉发起,来自于北京并行科技、北京惠农通正、杭州泰师科技、湖南中科博远、湖南拓维信息、湖南科创信息等企业的30余位人工智能领域开发者齐聚一堂,活动围绕当前热门的MaaS平台展开深入讨论,共谋AI大模型的应用与发展。 长沙九云信息科技有限公司董事长高宏祥发表致辞,高度赞赏华为作为中国科技领军企业的担当精神,特别提到其自主创新的鸿蒙系统、昇腾AI等突破性成果。他希望与会开发者把握AI时代机遇,依托华为云等开放平台,共同探索智能教育、行业大模型等创新应用,推动AI生态高质量发展。 华为云DTSE技术专家分享了华为云在AI大模型和数字化转型的成功实践和技术积累,介绍了如何使用ModelArts Studio一站式大模型开发平台完成模型的训推与部署,结合平台提供的模型API、MCP、应用模板快速构建应用,实现行业应用的高效落地,并与企业开发者们深度探讨了平台底层能力。 华为云DTSE高级工程师在活动中,带领大家在华为开发者空间中体验了《基于DeepSeek和Dify构建心理咨询师应用》的案例,此案例使用Dify对接华为云MaaS平台,成功连接到基于昇腾训练的DeepSeek大模型,实现了心理咨询师应用的功能。这个案例的实操,让开发者了解到华为开发者空间为开发者提供的高效、稳定的开发环境,同时华为云MaaS平台作为Dify内置模型供应商,对接更加便捷。 华为云战略合作伙伴——金蝶软件的院校高级顾问杨名先生分享了“智联云途:华为云携手金蝶云苍穹探索智能时代新路径”主题演讲。金蝶云苍穹ERP深度融合华为云AI平台,通过技术共生、场景共创、生态共享,正在重塑企业数字化转型的路径。从底层架构的自主可控,到行业场景的深度渗透,再到开发者生态的繁荣,双方不仅为企业提供 “开箱即用” 的智能解决方案,更通过持续的技术创新与模式探索,引领智能时代的产业变革。这种 “云+端+AI”的协同模式,将成为推动中国企业数智化升级的核心引擎。 华为云伙伴——网久软件联合创始人&COO周建军先生分享了“基于华为云部署开源组件的方法”主题演讲,Websoft9 多应用托管与运维平台可以通过华为云商店一键购买并创建ECS实例,自动完成部署。支持多应用托管、可视化运维及资源扩展,10分钟内即可上线。 在集中讨论环节中,与会企业围绕MaaS平台、Agent开发技术、AI人才培养等展开深度交流。大家一致认为,MaaS平台通过提供预训练模型和低代码工具,可显著降低企业AI应用开发门槛;2025年被视为Agent技术商业化落地的关键元年,各行业都在积极探索智能体在业务流程优化、客户服务等场景的应用价值;而针对AI人才培养问题,与会代表建议通过校企合作建立实训基地,并开发体系化培训课程,重点培养既懂AI技术又熟悉行业应用的复合型人才,以支撑企业智能化转型需求。 华为云高级技术专家毛定宇为九云科教集团的产品总监周毅和运维部经理黄蓉,授予华为云开发者组织HCDG长沙站旗帜。这对于中部地区的开发人员来说是一个重要里程碑时刻,再次感谢长沙HCDG核心组成员们对于本次活动的辛勤付出和认真负责,相信长沙HCDG会在以后举办出更多有价值有意义的精彩活动、赋能越来越多的开发者。 HCDG(Huawei Cloud Developer Group 华为云开发者社区组织),是基于城市圈和技术圈,由开发者核心组自发开展的开放、创新、多元的社区技术交流组织。致力于帮助开发者学习提升、互动交流、挖掘合作,推动技术应用与本地产业结合、数智化转型和开发者文化发展。迄今为止,越来越多的社区和组织开始广泛的与HCDG进行密切的合作与往来,相信在今后的日子里,HCDG会以更加崭新的面貌出现在开发者视野中,我们期待越来越多优秀的开发者、创业者、运营人、产品人、老师、学生等加入到HCDG,让HCDG茁壮成长、遍地开花、节节高!
-
各位亲爱的版主们,大家好!经过大家一个月的努力角逐,7月外部版主激励评比结果已出炉,数据公示如下,请查看!(在新标签页打开图片可查看清晰大图/见附件)·外部版主激励规则:点击了解更多转正礼/基础任务/额外任务(在线时长15小时+,主题帖15+,回帖30+,技术长文5+/原创技术干货1+,合集1+,有效回复问题求助帖10+,话题互动1+,完成这4项指标可获对应价值的代金券/实物礼品)请完成任务获得激励的版主,点击填写激励发放意愿统计问卷反馈截止时间:2025年8月17日,以便小编进行相应的激励发放。注:在线时长数据达标后,才会再去考察达标版主的三项任务完成情况;主题数+回帖数达标后,才会再去考察达标版主的技术长文数量情况。
-
友友们因为华为 USG 系列防火墙不支持传统意义上的堆叠(Stacking)技术,但咱们可以通过其他技术方案来替代一下,去实现高可用性和扩展性一、堆叠技术的定义与 USG 的局限性堆叠技术的核心特性:堆叠(如华为交换机的 iStack/CSS)是将多台物理设备虚拟化为一个逻辑设备,实现统一管理、跨设备链路聚合、冗余备份。其核心优势是简化网络拓扑、提升扩展性和可靠性。USG 设备的定位:USG 系列作为专业防火墙,设计上更注重安全功能的深度整合(如 IPS、VPN、反病毒等),而非网络层的扩展能力。其架构更倾向于单设备高性能或双机热备,而非多设备物理聚合。硬件限制:USG 设备(如 USG6000 系列)的主控板、交换网板等硬件设计未预留堆叠专用接口或协议支持,无法通过线缆直接连接多台设备形成堆叠系统。 二、USG 实现高可用性的替代方案尽管咱USG不支持堆叠,USG 提供了以下技术方案实现可靠性和扩展性:1. 双机热备(HRP)原理:两台 USG 设备组成主备集群,通过心跳线(如专用接口或业务接口)同步配置和会话状态。主设备故障时,备设备自动接管业务,实现毫秒级切换应用的场景:适用于园区网出口、数据中心边界等需要高可靠防护的场景。配置示例: hrp enable // 启用HRPhrp interface GigabitEthernet0/0/3 remote 192.168.1.1 // 指定心跳接口hrp track interface GigabitEthernet0/0/1 // 监测上行链路状态2. 虚拟系统(VSYS)原理:在单台 USG 设备上划分多个逻辑防火墙(虚拟系统),每个 VSYS 独立配置策略、路由和资源,实现多租户隔离或业务分区优势:硬件资源共享,降低成本。逻辑隔离提升安全性,适用于云计算中心、大型企业多部门场景。配置示例: vsys name finance // 创建虚拟系统assign interface GigabitEthernet0/0/1 // 分配接口3. VRRP 与负载分担VRRP(虚拟路由冗余协议):多台 USG 设备通过 VRRP 共享虚拟 IP 地址,实现网关冗余。流量根据优先级分配到主设备,故障时自动切换负载分担:结合 OSPF/BGP 路由协议,通过调整路由 Cost 值或等价路由,使多台 USG 设备同时分担流量,提升整体吞吐量三、USG替换方案和堆叠技术的对比一下下特性堆叠(交换机)USG 高可用性方案管理方式单台逻辑设备,统一配置多台独立设备或虚拟系统,需分别管理链路聚合跨设备 Eth-Trunk,带宽叠加单设备链路聚合,无跨设备能力配置同步自动同步,无需手动干预HRP 需手动配置同步策略适用场景核心层 / 汇聚层网络扩展安全防护、多业务隔离 四、注意哦USG6000 系列的限制:低端型号(如 USG6300)仅支持基本双机热备,高端型号(如 USG6650、USG12000)支持更复杂的 VRRP+VSYS 组合虚拟系统间通信需通过根系统中转,可能增加延迟。替代方案的选择建议:若需物理扩展(如端口数量、带宽),可选择华为 NE 系列路由器或 S 系列交换机堆叠。若需安全功能整合,USG 的双机热备 + VSYS 组合已能满足多数场景需求。总结一下下华为 USG 系列防火墙不支持传统堆叠技术,但其通过双机热备(HRP)、虚拟系统(VSYS)和VRRP 负载分担等方案,实现了高可用性、多租户隔离和流量分担。这些技术更贴合防火墙的安全功能定位,适用于需要深度防护的网络场景。若需物理扩展能力,建议结合华为交换机堆叠方案(如 S12700+CSS)构建混合网络架构。
-
1.背景说明随着越来越多的企业选择多云环境,如何有效地管理不同类型的云成为云管平台的必备能力:不同厂商的云使用方式不一样,企业IT人员需要熟悉每一种云的使用方法,学习成本随着云的数量增多而增加,多云管理平台要致力于屏蔽各种云的差异。不同厂商的云接口不一样,多云管理平台需要逐一对接每种云的接口,这实际上是一种确定性的重复劳动,如果多云管理平台每种云都以自有人力去实现,则需要消耗大量人力和时间,多云管理平台应支持通过合作伙伴来扩展多云对接的能力。不同厂商的云模型也有差异,多云管理平台需要适配多种模型,提供统一的监控视图,便于企业IT人员从单一视图就能监控所有云的运行情况。2.特性介绍ManageOne基于同一云服务接入规范,实现一朵云管理 2.1 云联邦华为云云联邦华为云通过联邦认证,把华为云Stack和华为公有云结成一个联邦体系,ManageOne的VDC用户既能访问华为云Stack,也能访问华为公有云,可以集成华为公有云基础服务、数据库服务、容器服务、大数据服务、EI服务(无需每个服务API进行对接),支持如下功能:统一权限管理、统一服务目录、统一组织管理、统一服务流程、统一配额、统一计量、统一资源中心、统一租户资源监控监控 2.2 云联邦HCS企业早期建设HCS资源池的时候,由于规划等原因,建设了多朵HCS;在使用高阶服务之后,希望统一建设高阶服务资源池,如大数据资源池集中建设(以大数据举例,其他高阶服务类似),发挥大数据规模效应的优势,不再分散建设,其他资源池要使用大数据时,统一到大数据资源池申请使用。常规做法是多云合一,使用工程方案,把多朵云合成一朵云,但是多云合一比较复杂,不同的HCS版本均需要ManageOne、云服务适配,工作量比较大;云联邦HCS可以低成本的方式实现跨HCS的资源共享。云联邦HCS支持跨HCS资源共享,VDC用户可以通过云联邦方式使用另一个HCS的云服务资源,以低成本的方式实现跨HCS的资源共享,支持统一服务目录、统一组织管理、统一服务流程、统一配额、统一计量、统一资源中心、统一租户资源监控。 2.3 异构纳管ManageOne提供多云适配框架,按照十统一接入规范,适配插件N2One开发三方云服务在ManageOne上的前台页面和适配程序后台,并调用第三方系统的API实现ManageOne统一运营运维管理三方云服务能力。
-
GaussDB 兼容 Activiti 5.14 需要从数据库兼容性配置、Activiti 配置调整、SQL 语法适配等方面入手,核心是让 Activiti 5.14 的数据库操作(表结构初始化、CRUD、事务等)能在 GaussDB 上正常运行。 一、前提:确认 GaussDB 的兼容性模式Activiti 5.14 原生支持 PostgreSQL、MySQL 等主流数据库,而 GaussDB(尤其是 GaussDB 100/200)通常兼容 PostgreSQL 协议和语法。建议把GaussDB 配置为PostgreSQL 兼容模式(默认可能已开启,可以去通过show server_version;确认兼容的 PostgreSQL 版本),为 Activiti 提供基础兼容性。 二、核心配置步骤1. 调整 Activiti 5.14 的数据库连接配置Activiti 通过activiti.cfg.xml(或 Spring 配置)指定数据库连接信息,需修改为 GaussDB 的连接参数: 替换 JDBC 驱动:使用 GaussDB 的 JDBC 驱动(如com.huawei.gauss200.jdbc.Driver,需根据 GaussDB 版本下载对应驱动包,放入项目依赖)。修改连接串:按 GaussDB 的 JDBC 格式配置(参考之前的连接串配置)。指定数据库类型:告知 Activiti 使用 PostgreSQL 的适配策略(因 GaussDB 兼容 PostgreSQL)。 修改一下activiti.cfg.xml文件 <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <!-- 数据库连接配置 --> <property name="jdbcUrl" value="jdbc:gaussdb://192.168.1.100:8000/activiti_db?currentSchema=activiti" /> <property name="jdbcDriver" value="com.huawei.gauss200.jdbc.Driver" /> <property name="jdbcUsername" value="username" /> <property name="jdbcPassword" value="password" /> <!-- 数据库类型:指定为postgresql(GaussDB兼容PostgreSQL) --> <property name="databaseType" value="postgresql" /> <!-- 初始化策略:自动创建表结构(首次运行时) --> <property name="databaseSchemaUpdate" value="true" /> <!-- 其他配置(如事务、连接池等) --> <property name="transactionManager" ref="transactionManager" /></bean> 2. 适配 Activiti 的表结构初始化语句Activiti 5.14 启动时会自动创建一系列表(如ACT_RE_PROCDEF、ACT_RU_EXECUTION等)自增主键:Activiti 对 PostgreSQL 使用SERIAL类型作为自增主键,GaussDB 兼容SERIAL(本质是integer+ 自增序列),通常无需修改;若出现问题,可替换为BIGSERIAL(对应bigint)。字符集与排序规则:GaussDB 默认字符集可能为UTF8,需确保与 Activiti 表的字符集一致,可在建表时指定ENCODING 'UTF8'。约束与索引:GaussDB 对某些约束(如外键、唯一索引)的语法可能略有差异,若初始化失败,需提取 Activiti 的建表脚本(可从activiti-engine-x.x.x.jar的org/activiti/db/create目录中找到postgresql脚本),手动修改后在 GaussDB 中执行。 比如:调整后的建表语句(我以 ACT_RE_DEPLOYMENT 为例): CREATE TABLE ACT_RE_DEPLOYMENT ( ID_ VARCHAR(64) NOT NULL, NAME_ VARCHAR(255), DEPLOY_TIME_ TIMESTAMP, PRIMARY KEY (ID_)) WITH (ORIENTATION = ROW, COMPRESSION = NO); -- GaussDB的表存储参数 3. 处理 SQL 语法与函数差异Activiti 5.14 的内部 SQL 操作可能依赖 PostgreSQL 的特定函数(如日期函数、字符串处理函数),若 GaussDB 存在兼容差异,需针对性修改: 日期函数:例如 PostgreSQL 的NOW()在 GaussDB 中可直接使用(兼容);若涉及DATE_PART等函数,GaussDB 通常也支持,无需修改。字符串函数:如SUBSTRING、CONCAT等函数在 GaussDB 中与 PostgreSQL 兼容,一般无需调整。分页语法:Activiti 使用LIMIT ? OFFSET ?进行分页,GaussDB 完全支持该语法,无需修改。 若出现特定 SQL 报错,可通过以下方式解决: 开启 Activiti 的 SQL 日志(<property name="jpaHandleTransaction" value="true" /> + 日志级别DEBUG),定位报错 SQL。自定义 Activiti 的SqlSession,替换兼容 GaussDB 的 SQL 语句(需继承org.activiti.engine.impl.db.DbSqlSession并重写对应方法)。4. 事务与连接池适配事务隔离级别:GaussDB 支持常见的事务隔离级别(如READ COMMITTED),与 Activiti 默认要求一致,无需额外配置。连接池配置:若使用 Druid、Hikari 等连接池,需确保连接池参数适配 GaussDB(如maxPoolSize、idleTimeout),避免连接超时或资源耗尽。 比如(Druid 连接池配置): <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="url" value="jdbc:gaussdb://192.168.1.100:8000/activiti_db" /> <property name="driverClassName" value="com.huawei.gauss200.jdbc.Driver" /> <property name="username" value="username" /> <property name="password" value="password" /> <property name="maxActive" value="20" /> <property name="minIdle" value="5" /> <property name="validationQuery" value="SELECT 1" /> <!-- GaussDB支持的验证语句 --></bean> 三、测试和验证一下表结构初始化:启动 Activiti 引擎,检查是否成功创建所有表(共 23 张左右,前缀为ACT_)。流程部署:部署一个简单的 BPMN 流程,验证ACT_RE_PROCDEF、ACT_GE_BYTEARRAY等表是否正确插入数据。流程运行:启动流程实例,检查ACT_RU_EXECUTION、ACT_RU_TASK等运行时表是否正常记录数据,任务完成后是否正确更新到历史表(ACT_HI_*)。异常场景:模拟流程中断、并发操作,验证事务回滚和数据一致性是否正常。 四、常见的问题和一些简单的解决方法推荐问题 1:如果表创建失败,提示 “不支持的类型 SERIAL”解决:将建表语句中的SERIAL替换为BIGINT+ 手动创建序列(如CREATE SEQUENCE ACT_GE_PROPERTY_SEQ START WITH 1 INCREMENT BY 1),并在插入时使用nextval('序列名')。问题 2:如果SQL 报错 “函数 xxx 不存在”解决:确认 GaussDB 是否支持该函数,若不支持,修改 Activiti 的 SQL 脚本,替换为 GaussDB 兼容的函数(如用SUBSTR替代SUBSTRING,视具体情况而定)。问题 3:如果连接超时或频繁断开解决:调整 GaussDB 的idle_in_transaction_session_timeout参数,或在连接池配置中增加validationQuery定期验证连接。 总结一下下GaussDB 兼容 Activiti 5.14 的核心是利用其 PostgreSQL 兼容性,通过调整连接配置、适配表结构和 SQL 语法,确保 Activiti 的数据库操作在 GaussDB 上正常执行。实际操作中需结合具体报错信息逐步调试,重点关注表初始化、SQL 函数和事务处理三个环节。
-
1 .背景说明第三方系统调用HCS北向API,需要通过域名方式调用您可以参考本帖获取需要的账号、IP等信息 2.使用方法A、获取网关地址、端口号及域名1)获取网关IP:获取环境LLD(从华为Stack安装部署工具中导出的环境详情,联系华为工程师获取,如果存在多个region,则应有多个LLD导出表。)打开主region的LLD表,选择“2.1 工具生成的IP参数”页签,找到“AGW-LB-Float-IP”节点的规划值,即为API Gateway的IP。如下图,AGW-LB-Float-IP的值为160.133.4.130。选择“1.2基本参数”页签,找到“external_global_domain_name”节点的规划值。如下图,external_global_domain_name的值为manageone.cus.com。选择“1.2基本参数”页签,找到“region0_id”节点的规划值。如下图,region0_id的值为dg-dg-1。打开需要调用接口的系统的hosts文件(Windows路径为C:\Windows\System32\drivers\etc\hosts,linux路径为/etc/hosts),在其中添加如下内容。{AGW-LB-Float-IP} iam-apigateway-proxy.{external_global_domain_name}{AGW-LB-Float-IP} sc.{external_global_domain_name}{AGW-LB-Float-IP} oc.{region0_id}.{external_global_domain_name} #6.5.X版本为oc.{external_global_domain_name}{AGW-LB-Float-IP} vpc.{region0_id}.{external_global_domain_name}{AGW-LB-Float-IP} ecs.{region0_id}.{external_global_domain_name{AGW-LB-Float-IP} ims.{region0_id}.{external_global_domain_name}{AGW-LB-Float-IP} evs.{region0_id}.{external_global_domain_name}{AGW-LB-Float-IP} ccs.{region0_id}.{external_global_domain_name}我们上面获取到了AGW-LB-Float-IP的值为160.133.4.130,external_global_domain_name的值为manageone.cus.com,region0_id的值为dg-dg-1。将相应的值填入上面的模板中,得到hosts如下:160.133.4.130 iam-apigateway-proxy.manageone.cus.com160.133.4.130 sc.manageone.cus.com160.133.4.130 oc.dg-dg-1.manageone.cus.com #6.5.X版本为oc.manageone.cus.com160.133.4.130 vpc.dg-dg-1.manageone.cus.com160.133.4.130 ecs.dg-dg-1.manageone.cus.com160.133.4.130 ims.dg-dg-1.manageone.cus.com160.133.4.130 evs.dg-dg-1.manageone.cus.com160.133.4.130 ccs.dg-dg-1.manageone.cus.com(可选)如果存在从region,则需要打开从region的LLD文件,重复步骤2~5。配置好的hosts示例如下:160.133.5.170 vpc.xa-xa-1.manageone.cus.com160.133.5.170 ecs.xa-xa-1.manageone.cus.com160.133.5.170 ims.xa-xa-1.manageone.cus.com160.133.5.170 evs.xa-xa-1.manageone.cus.com160.133.5.170 ccs.xa-xa-1.manageone.cus.com(注:MangeOne仅部署在主region上,从region不包含ManageOne,配置的域名前缀无需再包含"iam-apigateway-proxy"、“sc”、"oc"。)B、网络打通要求如果现网中,第三方系统与华为云Stack 系统中间有防火墙隔离,需要做防火墙策略,则网络打通要求如下: 访问IP 被访问IP 被访问端口 访问诉求 备注 第三方系统 API Gateway浮动IP 443 单向,第三方系统-->API Gateway浮动IP 防火墙策略放通后,如果要确认是否成功,可通过telnet命令进行测试,如下(此处以80端口为例,请根据实际环境修改):C、获取对接账号进行正式对接前,需要获取对接账户,请联系华为现场工程师,获取一个ManageOne运营侧租户管理员(即一级VDC管理员)账号,且该租户的配额是不限的。获取到账号后,还需要获得该租户管理员所属租户的名称,以及该租户下一个project的Id或者名称,方法如下:使用租户管理员账号登录ManageOne运营侧(ManageOne运营侧的访问地址请联系现场华为工程师获取)点击右上角的用户图标,切换到“个人设置”页面,如下:8.3.1及以上版本,参考此链接创建用户:cid:link_0D、获取对接所需的SSL证书通常情况,调试接口可通过配置curl或postman忽略ssl证书验证,无需证书。在正式对接场景下需要配置SSL证书,获取证书的方法请参考此链接:cid:link_1由于不通编程语言、不同http客户端配置证书的方法均不相同,相关配置方法需用户自行查找,本文不再介绍。 附:服务、域名,文档关系说明注意:北向接口的域名与ManageOne页面使用的域名不相同,严禁使用“auth.xxx.xxx.xxx”等非标准方案的域名进行接口调用,非标方案无法确保升级兼容。更多云服务的域名请参考服务对应的API文档服务类型使用域名(样例)接口调用示例(样例)对应接口文档(以8.0.0接口文档为例)弹性云服务器(ECS)ecs.sa-fb-1.demo.comhttps://ecs.sa-fb-1.demo.com/v2/{tenant_id}/servers弹性云服务器(ECS) 8.x API参考(for 华为云Stack 8.x)裸金属服务(BMS)bms.sa-fb-1.demo.comhttps://bms.sa-fb-1.demo.com/v1/{project_id}/baremetalservers裸金属服务器(BMS) 8.x API参考(for 华为云Stack 8.x)镜像服务(IMS)ims.sa-fb-1.demo.comhttps://ims.sa-fb-1.demo.com/v2/images镜像服务(IMS) 8.x API参考(for 华为云Stack 8.x)弹性伸缩服务(AS)as.sa-fb-1.demo.comhttps://as.sa-fb-1.demo.com/autoscaling-api/v1/{tenant_id}/scaling_configuration弹性伸缩(AS) 8.x API参考(for 华为云Stack 8.x)云磁盘(EVS)evs.sa-fb-1.demo.comhttps://evs.sa-fb-1.demo.com/v2/{tenant_id}/volumes云硬盘(EVS) 8.x API参考 (for 华为云Stack 8.x)虚拟私有云(VPC)vpc.sa-fb-1.demo.comhttps://vpc.sa-fb-1.demo.com/v2.0/networks虚拟私有云(VPC) 8.x API参考(for 华为云Stack 8.x)弹性IP(EIP)eip.sa-fb-1.demo.comhttps://eip.sa-fb-1.demo.com/v2.0/floatingips弹性IP(EIP) 8.x API参考(for 华为云Stack 8.x)弹性负载均衡(ELB)vpc.sa-fb-1.demo.comhttps://vpc.sa-fb-1.demo.com/v2.0/lbaas/loadbalancers弹性负载均衡(ELB) 8.x API参考(for 华为云Stack 8.x)网络ACl(虚拟防火墙、VFW)acl.sa-fb-1.demo.comhttps://acl.sa-fb-1.demo.com/v2.0/fwaas/firewall_policies网络ACL(Network ACL) 8.x API参考(for 华为云Stack 8.x)身份认证服务(IAM)iam-apigateway-proxy.demo.comhttps://iam-apigateway-proxy.demo.com/v3/auth/tokensManageOne 8.x OTenantSecurity服务API参考运营管理服务(ManageOne运营面)sc.demo.comhttps://sc.demo.com/rest/vdc/v3.0/usersManageOne 8.x 运营面API参考云配置服务(CCS)ccs.sa-fb-1.demo.comhttps://ccs.sa-fb-1.demo.com/v1.0/resource-tags华为云Stack 8.x API接口参考-->公共组件-->CCS
-
Oracle 和 GaussDB 中的 VARCHAR2 类型在定义、存储机制和功能上存在显著差异 1. 长度定义与单位Oracle支持显式指定单位:BYTE(字节)或 CHAR(字符),例如 VARCHAR2(100 BYTE) 或 VARCHAR2(100 CHAR)。多字节字符集(如 UTF-8)下,CHAR 单位按字符数计算存储空间(例如 VARCHAR2(10 CHAR) 可存储 10 个中文字符)。最大长度:标准模式:4000 字节(受行大小限制)扩展模式(12c+):32767 字节(需开启参数 max_string_size=EXTENDED)。GaussDB仅支持 BYTE 单位:定义如 VARCHAR2(n) 时,n 固定为字节长度(例如 VARCHAR2(100) 表示 100 字节)。不支持 CHAR 单位,多字节字符需手动计算字节占用(如 UTF-8 中文字符需预留 3-4 字节)。 2. 最大容量限制Oracle受 MAX_STRING_SIZE 参数控制:STANDARD 模式:4000 字节EXTENDED 模式:32767 字节(实际受数据库块大小限制)。GaussDB固定最大长度:10 MB(10485760 字节),远大于 Oracle 的扩展模式上限。 3. 存储机制与校验Oracle严格校验输入长度:插入超过定义长度的数据直接报错(除非显式截断)。存储变长数据,仅占用实际字节空间(无填充)。GaussDB长度定义仅为建议值:实际插入时不校验字节长度是否超限(例如定义 VARCHAR2(5) 仍可插入 'tooooo_long',仅警告不报错)。超长数据自动截断至定义长度(如 'too long'::VARCHAR2(5) 存储为 'too l')。 4. 空字符串的处理Oracle空字符串 '' 自动转换为 NULL,即 VARCHAR2 字段不允许存储空字符串。GaussDB在 A 兼容模式下行为与 Oracle 一致(空字符串转为 NULL)。其他模式下支持存储空字符串(非 NULL)。 5. 多字节字符集支持Oracle通过 CHAR 单位规避字符集影响:例如 VARCHAR2(10 CHAR) 在 UTF-8 下可存储 10 个中文(约 30–40 字节)。GaussDB仅按字节计算长度:若使用 UTF-8 字符集,VARCHAR2(10) 仅能存储约 3 个中文字符(每个汉字占 3–4 字节),需预留更大空间。 6. 别名和兼容性OracleVARCHAR2 是主力字符串类型,VARCHAR 仅为兼容标准 SQL 的别名(实际行为一致)。GaussDBVARCHAR2 是 VARCHAR 的别名,两者功能完全相同(例如 VARCHAR2(10) 等价于 VARCHAR(10))。 对比总结表一下下特性OracleGaussDB长度单位支持 BYTE 或 CHAR仅支持 BYTE最大长度4000 字节(标准) / 32767 字节(扩展)10 MB(10485760 字节)超长数据处理直接报错自动截断(不报错)空字符串视为 NULLA 兼容模式下视为 NULL多字节支持按字符定义(CHAR 单位)需手动计算字节占用类型本质独立类型VARCHAR 的别名 迁移建议长度单位转换:若 Oracle 使用 CHAR 单位,迁移到 GaussDB 时需按字符集重新计算字节长度(如 UTF-8 中文需 原长度 × 3)。空值处理:在 GaussDB 中启用 A 兼容模式(sql_compatibility='A')以保持与 Oracle 的空字符串行为一致。超长数据:依赖应用层校验长度,避免依赖数据库自动截断导致数据丢失。大文本存储:超过 10 MB 的数据需改用 TEXT 或 CLOB 类型。
-
1 背景介绍第三方系统对接华为云Stack时,需要对接实现的功能不同,需要使用的账号角色也不同,获取token时,也需要指定权限范围,才能正确的调用接口。这里给出几种常见权限的token,方便开发者对号入座,使用正确的token调用接口。2 用户角色介绍首先,我们介绍一下ManageOne运营面的几类用户角色,ManageOne运营面默认提供运营管理员、VDC管理员、VDC业务员、VDC只读管理员四类角色,同时还支持自定义角色,不同的角色拥有的权限不同,如下表所示:角色权限权限解读运营管理员具有运营管理类的所有权限。具备资源池接入、租户管理、产品管理、审批流程管理等权限,不具备申请使用资源的权限VDC管理员具有所属VDC及下级VDC的管理权限,以及对所有资源具有管理权限。具备管理VDC内部project、用户、产品、审批流程以及子级VDC的权限,同时具备申请、使用资源的权限VDC业务员VDC业务员在其关联的项目内,对所有资源具有管理权限。仅具备申请、使用资源的权限,不具备管理用户、project的权限VDC只读管理员VDC只读管理员对本VDC及其下级VDC中资源、用户、项目、自运维等具有查看权限。对VDC、project、用户、资源、产品等具备查看权限,无修改、删除、创建权限自定义角色在自定义时为该角色赋予相应的操作权限。自定义角色权限集为VDC管理员权限集的子集3 权限各异的token这里主要给出两种权限的token的获取方法,如下表所示:token类别权限范围适用的对接场景具有云服务管理员权限的token具备一级VDC、资源池管理权限和云服务管理权限,支持创建规格,不能申请云资源第三方系统对接华为云Stack时,需要自定义规格时使用该token具有VDC管理员权限的token(常见场景)内部project、用户、产品、审批流程以及子级VDC的权限,具备资源申请、使用权限,不具备创建规格权限第三方系统对接华为云Stack时,需要管理project,用户,并在project中申请、使用资源时使用3.1 具有云服务管理员权限的token适用场景:第三方云管对接华为云Stack时,需要支持在第三方云管上创建规格,此时需要获取管理员权限的token;该token也可用于创建一级VDC,一级VDC管理员调用准备:1、获得运营管理员账号密码.2、正式调用接口前,您需要获取对应的IP、IAM对外域名,请参考:cid:link_0调用步骤:1、获得scope权限范围为domain的运营管理员token,运营管理员的domain为固定值,mo_bss_admin,示例如下:请求URL:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体:{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "mo_bss_admin" }, "name": "XXXXXX", "password": "XXXXXX" } } }, "scope": { "domain": { "name": "mo_bss_admin" } } }}返回的token在响应头中,示例如下:HTTP/1.1 201 CreatedDate: Wed, 12 Feb 2020 07:14:47 GMTContent-Type: application/json; charset=utf-8Transfer-Encoding: chunkedConnection: keep-aliveX-Subject-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==X-IAM-Trace-Id: df659e8ff4feecf1adfffe72f7335d40ETag: W/"259-Qgmz1aPq7XYjfweWaVCVmseNMls"X-Request-Id: df659e8ff4feecf1adfffe72f7335d40Server: api-gatewayX-Subject-Token的值即为我们所需要的token使用curl调用接口示例如下:curl -X POST -d '{"auth":{"identity":{"methods":["password"],"password":{"user":{"domain":{"name":"mo_bss_admin"},"name":"xxxxx","password":"xxxxx"}}},"scope":{"domain":{"name":"mo_bss_admin"}}}}' -k -i -H "Content-Type: application/json" https://{IAM对外访问域名}/v3/auth/tokens2、使用上一步中获取的token,查询运营管理员管理的默认Project,示例如下:请求URL:https://{IAM对外访问域名}/v3/auth/projects请求方法:GET请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8X-Auth-Token:MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA== 请求体:无响应体:{ "projects": [ { "id": "a2a6e4500b614249afdc0d463971de91", "name": "STD_test-region-1_mo_bss_project", "domain_id": "c386760daaad424ca00ef0044d14eca5", "description": "", "enabled": true, "parent_id": "c386760daaad424ca00ef0044d14eca5", "is_domain": false, "links": { "self": "None/v3/projects/a2a6e4500b614249afdc0d463971de91" } } ], "links": { "next": null, "self": "None/v3/auth/projects", "previous": null }}这样,我们就拿到了运营管理员的project,STD_test-region-1_mo_bss_project注意:如果查询到多个项目,优先使用项目名称后缀为mo_bss_project的项目3、使用运营管理员账号密码,domain name和project name,重新获得token,示例如下:1、获得scope权限范围为domain的运营管理员token,运营管理员的domain为固定值,mo_bss_admin,示例如下:请求URL:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体(请注意scope部分的变化):{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "mo_bss_admin" }, "name": "XXXXX", "password": "XXXXXX" } } }, "scope": { "project": { "domain": { "name": "mo_bss_admin" }, "name": "STD_test-region-1_mo_bss_project" } } }}返回的token在响应头中,示例如下:HTTP/1.1 201 CreatedDate: Wed, 12 Feb 2020 07:14:47 GMTContent-Type: application/json; charset=utf-8Transfer-Encoding: chunkedConnection: keep-aliveX-Subject-Token: MIASQCwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6XCVSDASAX-IAM-Trace-Id: df659e8ff4feecf1adfffe72f7335d40ETag: W/"259-Qgmz1aPq7XYjfweWaVCVmseNMls"X-Request-Id: df659e8ff4feecf1adfffe72f7335d40Server: api-gateway此处获得的token即可用于调用云服务接口创建规格(【POST】/v2.1/{project_id}/flavors,project_id即为第2步中查询到的project的Id),注意,创建规格时,需要指定规格的可见范围为公用,否则其他租户无法使用该规格,即设置:"os-flavor-access:is_public": true3.2 具有VDC管理员权限的token适用场景:第三方云管对接华为云Stack时,需要调用准备:1、正式调用接口前,您需要获取对应的IP、IAM对外访问域名,请参考:cid:link_02、获得VDC管理员账号密码.3、获取到账号后,还需要获得该租户管理员所属租户的名称,以及该租户下一个project的Id或者名称,方法如下:· 使用租户管理员账号登录ManageOne运营侧(ManageOne运营侧的访问地址请联系现场华为工程师获取)· 点击右上角的用户图标,切换到“个人设置”页面,如下:可以看到,租户名称为xssvdc,我们选择的project为xssvdc,下面我们来获取token调用示例:请求URL:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体:{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "用户所属的租户名称" }, "name": "用户名", "password": "密码" } } }, "scope": { "project": { "domain": { "name": "用户所属的租户名称" }, "name": "用户关联的项目名称" } } }}返回的token在响应头中,示例如下:HTTP/1.1 201 CreatedDate: Wed, 12 Feb 2020 07:14:47 GMTContent-Type: application/json; charset=utf-8Transfer-Encoding: chunkedConnection: keep-aliveX-Subject-Token: MIAIIIQSDSwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesU3FGESDVSDMASWQX-IAM-Trace-Id: df659e8ff4feecf1adfffe72f7335d40ETag: W/"259-Qgmz1aPq7XYjfweWaVCVmseNMls"X-Request-Id: df659e8ff4feecf1adfffe72f7335d40Server: api-gateway这里我们就获得了VDC管理员在指定domain,project内的权限,可以用这个token去创建子级VDC、project、用户,也可以在指定的project内创建、操作资源。说明:如果获取token时,仅指定了domain,这个token可以用于创建子级VDC、project、用户,但不能创建、操作具体资源,因为所有的资源都分配在指定的project下。例如下面的请求体示例,获取的token就不能用于创建、操作资源:{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "用户所属的租户名称" }, "name": "用户名", "password": "密码" } } }, "scope": { "domain": { "name": "用户所属的租户名称" } } }}
-
1、场景说明ManageOne运营面支持记录租户操作日志,使得用户可以了解本人或他人的操作信息,便于定位问题和排除故障等。为方便第三方审计系统获取ManageOne运营面租户日志(租户申请资源,创建用户等操作相关的日志),ManageOne开放了租户查询日志接口,该接口支持查询所有租户操作日志,也支持查询指定租户操作日志。同时ManageOne运维面支持通过Syslog协议将运维面系统日志和操作日志上报给第三方平台。2、使用流程 1. 接口列表&准备工作1.1 获取租户操作日志准备工作查询租户操作日志涉及到的接口如下:序号URL说明1【POST】/v3/auth/tokens获取token2【GET】/rest/octrace/v3.0/traces查询租户操作日志,该接口未做分权分域,所有用户均可调用该接口,且能够查询所有的租户操作日志正式调用接口前,需要获取接口文档,账号,域名和对接账号,请参考:https://bbs.huaweicloud.com/forum/thread-41849-1-1.html1.2 获取运维面日志准备工作运维面操作日志采用Syslog协议上报,需要的准备工作如下:需要获取Syslog服务端的IP地址和端口,如,192.168.1.2, 8895;且需要确保ManageOne运维面后台节点可访问Syslog服务端,网络访问要求如下:节点名称被访问节点访问要求ManageOne-Service01Syslog服务端指定端口ManageOne-Service01可访问Syslog服务端指定端口ManageOne-Service02Syslog服务端指定端口ManageOne-Service02可访问Syslog服务端指定端口ManageOne-Deploy01Syslog服务端指定端口ManageOne-Deploy01可访问Syslog服务端指定端口ManageOne-Deploy02Syslog服务端指定端口ManageOne-Deploy02可访问Syslog服务端指定端口2. 对接步骤2.1获取租户操作日志步骤1 获取token获得scope权限范围为domain的VDC管理员token,VDC管理员的domain为VDC名称,示例如下:请求URL:https://{运营侧北向接口对外域名}/v3/auth/tokens请求方法:POST请求头示例:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体示例:{ "auth": { "identity": { "methods": ["password"], "password": { "user": { "name": "XXXXXX", "password": "XXXXXX", "domain": { "name": "sfy_vdc" } } } }, "scope": { "domain": { "name": "sfy_vdc" } } }} 返回的token在响应头中,示例如下:Content-Type: application/json; charset=utf-8Connection: keep-aliveX-Subject-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==X-Subject-Token的值即为我们所需要的token步骤2 查询租户操作日志请求URL:https://{运营侧北向接口对外域名}/rest/octrace/v3.0/traces?limit=3&start=0&language=zh-cn (8.0以上版本需使用运维侧北向接口对外域名)说明:URL路径参数支持操作日志过滤,具体过滤条件和参数详细信息及说明参考《ManageOne 运营面API参考 .docx》(8.0以上版本为《ManageOne 运维面API参考 .docx》)文档中的“查询操作日志接口”章节。请求方法:GET请求头示例:Content-Type: application/json Accept: application/json X-Auth-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==请求体:无响应体示例:{ "total": 102619, "traces": [ { "user_name": "vdc_admin", "trace_message": "修改服务成功。", "source_ip": "160.133.65.30", "domain_id": "b6ff69d6703748bebd7b3075cf97059b", "domain_name": "op_service", "trace_type": "ConsoleAction", "project_id": "system", "httpCode": 200, "invoke_trace_id": "7eb520a8f82bff147eb520a8f82bff14", "trace_id": "806f2152-2c24-4b02-9405-9a31c42cb2cd", "trace_result": "successed", "trace_name": "修改服务", "resource_type": "Product", "end_time": 1594024617416, "trace_rating": "normal", "api_version": "v2", "start_time": "1594024617416", "service_type": "MOProduct", "user_id": "32cb5a3c9de44bcf9696db98c1db828a", "resource_id": "e02dd4ad12aa46e997bbce03ab00dc43", "resource_name": "安装Nginx服务", "record_time": 1594024617431, "request_id": "RouteID-movappservice-15-0-200706163657-451712" }, { "user_name": "vdc_admin", "trace_message": "修改服务成功。", "source_ip": "160.133.65.30", "domain_id": "b6ff69d6703748bebd7b3075cf97059b", "domain_name": "op_service", "trace_type": "ConsoleAction", "project_id": "system", "httpCode": 200, "invoke_trace_id": "7eb520a8f82bff147eb520a8f82bff14", "trace_id": "59907ba2-2852-4ce1-bb54-8d0cba1d302f", "trace_result": "successed", "trace_name": "修改服务", "resource_type": "Product", "end_time": 1594024617225, "trace_rating": "normal", "api_version": "v2", "start_time": "1594024617225", "service_type": "MOProduct", "user_id": "32cb5a3c9de44bcf9696db98c1db828a", "resource_id": "c5b9faa868364c1fb94a117abfd39e56", "resource_name": "安装Kafka集群", "record_time": 1594024617235, "request_id": "RouteID-movappservice-15-0-200706163657-451707" }, { "user_name": "vdc_admin", "trace_message": "修改服务成功。", "source_ip": "160.133.65.30", "domain_id": "b6ff69d6703748bebd7b3075cf97059b", "domain_name": "op_service", "trace_type": "ConsoleAction", "project_id": "system", "httpCode": 200, "invoke_trace_id": "7eb520a8f82bff147eb520a8f82bff14", "trace_id": "d97c05a4-8991-4a16-8d63-312d84e16c4b", "trace_result": "successed", "trace_name": "修改服务", "resource_type": "Product", "end_time": 1594024616965, "trace_rating": "normal", "api_version": "v2", "start_time": "1594024616965", "service_type": "MOProduct", "user_id": "32cb5a3c9de44bcf9696db98c1db828a", "resource_id": "48b119eb0feb459698ffa16a545e2527", "resource_name": "安装Kafka服务", "record_time": 1594024616974, "request_id": "RouteID-movappservice-15-0-200706163656-451702" } ]}2.2 配置运维面日志上报首先参考2.2章节,获取到第三方Syslog服务端的IP和端口信息,并确认网络可达,然后执行以下操作(适用于6.5.1和8.0.0版本)步骤1 使用管理员账户,登录ManageOne运维面步骤2 依次点击"系统管理"-->"日志管理"-->"日志转发设置",进入日志转发配置页面,如下图所示:步骤3 点击“创建”,进入日志转发服务器配置页面,如下图所示:填写正确的IP地址和端口号,根据需要配置协议类型和日志级别,完成配置后,点击“确定”即可。接下来,可以在运维面上执行一些操作,然后与Syslog服务端确认是否能正常收到日志,如果不能收到,建议现排查网络是否可达。
-
1、场景说明ManageOne分为运营侧/运维侧支持对接到第三方的SSO Server,通过第三方认证中心完成登录授权。 2、使用流程约束条件:8.0.3及以下版本,运维侧作为SSO客户端对接第三方SSO Server后,只有运维侧本身支持单点登录功能,已经与运维侧单点登录集成的系统不支持直接登录,比如ServiceOM、CPS、eSight等。8.2.1及以上版本,ManageOne运维侧与IAM集成,实现统一登录,运维侧不再单独作为客户端与第三方SSO Server对接。用户只需将运营面与第三方SSO Server对接,运维面可同步实现对接。 demo地址:运营面:cid:link_0 功能扩展:1、运营侧作为SSO Client使用原生页面登录:cid:link_1
-
1、场景说明ManageOne是基于CAS 2.0协议提供SSO Server服务,第三方系统对接后可实现单点登录功能。 2、使用流程CAS基本原理图: CAS Client与受信任的第三方系统部署在一起,以Filter的方式保护Web应用系统的资源,过滤从浏览器发送的每一个web请求。 约束条件:ManageOne 6.5.0 及以上版本 步骤如下:1.用户访问受信系统被CAS Client拦截。2.重定向到CAS Server登录页面。3.用户认证过程,如果用户提供了正确的认证信息,CAS Server随机产生一个不可伪造的(Service Ticket)ST,并缓存以待将来验证。4.CAS Server携带ST重定向到受信客户端系统,并为客户端浏览器设置一个(Ticket Granted Cookie)TGC。5.CAS Client提取ST到CAS Server验证。6.CAS Client得到合法用户信息,完成单点登录。 demo地址(需登录):cid:link_0
-
1、场景说明ManageOne运维侧已经支持直接对接多种常见协议的短信网关,比如CMPP2_x,CMPP3_x,SMGP,SGIP,SMPP3_4,SMPP3_3等。但部分客户有专属的短信网关,需要通过特定的接口进行对接,比如可能是restful/webservice/soap等协议,因此可以通过开发适配程序,先以ManageOne支持的协议接收短信内容,然后再调用第三方的接口发送短信。 2、使用流程详细开发指导参考附件,demo选择smpp3_4协议接收告警,打印短信内容,开发者拿到短信内容后再根据项目实际情况调用第三方短信接口。 主要步骤如下:1、引用smpp组件,封装了具体通信相关的功能添加Maven引用 <dependency> <groupId>org.jsmpp</groupId> <artifactId>jsmpp</artifactId> <version>2.3.10</version></dependency>2、启动smpp服务端SMPPServerSessionListener sessionListener = new SMPPServerSessionListener(port);LOGGER.info("Start SMPP server... sessionListenerPort -> {}", port);while (true) { SMPPServerSession serverSession = sessionListener.accept(); LOGGER.info("Accepting connection for session:{}", serverSession.getSessionId()); serverSession.setMessageReceiverListener(this); Future<Boolean> bindResult = execService.submit(new WaitBindTask(serverSession, systemId, password)); try { boolean bound = bindResult.get(60000, TimeUnit.MILLISECONDS); if (bound) { LOGGER.info("The session is now in state:{}", serverSession.getSessionState()); } } catch (InterruptedException e) { LOGGER.error("Interrupted WaitBind task:{}", e.getMessage()); } catch (ExecutionException e) { LOGGER.error("Exception on execute WaitBind task:{}", e.getMessage()); } catch (TimeoutException e) { LOGGER.error("Timeout on bind result:{}", e.getMessage()); }}3、重写消息接收事件,获取短信内容public MessageId onAcceptSubmitSm(SubmitSm submitSm, SMPPServerSession smppServerSession) throws ProcessRequestException { MessageId messageId = messageIDGenerator.newMessageId(); String sourceAddr = submitSm.getSourceAddr(); String destAddress = submitSm.getDestAddress(); String shortMessage = new String(submitSm.getShortMessage(), StandardCharsets.UTF_16); LOGGER.info("Receiving submit_sm, sourceAddr:{},destAddress:{},shortMessage:'{}', and return message id:{}", sourceAddr,destAddress,shortMessage,messageId.getValue()); return messageId;}4、页面配置对接协议,验证消息发送内容5、示例程序(Java):cid:link_0
-
1、场景说明ManageOne运营侧支持与第三方审批流程系统对接,实现用户提交云资源申请订单后,审批人在第三方审批系统进行流程审批,审批完成后,ManageOne进行云资源的在线发放。开发者可通过定制的方式对接常见的流程审批系统,如ESOP、K2、HPSM等。 客户价值:1、方便客户对业务审批流程进行统一管理。2、保持审批人一致的审批体验,不同业务的审批在一个审批系统中完成,不需要登录不同的系统进行审批,不需要适应不同审批风格的系统,减少学习成本。 2、使用流程约束条件:ManageOne 6.5.0 及以上版本通过开发定制适配程序实现,主要实现功能如下图所示: demo地址:cid:link_0 FAQ:1、配置对接页面连通性测试失败--a、检查网络是否开通--b、检查适配程序接口是否被ManageOne调用,打印返回报文检查格式是否正确2、流程管理页面没有显示第三方外部流程--a、检查查询流程定义接口是否被ManageOne调用--b、检查返回报文格式,注意approval_user_id不能重复,格式为数字类型的字符串,如“10001”。
-
为了更便捷的实现CentOS系统迁移到国产openEuler系统 ,具备批量化原地升级能力,提升迁移能效,搭建x2openEuler平台是一个不错的方案。而大家知道吗,x2openEuler工具的HTTPS默认端口号很特殊哦:它居然是——18082核心依据:安装过程中的默认配置在部署x2openEuler工具时,启动Web服务会提示设置HTTPS端口,默认值为18082。用户可直接按回车键采用此默认值,无需手动修改。# 安装过程中提示的默认端口配置Please enter HTTPS port(default: 18082):The HTTPS port 18082 is valid. Set the HTTPS port to 18082 (y/n default: y)实际访问地址通过浏览器访问x2openEuler的Web管理界面时,需使用 https://<服务器IP>:18082 的格式(例如 https://192.168.31.221:18082/x2openEuler/#/login),进一步验证18082是HTTPS服务的默认端口。 443:443是标准HTTPS服务的默认端口(如网站加密访问),但x2openEuler作为独立迁移工具,未使用此通用端口。 8443:8443常用于其他管理控制台(如Kubernetes Dashboard),未被x2openEuler采用。 18080:18080是x2openEuler中Gunicorn应用服务的默认端口(用于内部通信),而非面向用户的HTTPS端口。 注意哦自定义可能性:虽然18082是默认值,但用户可在安装过程中手动指定其他端口(如改为8443或更高端口),需根据实际配置确认。防火墙规则:若无法访问x2openEuler界面,需检查防火墙是否放行18082端口:sudo firewall-cmd --zone=public --add-port=18082/tcp --permanentsudo firewall-cmd --reload此操作确保端口可被外部访问。
上滑加载中
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签