-
在做2020年华为云AI实战营里面的项目时,按照流程下载数据集报错,怎么解决
-
以下是我在RK3588 盒子上编译出来的so,其依赖的多个其它so,例如libcurl.so.4 libssl.so.3,但是自己应用本身已经有编译好的libcurl与libssl,其版本与其存在差异,我自己的libcurl是:curl-8.2.1, openssl是:openssl-1.1.1k与build_aarch64.sh的依赖版本不一致。我的问题是可以更换为我已经编好的so吗?要怎么修改?
-
一、网络基础设施的困境与云上架构的价值传统物理网络的隔离与调度痛点传统物理 IDC 机房里,运维人员需要手动划分子网、配置复杂的物理交换机 VLAN,才能实现支付核心环境与普通测试环境的严格隔离。一旦大促期间需要跨机房资源调配,底层网络架构的变更极其缓慢,还极易引发广播风暴等网络不稳定问题。这不是某个团队的问题,是物理网络的天花板。网线插在交换机上,VLAN 写在配置里,改一次就要全网联动。越大的集群,越不敢动。软件定义网络(SDN)的价值重塑云计算网络服务的出现,彻底重塑了网络边界。它允许我们在公共云基础设施上,通过软件逻辑划分出绝对隔离、完全自定义的专属虚拟网络。如果说计算服务(ECS/BMS)是系统的肌肉与骨骼,那么网络云服务(VPC/ELB/NAT)就是负责输送流量的神经网络。它们不仅是保证数据高效流转的通道,更是构建跨可用区(AZ)金融级容灾架构的最坚实底座。从「改配置要全网联动」到「点几下控制台就生效」,这个跨越,是云网络最大的价值。二、典型的网络云服务详解典型的网络云服务包括 VPC(虚拟私有云)、ELB(弹性负载均衡)、NAT 网关以及 VPN(虚拟专用网络)。本周重点梳理这四大核心组件。1. VPC(虚拟私有云)及其核心组件定义与底层逻辑VPC 是用户在云上申请的隔离的、私密的虚拟网络环境。从底层视角来看,它基于隧道网络技术在物理网络之上构建了逻辑隔离层。在一个 VPC 内,我们可以自由定义网段划分(子网)、路由策略(路由表),以及针对实例级别的访问控制(安全组)和子网级别的访问控制(网络 ACL)。简单说,VPC 就是在公共云的物理网络里,用软件「画」出一个只属于你的局域网。别人看不见,也摸不着。核心优势租户级绝对隔离与高可用。 VPC 之间逻辑上完全隔离,实现了租户间的网络多租户安全,天然防范外部网络攻击。同时,VPC 内提供的虚拟 IP(VIP)机制,能完美支持支付数据库主备节点(如基于 Keepalived 的高可用 Redis/MySQL 集群)的秒级漂移接管。极度灵活的网络连通性。 同区域内,可通过「对等连接(VPC Peering)」打通不同 VPC 的私网通信;线上线下混合云场景,也可通过「二层连接网关」实现 IP 不变的业务平滑上云。架构局限与痛点然而,原生的 VPC 对等连接在跨区域(Region)或面对极其庞大的微服务网状网络时,配置与管理会变得异常复杂,通常需要引入更高级的云连接网关(CC)或企业路由器(ER)进行集中化路由管理。常见应用场景云端专属网络隔离(如生产/测试环境严格物理隔离)、Web 应用网站托管、跨业务线的云上 VPC 互连。2. ELB(弹性负载均衡)定义与底层逻辑ELB 是应对高并发流量的「分发中枢」。它通过监听器(支持 TCP/UDP/HTTP/HTTPS)接收外部请求,并根据预设的流量分配策略,将访问流量均匀分发到后端的多个 ECS 服务器组上。想象一个银行大厅,客户排一条长队只开一个窗口,效率极低。ELB 就是那个引导员,把客户分流到所有空闲窗口。核心优势消除单点故障与跨 AZ 容灾。 对于支付网关这类对可用性要求极高的服务,ELB 支持跨可用区部署。结合健康检查机制,当某个节点或 AZ 发生故障时,ELB 能自动屏蔽异常 ECS,将流量无缝倒换至健康节点,从而避免支付链路中断。潮汐流量的弹性削峰。 配合 AS(弹性伸缩服务),ELB 会在流量洪峰时自动将新扩容的 ECS 纳管进后端服务器组,在流量低谷时自动剔除,是应对电商大促等脉冲式流量洪峰的核心抗压利器。架构局限与痛点在处理有状态请求时,如果「会话保持」策略配置不当,可能导致同一个用户的连续支付请求被打到不同的后端节点,从而引发会话状态不一致的问题。常见应用场景高访问量业务流量分发、潮汐业务弹性分发流量、实现业务跨可用区容灾部署。3. NAT 网关与 VPN,边界通信与地址转换定义与底层逻辑NAT 网关。 负责 VPC 内的计算实例与 Internet 之间的网络地址转换,分为 SNAT(源地址转换,用于共享上网)和 DNAT(目的地址转换,用于向公网提供服务)。VPN(虚拟专用网络)。 利用 Internet 建立一条基于 IPSec 协议加密的通信隧道,将企业本地数据中心与云上 VPC 连通。核心优势极致的安全与成本节约(NAT)。 利用 SNAT,支付核心集群的数百台 ECS 无需暴露在公网上(即无需为每台实例购买弹性公网 IP),就能共享同一个 EIP 访问外网(如调用微信/支付宝外部接口),在显著节省成本的同时,也隐藏了内部网络拓扑,提升了安全性。低成本的混合云架构(VPN)。 相比拉一根昂贵的物理专线,VPN 是实现「线下数据中心到云上」即开即用、无缝扩展的最高性价比方案,且基于 IKE/IPsec 协议族保证了交互数据的机密性与完整性。架构局限与痛点VPN 隧道底层依然依赖公共 Internet 链路。在公网拥堵时段可能会出现延迟抖动,对于要求极低延迟(如 10ms 以内)的专线同步场景(例如云边协同中的 CloudPond 与中心云实时同步),VPN 的稳定性无法保证。这时候,云专线(DC)才是正解。4. 补充组件,云连接、云专线与企业路由器初稿聚焦四大核心组件,但华为云网络服务还有几个关键拼图值得了解。云连接(CC)。 跨区域 VPC 互通的集中化管理方案。当业务部署在多个 Region,VPC Peering 的 N² 连接关系会爆炸,CC 用一个中心化的云连接实例统一管理跨 Region 路由,大幅降低运维复杂度。云专线(DC)。 物理层面的专线接入,带宽稳定、延迟极低,是金融核心系统、数据库同步等对网络质量有严苛要求的场景的首选。成本高,但可靠性也高。企业路由器(ER)。 华为云自研的集中式路由管理服务,支持跨 VPC、跨 Region、混合云的统一路由策略配置,是大规模组网的「交通指挥中心」。三、存储基础设施的困境与云上存储的价值传统存储的扩展与运维痛点传统企业数据中心里,存储是真正的「重资产」。买一台 SAN 存储阵列,几十万起步;扩容要提前采购硬盘、停机维护、重新划分 LUN。数据备份靠人工脚本,容灾靠「两地三中心」的物理复制,建设周期以月计,成本以百万计。更头疼的是,不同业务对存储的需求差异极大。数据库要低延迟高 IOPS,视频转码要大吞吐,日志归档要低成本大容量。一套存储打天下,要么性能不够,要么成本浪费。云存储的价值重塑云存储服务的出现,把存储从「买设备」变成了「选服务」。块存储、文件存储、对象存储三种形态,分别对应三种截然不同的访问模式和性能特征。按需选择,弹性扩展,用多少付多少。如果说网络云服务是云架构的神经网络,那存储云服务就是云架构的记忆中枢。数据在这里诞生、流转、沉淀、归档,贯穿业务的全生命周期。四、典型的存储云服务详解华为云存储服务的三大核心组件是 EVS(云硬盘)、OBS(对象存储服务)和 SFS(弹性文件服务)。它们分别对应块存储、对象存储和文件存储三种范式。1. EVS(云硬盘),块存储的绝对主力定义与底层逻辑EVS(Elastic Volume Service)为云服务器(ECS)和裸金属服务器(BMS)提供持久化的块存储服务。底层采用分布式存储架构,数据通过三副本或 EC 纠删码技术冗余保存,单盘数据可靠性高达 99.9999999%(9 个 9)。块存储的逻辑是,它存的是原始二进制数据,不能直接放文件,必须先格式化成文件系统才能用。就像买了一块新硬盘,得先分区格式化才能存东西。核心优势规格丰富,性能分级。 提供极速型 SSD、超高 IO、通用型 SSD V2、高 IO 等多种规格。极速型 SSD 单盘最高可达 256,000 IOPS 和 4,000 MiB/s 吞吐量,满足数据库等极致性能需求。通用型 SSD 则是性价比之选。弹性扩展。 单盘最大可扩容到 32 TiB,最小 1 GiB 步长,支持在线扩容不停机。安全可靠。 三副本保存 + AES-256 数据加密,应用无感知。还提供回收站功能,误删数据 7 天内可恢复。快照备份。 支持手动和自动快照,可基于快照创建新云硬盘,是数据保护和回滚的利器。架构局限与痛点EVS 只能挂载到同一可用区(AZ)的 ECS 上,跨 AZ 不可用。这意味着如果 ECS 发生 AZ 级故障,云硬盘也会跟着不可访问。要实现跨 AZ 容灾,必须搭配存储容灾服务(SDRS)做数据同步复制。常见应用场景数据库数据盘(要求低延迟高 IOPS)、操作系统启动盘、高性能计算、企业核心业务数据存储。2. OBS(对象存储服务),海量数据的终极容器定义与底层逻辑OBS(Object Storage Service)是华为云提供的海量、安全、高可靠、低成本的对象存储服务。它以「桶(Bucket)」和「对象(Object)」为基本存储单位,采用扁平化结构,没有传统文件系统的目录层级。对象存储的底层逻辑和块存储完全不同。它存的是完整的对象(一个文件 + 元数据),通过 HTTP/HTTPS 协议的 RESTful API 访问,不需要挂载到服务器上。你可以把它理解为一个无限容量、永远在线的网盘。核心优势极致的可靠性。 采用多重冗余架构和纠删码技术,数据持久性高达 99.9999999999%(12 个 9),服务可用性达 99.995%。这个数字意味着,存 100 亿个对象,一年内丢失一个的概率都极低。EB 级容量,按需扩展。 不需要预估容量,存多少算多少,从几 GB 到 EB 级无缝扩展。智能分层,成本最优。 提供标准存储、低频访问存储、归档存储三种存储类别。热数据放标准层,温数据降级到低频层,冷数据归档,自动把存储成本压到最低。安全合规。 从账户到对象的细粒度权限控制,传输加密 + 存储加密双重防护,日志审计全链路可追溯。架构局限与痛点OBS 不支持文件系统的随机修改,只能整体覆盖或追加。对于需要频繁原地修改小范围数据的场景(如数据库日志文件),OBS 并不合适,应该用 EVS 或 SFS。常见应用场景大数据分析的数据湖底座、静态网站托管、在线视频点播、数据备份与归档、智能视频监控、基因测序。3. SFS(弹性文件服务),共享存储的优雅方案定义与底层逻辑SFS(Scalable File Service)提供按需扩展的高性能网络共享文件存储(NAS)。它支持标准的 NFS 协议,允许多个 ECS、容器(CCE)同时挂载并共享访问同一个文件系统。如果说 EVS 是「独享硬盘」,OBS 是「无限网盘」,那 SFS 就是「共享文件夹」。多个服务器能同时读写同一份文件,这在很多企业应用场景里是刚需。核心优势多实例共享访问。 同一 VPC 内的多台 ECS 可以同时挂载同一个 SFS 文件系统,天然支持分布式应用的共享数据需求。弹性扩展,按需付费。 容量随数据量自动扩展,不需要预先分配固定大小,用多少付多少。标准协议兼容。 支持 NFS(Linux)和 CIFS(Windows)协议,应用无需改造即可接入。架构局限与痛点SFS 的性能受网络带宽影响,对于极高 IOPS 的数据库场景,SFS 的延迟和吞吐不如 EVS。另外,SFS 只能在 VPC 内部访问,不支持跨 VPC 或公网直接访问。常见应用场景企业办公自动化(OA)、内容管理系统(CMS)、容器共享存储、高性能计算(HPC)的共享工作目录、媒体处理。4. 三大存储服务对比对比维度EVS(云硬盘)OBS(对象存储)SFS(弹性文件服务)存储类型块存储对象存储文件存储存储逻辑原始二进制数据,需格式化对象(文件+元数据),扁平化文件和文件夹的层次结构访问方式挂载到单台 ECS/BMSRESTful API / SDK / 控制台NFS/CIFS 网络挂载共享性通常一对一一对多(互联网级别)一对多(VPC 内共享)性能特征极高 IOPS、极低延迟大吞吐、EB 级容量高性能共享、带宽优先典型场景数据库、系统盘、核心业务数据湖、备份归档、视频OA、CMS、容器存储、HPC五、存储容灾与备份,数据安全的最后防线三大存储服务解决了「怎么存」的问题,但「怎么保」同样关键。华为云提供了两个重要的数据保护服务。1. SDRS(存储容灾服务)SDRS(Storage Disaster Recovery Service)基于 HyperMetro 复制技术,为 ECS 和 EVS 提供跨 AZ 的实时数据同步。生产站点的数据被同步复制到容灾可用区,RPO 达到秒级。当生产 AZ 发生故障时,SDRS 支持一键式容灾切换,将业务快速切换到容灾站点。还支持在线容灾演练,无需停机即可验证容灾切换的有效性。2. CBR(云备份恢复)CBR(Cloud Backup and Recovery)为云服务器和云硬盘提供周期性备份。与 SDRS 的实时同步不同,CBR 是定期快照备份,适合应对误删、数据损坏等逻辑错误。两地三中心架构(SDRS + CBR)这是华为云推荐的经典容灾方案。SDRS 负责同区域跨 AZ 的实时同步(同城灾备),CBR 负责跨 Region 的周期性备份(异地灾备)。生产中心、同城灾备中心、异地灾备中心共同组成两地三中心架构,是金融级容灾的标准配置。六、网络与存储的协同,云架构的完整拼图网络和存储从来不是孤立存在的。在真实的云架构中,它们紧密协同。EVS 必须与 ECS 同 AZ。 网络的可用区边界,直接决定了块存储的可用性边界。跨 AZ 容灾需要 SDRS 打通存储层,也需要 ELB 打通网络层,两者缺一不可。OBS 通过 VPC 端点加速访问。 大数据分析场景中,计算集群(ECS/CCE)在 VPC 内通过内网端点高速访问 OBS,避免公网带宽瓶颈,网络配置直接影响存储吞吐。SFS 的共享依赖 VPC 网络。 多台 ECS 挂载同一个 SFS,前提是它们在同一个 VPC 内。VPC 的子网划分和安全组策略,决定了哪些实例能访问共享存储。VPN/DC 连通混合云存储。 线下 IDC 的数据要备份到云上 OBS,或者线下应用要访问云上 SFS,都需要 VPN 或云专线打通网络通道。网络质量直接决定存储同步的 RPO。网络是通道,存储是落点。通道不稳,数据就到不了;落点不牢,数据就存不住。只有两者都可靠,云架构才能真正扛住生产级的压力。七、总结这次学习梳理了华为云网络云服务和存储云服务的核心组件。网络方面,VPC 是隔离的底座,ELB 是分发的中枢,NAT 网关是边界的翻译官,VPN 是混合云的加密隧道,云连接和企业路由器是大规模组网的指挥中心。它们共同构成了云上流量从接入、分发、隔离到跨域互通的完整链路。存储方面,EVS 是高性能的独享硬盘,OBS 是无限容量的数据容器,SFS 是优雅的共享文件夹。三者各有所长,按场景选择才是正道。SDRS 和 CBR 则为数据安全提供了跨 AZ 容灾和跨 Region 备份的双重保障。我觉得,理解云服务最有效的方式不是逐个背诵产品手册,而是回到真实场景里问自己,我的业务需要什么样的网络通道,需要什么样的存储落点,需要什么样的容灾保障。从需求出发,服务自然就选对了。
-
问题现象:使用ObsClient类调用getObject获取对象数据流时未返回文件头验证思路:将返回的数据流保存到临时目录后保存成功,但无法打开,提示:不是一个有效的PDF文件或文件损坏;验证数据流的前四位,不是%PDF。附demo代码及其日志打印记录
-
OBS BrowserJS SDK中createSignedUrlSync生成的URL,可以直接访问吗?我直接访问生成的url报错APINOTSupported
-
我开通了华为云OBS服务 为什么自动创建的用户组admin组显示高风险呀,有跟鸿蒙应用开发对接的详细官方文档吗
-
案例介绍CodeArts Doer是基于智能生成、智能问答两大核心能力构建起一套全方位、多层次的智能开发体系。在智能生成方面,它能够依据开发者输入的需求描述,准确且高效地生成高质量代码;智能问答功能则如同开发者身边的专属技术顾问。案例内容一、概述1. 案例介绍华为开发者空间,是为全球开发者打造的专属开发者空间,致力于为每位开发者提供一台云主机、一套开发工具和云上存储空间,汇聚昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等华为各项根技术的开发工具资源,并提供配套案例指导开发者从开发编码到应用调测,基于华为根技术生态高效便捷的知识学习、技术体验、应用创新。CodeArts Doer是基于智能生成、智能问答两大核心能力构建起一套全方位、多层次的智能开发体系。在智能生成方面,它能够依据开发者输入的需求描述,准确且高效地生成高质量代码;智能问答功能则如同开发者身边的专属技术顾问。本案例基于华为开发者空间+CodeArts Doer,实现SeedTab标签页,实用,强大的新建起始页,定制属于你的浏览器。2. 适用对象企业个人开发者高校学生3. 案例时间本案例总时长预计60分钟。4. 案例流程说明:用户使用VS Code远程连接云开发环境并安装CodeArts Doer代码智能体;使用CodeArts Doer代码智能体,自动生成商品管理Web应用;浏览器体验Seedtab。5. 资源总览本案例预计花费0元。资源名称规格单价(元)时长CodeArts代码智能体通用体验版免费60分钟华为开发者空间 - 云开发环境(容器)鲲鹏通用计算增强型 kc1 | 2vCPUs | 4G | HCE免费60分钟对象存储服务 (可选)40G1每月二、基础环境与资源准备1. VS Code远程连接云开发环境参考案例《华为开发者空间 - 云开发环境(容器)IDE插件远程连接操作指导》,使用VS Code的Huawei Developer Space 插件,远程连接华为开发者空间云开发环境。2. VS Code安装CodeArts Doer代码智能体点击Extensions图标,搜索CodeArts Doer for Coding,点击Install安装插件:安装完成后,点击CodeArts Doer插件图标,点击HUAWEI ID login:点击Open,打开外部网站:输入华为账号和密码,登录CodeArts Doer代码智能体:CodeArts Doer代码智能体登录成功:首次使用CodeArts Doer代码智能体,会进入开通页面。需要勾选“我已阅读并同意”后,单击“立即开通”,等待套餐开通完成。返回VS Code测试CodeArts Doer代码智能体,输入问题:你好,请介绍自己!3.设置Agent模式点击Agent,再点击设置:点击Auto Approve后面的Not enabled,授权所有操作:点击返回后,即可使用CodeArts Doer代码智能体。三、SeedTab应用实践1. CodeArts Doer生成代码输入以下指令:使用nodejs+h3+vue,构建一个新标签页,要求如下: 1、UI布局合理,界面美观; 2、实现链接挂件的添加; 3、实现搜索框挂件的添加; 4、实现时间挂件的添加; 5、设置中可以修改背景以及使用华为obs进行数据备份; 6、代码可直接运行。点击发送按钮后,CodeArts Doer代码智能体会创建项目文件并生成代码:大约几分钟之后,CodeArts Doer代码智能体帮助我们创建了项目文件,生成了完整的代码并安装了项目依赖代码目录结构:2.项目目录结构和关键代码释义经过不断测试和调试最终会生成你需要的代码,我已经上传到Gitcode,可以通过git下载源码到本地,代码仓库地址:https://gitcode.com/zhepama/seedtabseedtab/ ├── public/ # 静态资源目录 ├── server/ # 后端服务器 │ ├── middlewares/ # 中间件 │ │ ├── auth.js # API 认证中间件 │ │ └── cors.js # CORS 跨域中间件 │ ├── routes/ # 路由 │ │ └── sync.js # 数据同步路由 │ ├── config.js # 配置文件 │ └── index.js # 服务器入口 ├── src/ # 前端源码 │ ├── assets/ # 资源文件 │ ├── components/ # 公共组件 │ ├── composables/ # 组合式函数 │ ├── config/ # 配置文件 │ ├── store/ # 状态管理 │ │ ├── index.ts # Store 管理器 │ │ ├── grid.ts # 网格布局状态 │ │ ├── setting.ts # 设置状态 │ │ ├── storage.ts # 存储工具 │ │ └── backup.ts # 备份工具 │ ├── types/ # TypeScript 类型定义 │ │ ├── grid.ts # 网格相关类型 │ │ └── widget.ts # 组件相关类型 │ ├── utils/ # 工具函数 │ │ ├── widgetRegister.ts # 组件注册器 │ │ ├── backgroundUtils.ts # 背景工具 │ │ └── proxy.ts # 代理工具 │ ├── widgets/ # 小组件目录 │ │ ├── calendar/ # 日历组件 │ │ ├── clock/ # 时钟组件 │ │ ├── link/ # 链接组件 │ │ ├── note/ # 笔记组件 │ │ ├── search/ # 搜索组件 │ │ └── todo/ # 待办事项组件 │ ├── main.ts # 应用入口 │ └── App.vue # 根组件 ├── dist/ # 构建输出目录 ├── package.json # 项目依赖配置 ├── vite.config.ts # Vite 配置 ├── tsconfig.json # TypeScript 配置 └── index.html # HTML 入口文件1. 应用入口 (src/main.ts)async function startApp() { await registerServiceWorker(); // 注册 Service Worker const storeManager = useStoreManager(); await storeManager.initializeStores(); // 初始化所有 Store const app = createApp(App); app.use(ContextMenu); // 注册右键菜单 app.mount('#app'); } 关键步骤:注册 Service Worker 实现离线缓存初始化 Store 管理器,加载所有状态数据创建 Vue 应用实例并挂载2. Store 管理器 (src/store/index.ts)class StoreManager { private static instance: StoreManager | null = null; private stores: StoreModule[] = []; static getInstance(): StoreManager { if (!StoreManager.instance) { StoreManager.instance = new StoreManager(); } return StoreManager.instance; } async initializeStores(): Promise<void> { for (const store of this.stores) { if (store.loadInitialData) { await store.loadInitialData(); // 加载初始数据 } } } } 关键步骤:使用单例模式管理所有 Store统一初始化所有 Store 的初始数据确保数据加载完成后再渲染应用3. 网格布局 Store (src/store/grid.ts)class GridStore implements StoreModule { public items: GridItem[] = []; public reload = ref(false); async getGridItems(): Promise<GridItem[]> { this.items = await storage.getItem('gridItems') || [/* 默认数据 */]; return this.items; } async save(): Promise<void> { await storage.setItem('gridItems', this.items); } async refreshItems(items: GridItem[]) { this.items = items; await this.save(); this.reload.value = true; // 触发重新加载 } } 关键步骤:使用 unstorage 实现数据持久化提供默认的小组件配置(时钟、搜索、链接)通过 reload ref 触发界面更新4. 组件注册器 (src/utils/widgetRegister.ts)class WidgetRegister { private components: Map<string, WidgetConfig> = new Map() register(config: WidgetConfig) { this.components.set(config.type, config) } registerWidgets(widgetModules: Record<string, { widgetConfig: WidgetConfig; }>): WidgetConfig[] { // 按 order 属性排序 const sortedEntries = Object.entries(widgetModules) .filter(([_, module]) => module.widgetConfig && module.widgetConfig.disabled !== true) .sort(([, a], [, b]) => { const orderA = a.widgetConfig.order ?? Infinity const orderB = b.widgetConfig.order ?? Infinity return orderA - orderB }) // 注册排序后的组件 sortedEntries.forEach(([_, module]) => { widgetRegister.register(module.widgetConfig) }) return Array.from(this.components.values()) } createGridItem(type: string, data: any): GridItem { const config = this.getConfig(type) if (!config) throw new Error(`Component type ${type} not found`) return { id: uuidv4(), component: type as any, data: data || {} } } } 关键步骤:使用 Map 存储所有组件配置支持组件排序(order 属性)自动生成 UUID 创建新的 GridItem支持组件禁用控制5. 组件配置类型 (src/types/widget.ts)export interface WidgetConfig { type: string; // 组件类型标识 styles?: Record<string, any>; name: string; // 组件显示名称 w: number; // 宽度(网格单位) h: number; // 高度(网格单位) order?: number; // 排序优先级 view: Component; // 组件视图 disabled?: boolean; // 是否在菜单中隐藏 keepDefaultSize?: boolean; createWidget?: () => Promise<any>; // 创建组件时的回调 settings?: Component[]; // 设置面板组件 widgetContextMenu?: WidgetContextMenuItem[]; // 组件右键菜单 canvasContextMenu?: CanvasContextMenuItem[]; // 画布右键菜单 } 6. 后端服务器 (server/index.js)const app = new H3(); // 全局 CORS 中间件 app.use(corsMiddleware); // API 路由 app.use("/api/sync/upload", uploadHandler); app.use("/api/sync/download", downloadHandler); // 静态文件服务 app.use("/**", (event) => { return serveStatic(event, { indexNames: ["/index.html"], getContents: (id) => readFile(join(distPath, id)), getMeta: async (id) => { const stats = await stat(join(distPath, id)).catch(() => { }); if (stats?.isFile()) { return { size: stats.size, mtime: stats.mtimeMs, }; } }, }); }); serve(app, { port }); 关键步骤:使用 H3 框架构建服务器配置 CORS 跨域支持提供 API 路由和静态文件服务7. 数据同步 (server/routes/sync.js)export const uploadHandler = eventHandler(async (event) => { try { apiTokenAuth(event); // 1. 认证 const body = await readBody(event); const { key, data } = body; await obsOperation('putObject', { Bucket: bucketName, Key: key, Body: JSON.stringify(data), ContentType: 'application/json' }); return { success: true, message: "Upload successful" }; } catch (error) { return { success: false, error: error.message }; } }); export const downloadHandler = eventHandler(async (event) => { try { apiTokenAuth(event); // 1. 认证 const query = getQuery(event); const key = query.key; const result = await obsOperation('getObject', { Bucket: bucketName, Key: key, }); const content = result.InterfaceResult.Content.toString(); const data = JSON.parse(content); return { success: true, message: "Download successful", data }; } catch (error) { return { success: false, error: error.message }; } }); 关键步骤:使用华为云 OBS 进行数据存储API Token 认证机制上传:将数据序列化为 JSON 上传到 OBS下载:从 OBS 下载并反序列化数据3. 运行生成的代码运行代码:打开TERMINAL窗口,进入项目目录下,执行命令:cd seedtab npm install npm run dev:server点击Open in Browser:4. 测试体验SeedTab添加链接:右键点击页面,添加组件->链接组件待办事项:我的便签:日历组件:随机壁纸:更多设置:点击右上角的设置按钮,或者右键->系统设置,可以打开设置页面,在设置页面你可以设置网格和背景5. 备份到华为云的对象存储在项目根目录下创建一个 .env 文件,参考 .env.example 进行配置:cp .env.example .env打开配置文件.env,修改配置参数。配置项说明:变量名必填描述示例APP_ACCESS_TOKEN✅备份密钥,避免他人访问网页后可以备份``OBS_SERVER✅连接OBS的服务地址``OBS_ACCESS_KEY_ID✅OBS访问密钥中的AK。``OBS_SECRET_ACCESS_KEY✅OBS访问密钥中的SK。``OBS_BUCKET✅OBS的bucker``OBS_ACCESS_KEY_ID= OBS_SECRET_ACCESS_KEY= OBS_SERVER= OBS_BUCKET= APP_ACCESS_TOKEN=1234567809 在网页的设置中备份令牌的值配置相同的APP_ACCESS_TOKEN,然后点击,备份和恢复就可以保存你的数据了…如果备份成功会在你的对象存储控制台中看到备份的数据注意:因为SeedTab应用是Agent自动生成的,每次提问设计生成的代码及最后的运行结果均存在出入,开发者可根据自己的需求,调教模型生成自己想要的结果。若想体验与案例一样的结果,请下载源码https://gitcode.com/zhepama/seedtab至本地运行。至此,基于华为开发者空间+CodeArts Doer,实现SeedTab标签页的案例已全部完成。我正在参加【案例共创】【第9期】基于开发者空间-云开发环境(容器)+ CodeArts Doer代码智能体完成应用开发/调试实践cid:link_3
-
新人小白 请问大佬OBS的C SDK里的demo如何运行,我设置了AK SK 还有终端节点 运行demo的时候一直报错create bucket esdk-c-test failed(NameLookupError).create bucket bucket-src failed(NameLookupError).create bucket bucket-target failed(NameLookupError).create bucket bucket-version with option failed(NameLookupError).
-
现在obs已经回调我的接口,但是authorization验签始终都无法通过POST\n\napplication/x-www-form-urlencoded\n\nx-signature-time:1767146573\n/api/test/callback这一段是生成验签的字符串,始终都无法生成跟obs返回的authorization一致。{ "x-signature-time": ["1767146573"], "authorization": ["OBS HPUAEGPBHL82LBFLIGR:bpoga4KzkvTl6GcGnWl9BaegLZgJb0SfjTVFSy050qVzqa="], "content-type": ["application/x-www-form-urlencoded"], "user-agent": ["gentleman/2.0.5"], "content-length": ["0"], "x-scheme": ["https"], "x-forwarded-scheme": ["https"], "x-forwarded-proto": ["https"], "x-forwarded-port": ["443"], "x-forwarded-host": ["text.123.com"], "x-forwarded-for": ["121.45.11.135"], "x-real-ip": ["121.45.11.135"], "x-request-id": ["eed0349b34efa62a6b257754bfa55c3b"], "host": ["text.123.com"]},"request": { "filename": "products/202512/test.jpg", "size": "553838", "mimeType": "null", "user_id": "null", "title": "null", "type": "null", "image_height": "null", "image_width": "null"}
-
一、核心的原理:xlog 追平速度的关键是 “日志生成量”xlog(WAL)追平的本质是 “操作产生的 WAL 日志落盘、备库同步追平主库日志” 的过程,速度完全取决于操作生成的 WAL 日志量,而非表的物理大小(200G):1. Truncate 操作的 xlog 逻辑(更快)操作本质:DDL 操作,直接清空表的所有数据块,标记对应存储空间为 “可复用 / 释放”,不触发行级数据处理;WAL 日志量:仅记录 “截断表” 的元数据(如表 OID、数据块范围),与表大小无关,生成的 WAL 量仅 KB 级别(通常 < 1MB);追平速度:日志刷盘、备库同步几乎瞬间完成(毫秒级),200G 表和 2G 表的 Truncate xlog 追平速度无差别。2. Drop 操作的 xlog 逻辑(稍慢)操作本质:DDL 操作,标记表的元数据(系统表中)为失效,同时删除关联的索引、约束、分区等元数据;物理数据不会立即删除(openGauss 默认延迟清理,由后台 autovacuum 异步处理);WAL 日志量:记录 “表元数据删除 + 关联对象清理” 的日志,比 Truncate 略多(几十 KB 到几 MB),但依然与表大小无关;追平速度:同样是毫秒级完成,仅比 Truncate 慢一点点(比如从 0.1 秒变成 0.5 秒),几乎感知不到。3. 关键误区澄清很多人误以为 “表越大,Drop/Truncate 的 xlog 越多”—— 这是错误的!因为这两个操作是元数据操作,WAL 只记录 “操作本身”,不记录 “数据内容”;而Delete from 表是 DML 操作,每删一行都要记 WAL,200G 表 Delete 会生成数百 GB 的 WAL,追平耗时数小时(和 Drop/Truncate 完全不是一个量级)。二、特殊场景下的差异(影响极小)只有当表满足以下条件时,Drop 的 xlog 追平速度会比 Truncate 稍慢一点(但仍属毫秒级):表有大量关联对象(如 10 + 索引、多个约束、数百个分区):Drop 需要额外记录 “删除索引 / 约束 / 分区元数据” 的 WAL,日志量略增;openGauss 开启 “表回收站”(默认开启):Drop 会把表放入回收站,这一步会多一点 WAL 记录,而 Truncate 不会触发回收站;备库同步策略为 “实时同步”:Drop 的少量额外 WAL 会让备库追平多花几十毫秒,但无实际影响。三、实操对比(200G 大表举例)操作WAL 生成量xlog 追平耗时备注Truncate~500KB<1 秒仅记录元数据,最快Drop~2MB<2 秒需清理关联元数据,稍慢Delete~200-400GB数小时行级记录,极慢(对比用)总结一下下核心结论:Drop 和 Truncate 的 xlog 追平速度差异极小(均为毫秒级),Truncate 略快于 Drop;关键认知:两者的 xlog 生成量都与 200G 表大小无关,仅取决于元数据复杂度,无需担心 “表大导致追平慢”;选型建议:若需保留表结构,选 Truncate;若无需表结构,选 Drop—— 两者的 xlog 追平速度都足够快,无需纠结。
-
问题1问题:使用obs上传图片报错:com.obs.services.exception.ObsException: Error message:Request Error.OBS service Error Message. – ResponseCode: 404, ResponseStatus: Not Foundheaders{date:Thu, 04 Dec 2025 00:52:34 GMT,x-reserved:amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc,content-length:317,connection:keep-alive,content-type:application/xml,}链接:https://bbs.huaweicloud.com/forum/thread-0293200200471808083-1-1.html解答:您遇到的华为云OBS上传图片报错(404 Not Found)且响应头中包含x-reserved:amazon,表明请求可能被错误路由到了AWS S3而非华为云OBS。根本原因是配置了错误的Endpoint(如误用AWS S3地址),或SDK/客户端工具未正确指定华为云OBS的服务地址。解决方案:(1)检查并修正Endpoint:确保使用华为云OBS的Endpoint格式(如https://{bucket-name}.{region}.myhuaweicloud.com),并确认Bucket名称、Region与控制台一致。(2)验证Bucket和权限:确认Bucket存在且AK/SK有上传权限,检查IAM策略或Bucket ACL。(3)排查网络环境:避免代理或本地配置(如误设AWS环境变量)干扰请求,通过抓包或curl测试直接访问OBS地址。(4)检查SDK配置:确保华为云OBS SDK版本兼容,且未误用AWS SDK参数。问题2问题:obs上传文件采用java sdk方式调用,第一次创建桶并上传文件可以成功,后续判断如果桶存在就不去创建了直接上传文档,发现一直提示connection reset 还有什么peer,代码每次都去new obsClient再去调用的链接:https://bbs.huaweicloud.com/forum/thread-0282201507976707119-1-1.html解答:第一次能上传成功,说明你的代码没问题!报connection reset 错误,很可能是你上一次上传成功后,未关闭连接,然后又一次用同一个client重新打开连接,导致报错问题3问题:obs下载链接能生成domain+文件路径吗链接:https://bbs.huaweicloud.com/forum/thread-0282201178265162107-1-1.html解答:华为云OBS可以生成包含域名(domain)和文件路径的下载链接,其生成方式如下:1.通过OBS管理控制台操作路径:登录华为云控制台 → 进入OBS服务 → 选择目标桶 → 在“对象”页面找到文件 → 点击“下载”或“更多→下载为”。链接形式:生成的链接通常包含OBS的默认域名(如https://your-bucket.obs.region.myhuaweicloud.com)和文件在桶内的完整路径(如/path/to/file.txt)。示例:https://your-bucket.obs.region.myhuaweicloud.com/path/to/file.txt?AWSAccessKeyId=xxx&Expires=xxx&Signature=xxx2.通过obsutil命令行工具命令结构:Windows/macOS/Linux生成单个对象链接obsutil sign obs://bucket/key [-e=过期时间] [-config=配置文件]示例:生成文件test.txt的链接obsutil sign obs://your-bucket/path/to/test.txt -e=300输出结果:返回的链接包含域名和文件路径,格式与管理控制台一致。通过API或SDK华为云OBS的API(如GeneratePresignedUrl)和SDK(如Java、Python等)支持生成带域名和路径的临时下载链接,适用于程序化操作。
-
,采用java sdk方式调用,第一次创建桶并上传文件可以成功,后续判断如果桶存在就不去创建了直接上传文档,发现一直提示connection reset 还有什么peer,代码每次都去new obsClient再去调用的
-
obs下载链接能生成domain+文件路径吗?
-
中青报·中青网记者 武欣中 通讯员 张苗 刘晓琳来源:中国青年报(2025-12-10 07版)转载自中国青年报 :https://zqb.cyol.com/pc/content/202512/10/content_419799.html “推理大模型的训练调优与性能加速,助力全栈自主AI”——2025年度中国青年科技创新“揭榜挂帅”擂台赛上,华为抛出一道紧扣技术前沿的赛题。面对这一极具挑战性的课题,高校学子踊跃参赛,经过层层严格筛选,华为最终收到了36份充满创新思维的解决方案。正如华为创始人任正非先生在2025年民营企业座谈会上强调的:“人工智能是未来发展的重要方向,企业应积极布局,加强基础研究与人才培养,以增强中国在全球人工智能领域的竞争力。”参与“揭榜挂帅”擂台赛,是华为践行这一战略的生动写照。大赛也为华为搭建了一个绝佳平台,使其能将产业前沿的迫切需求,转化为青年人才的实战课题。据介绍,华为已连续3年在“揭榜挂帅”擂台赛上发布战略级赛题,华为云开发者支持与运营部部长林华鼎表示,赛场是根技术从“能用”到“好用”的试炼场,此次赛题聚焦推理大模型调优,正是看准了其在推动AI技术普惠化进程中的核心作用。2025年,大语言模型的推理能力和运行效率成为影响AI技术广泛应用的关键要素。华为此次设计的赛题直击产业痛点:如何在确保模型精度不受影响的前提下,大幅提升模型推理性能。这一赛题设计也体现了华为对构建自主AI生态的长远考量:参赛团队需使用华为昇腾AI处理器架构、CANN软件栈与ModelArts开发环境,这不仅考验学生的算法能力,更考验他们对昇腾AI全栈技术的掌握与运用能力。本届“揭榜挂帅”擂台赛,上海交通大学团队提出的“基于昇腾NPU的训推一体加速优化方案”脱颖而出,荣获本次华为赛道擂主。该方案从训练端减负、推理端提效、算子端深挖三个层面同时发力,在NPU上发挥出模型的极致性能。林华鼎对参赛作品给予高度评价:“每秒707tokens的惊人速度,不仅是算法的胜利,更是驱动我们产品性能持续飞跃、引领行业技术推广的强劲新标杆。我们期待将这一突破性成果快速转化为用户体验与技术领先优势。”林华鼎透露,华为还将持续在产品的开发者体验提升上投入,在高校人才培养方面持续耕耘,支持更多青年在自主创新的舞台上绽放光彩。
-
报错信息:com.obs.services.exception.ObsException: Error message:Request Error.OBS service Error Message. -- ResponseCode: 404, ResponseStatus: Not Foundheaders{date:Thu, 04 Dec 2025 00:52:34 GMT,x-reserved:amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc,content-length:317,connection:keep-alive,content-type:application/xml,}
推荐直播
-
华为云码道全新升级,多会话并行与多智能体协作2026/05/08 周五 19:00-21:00
王一男-华为云码道产品专家;张嘉冉-华为云码道工程师;胡琦-华为云HCDE;程诗杰-华为云HCDG
华为云码道4月份版本全新升级,此次直播深度解读4月份产品特性,通过“特性解读+实操演示+实战案例+设计创新”的组合,全方位展现码道在多会话并行与多智能体协作方面的能力,赋能开发者提升效率
回顾中
热门标签