-
完成实操截图实践一:10分钟开发我的个人主页实践二: OBS自动化文件解压实践三:定时拨测场景学习笔记Serverless是什么?- CNCF定义:—种新的云原生计算模型,无需服务器管理而构建和运行应用程序的架构。一个或多个功能的应用上传到平台后执行、扩展和计费.- 信通院定义:以应用为中心,无需关注基础设施的计算模式,FaaS不是其唯—形态。serverless是一整套能力的合集,越来越多的第三方服务演进为全托管的Serverless形态Serverless 函数计算的价值数据来源:IBM 2021调研报告- 36%成本- 34%性能- 33%弹性- 30%效率- 29%人力- 27%简易管理- 28%GTMServerless函数计算适用场景:Web类应用、loT、媒体处理类应用、AI处理应用Serverless典型场景:Web/App/小程序后端、BFF/SSR、事件触发、服务间快速集成、视频转码函数工作流、安全运维函数工作流
-
完成实操截图实践一:10分钟开发我的个人主页实践二: OBS自动化文件解压实践三:定时拨测场景学习笔记:Serverless是什么?CNCF定义:—种新的云原生计算模型,无需服务器管理而构建和运行应用程序的架构。一个或多个功能的应用上传到平台后执行、扩展和计费信通院定义:以应用为中心,无需关注基础设施的计算模式,FaaS不是其唯—形态。serverless是一整套能力的合集,越来越多的第三方服务演进为全托管的Serverless形态Serverless函数计算适用场景Web类应用解放端侧开发,让端开发者更快、更灵活开发各种应用,无需关注后端服务- 小程序后端- web后端- 问答机器人- 前端BFFloT、媒体处理类应用以事件驱动的方式执行服务,按需供给,开发者无需关注业务波峰波谷,节省闲时成本,最终降低运维的成本- 实时图片处理- 实时数据流处理- IoT事件处理- 运维告警处理AI处理应用各行各业智能化深入带来更多的应用开发历景,通常需要集成各类服务快速上线- 视频直播- AI推理- 人脸识别- 车牌识别典型场景一: Web/App/小程序后端场景需求特点:业务变化快,上线周期短函数计算优势:无需管理服务器开发上线快典型场景二: BFF/SSR场景需求特点:BFF/SSR和业务强相关,通常由前端开发,但前端并不擅长服务器的部署、运维函数计算优势:无需管理服务器、前端可使用熟悉的技术栈开发典型场景三:事件触发场景需求特点:业务事件频次不高或波峰波谷明显函数计算优势:按需付费、毫秒级自动弹性典型场景四:服务间快速集成场景需求特点∶1、业务需要串联多个服务,被集成服务提供了API或 SDK2、业务创新需要方案能快速打通试错,并具有一定的扩展性函数计算优势∶多语言开发,事件驱动特性方便对接各类服务按需自动弹性即保证了扩展性又兼顾了成本典型场景五:视频转码函数工作流场景需求特点:多步骤弹性并发处理,步骤耗时长需要容错函数工作流优势:自动弹性满足大并发、状态维护,失败重试保证可靠典型场景六∶安全运维函数工作流场景需求特点:1.灵活编排2.自动化和人工处理相结合函数工作流优势∶编排更灵活,支持深度自定义逻辑通知+回调的方式支持人工介入流程FunctionGraph 2.0:基于华为元戎的新一代函数计算与编排服务,8大特性发布特性1:丰富的函数开发语言及触发方式让设计更灵活特性2∶可视化拖拽式函数流支持编排复杂业务场景特性3∶统一插件支持云上和云下的开发与调试特性4 : Http函数让WEB服务近乎0成本改造,享受Serverless优势能力特性5∶函数支持容器镜像,简化应用Serverless化特性6∶函数支持在运行时动态指定资源,灵活调度节省成本特性7∶百毫秒冷启动时延,单实例多并发,毫秒级弹性特性8 : 1ms粒度按量计费,节省开支Serverless架构优势秒级快速上线毫秒级弹性伸缩,天然高可用免运维函数代码即服务按实际使用毫秒级计费无需为闲置资源付费启动成本低
-
↵客户端client的endpoint配置区域是华南-广州,查找的桶是位于华东-上海,执行GetBucketStorageInfo报错,难道不能跨区域查询吗?有其他方案吗?
-
git上下载了huaweicloud-sdk-c-obs-3.22.5.1,移植release文件夹里的huaweicloud-obs-sdk-c-linux_3.22.5.1时报错这两个库用arm-linux-andriodeabo-gcc编译时一直链接不上,想重新交叉编译源码报错找不到lsecurec,看源码的makefile发现它应该在huaweisecurec没有lib文件夹,下了很多个版本发现这里都没有lib文件夹。但从release的lib找到了这个库文件,照着makefile在路径添加了lib,可以交叉编译了,但移植后还是连接不上那两个库。看build.sh里lsecurec是直接复制过去的,那我要咋得到支持这个交叉编译器的库呢?
-
在用微信小程序进行资源上传时,华为云对象存储的sdk应该使用哪个版本?大概的流程是什么样的?感谢各位大佬解答!
-
因为是前台上传,需要把multipartFile转换为File,在临时文件生成时中间会有数字,所以我自定义了checkpoint为临时文件中数据C:\Users\ADMINI~1\AppData\Local\Temp\4571e809c3505c9ded268ce7788bdf47.uploadFile_record接口返回403,这个uploadId 000001847F9939E3640CF9D9F3766C2E 是之前checkpoint读取的 这个是什么问题Response code: 403; Request ID: 000001847F9D49AD641D6AA64EF2E33D; Request path: https://obs-dev-cockpit.obs.cn-north-4.myhuaweicloud.com/cockpit/cloud/oss/dev/arch/resource//4571e809c3505c9ded268ce7788bdf47/dingding002.zip?uploadId=000001847F9939E3640CF9D9F3766C2E
-
实验已经全部完成了,却还是显示完成度不足还有实验报告一直显示未成功。
-
听说要发点啥才能弹出签订开发者协议的弹窗
-
OBS 是否有提供 全文检索 的能力?对每个对象的自定义元数据是否可以在查询的时候作为条件进行过滤?
-
错误提示:Specified method is not supported., when create a bucket.CreateBucketRequest request = new CreateBucketRequest() { BucketName = "xxx", Location = "xxxxxx", }; CreateBucketResponse response = _obsClient.CreateBucket(request);
-
1.文件上传时,contentLanguage已经通过meta设置为了 zh-CN。且在obs查看文件元数据,可以查看到。2.此时同工obs提供的连接内网访问不行,浏览器打开txt文件乱码3.如果我不通过代码设置contentlanguage,而是直接在obs管理页面操作,设置contenlanguage,然后再访问文件连接,打开的文件不难吗4.以上说的乱码是中文乱码?求助大牛?不知道什么原因导致的。谢谢
-
[互动交流] [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\DevEcoStudioProjects\obstest\node_modules\esdk-obs-安装node.js后,安装SDK_对象存储服务 OBS_Node.js_快速入门_华为云 (huaweicloud.com),但是初始化对象报错,这是缺少什么文件吗,大佬指点[Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\DevEcoStudioProjects\obstest\node_modules\esdk-obs-nodejs\lib' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\DevEcoStudioProjects\obstest\node_modules\esdk-obs-nodejs\lib' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\DevEcoStudioProjects\obstest\node_modules\esdk-obs-nodejs\lib' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\DevEcoStudioProjects\obstest\node_modules\log4js\lib' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\DevEcoStudioProjects\obstest\node_modules\log4js\lib\appenders' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\fs-extra\lib\empty' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\fs-extra\lib\streams' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\fs.realpath' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\fs.realpath' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\glob' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\glob' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\graceful-fs' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\jsonfile' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\klaw\src' [Compile Result] Module not found: Error: Can't resolve 'fs' in 'D:\Huawei\HarmonyOS\js\2.2.0.3\build-tools\ace-loader\node_modules\rimraf' [Compile Result] Module not found: Error: Can't resolve 'net' in 'D:\DevEcoStudioProjects\obstest\node_modules\log4js\lib\appenders' [Compile Result] Compile error occurred. Fix it based on the above message.
-
使用web form表单上传 配置了cors 依然报错
-
2022-10-25 18:29:12 --> Severity: error --> Exception: Argument 1 passed to Obs\ObsClient::Obs\Internal\{closure}() must be an instance of GuzzleHttp\Exception\RequestException, instance of GuzzleHttp\Exception\ConnectException given, called in /dev/third_party/huaweicloud-obs/vendor/guzzlehttp/promises/src/Promise.php on line 204 /dev/third_party/huaweicloud-obs/Obs/Internal/SendRequestTrait.php 640
-
FunctionGraph+OBS+FRS+IVS实现人证核身目录场景设计方案架构图方案设计云服务介绍环境准备开发流程1.客户端开发——上传图片/视频到OBS2.FunctionGraph函数代码开发3.下载OBS对象+Base64编码4.FRS活体检测5.IVS人证核身6.SMN发布结果消息7.客户端开发——SMN之HTTP(S)终端接口开发8.FunctionGraph函数整合实现效果部署测试示例工程一、场景设计客户通过页面上传人物照片、视频到OBS并触发FunctionGraph函数,函数调用FRS人脸识别服务判断是否为真人,如果是真人继续调用IVS人证核身服务校验身份真实性,最后通过SMN将结果消息发布出去。方案架构图![方案架构图]二、方案设计创建FunctionGraph函数,并为该函数配置OBS触发器,上传图片或视频到OBS后触发FunctionGraph函数,函数下载OBS对象并调用FRS进行活体检测,活体检测通过后函数再调用IVS进行人证核身,最后函数通过SMN发布人证核身结果消息。云产品提供服务作用OBS对象操作实现上传/下载 图片/视频FunctionGraph配置OBS触发器实现OBS上传时触发函数FunctionGraph创建Java函数创建Java语言的函数FRS活体检测对图片或视频进行动作/静默活体检测IVS认证核身标准版实现对上传的人脸图片进行身份验证SMN发送HTTP(S)消息实现将结果发送到HTTP(S)终端三、云服务介绍华为云OBS: 对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,使用时无需考虑容量限制,并且提供多种存储类型供选择,满足客户各类业务场景诉求。产品页面华为云FunctionGraph:函数工作流(FunctionGraph)是一项基于事件驱动的函数托管计算服务。通过函数工作流,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。产品页面华为云FRS:人脸识别服务(Face Recognition Service),能够在图像中快速检测人脸、分析人脸关键点信息、获取人脸属性、实现人脸的精确比对和检索。该服务可应用于身份验证、电子考勤、客流分析等场景。产品页面华为云IVS:人证核身服务(Identity Verification Solution)将用户本人与身份证信息关联起来,应用人脸识别与文字识别等技术,对接权威数据库,支持基于二要素(姓名、身份证)认证或三要素(人脸、姓名、身份证)认证,实现对身份真实性的精准核验。产品页面华为云SMN:消息通知服务(Simple Message Notification)为用户提供快速简便、稳定可靠、简化运维、高可扩展、安全可信的消息通知能力。最终用户可以通过HTTP、HTTPS、邮件、短信、触发函数执行、即时通讯工具等方式接收通知信息。华为云用户也可以在应用之间通过消息通知服务实现应用的功能集成,降低系统的复杂性。产品页面四、环境准备| 开发语言:Java| 开发环境:jdk1.8 maven3.6.3| 华为云环境:注册云账号,并完成实名认证五、开发流程| 分为客户端开发和FunctionGraph的Java函数开发。1、客户端开发--上传图片/视频到OBS华为云OBS服务控制台创建桶用来存储人脸图片或视频 如果涉及视频需要压缩上传,需要配置在线解压策略(具体桶中->数据处理>在线解压) 拿到OBS的maven依赖坐标,使用SDK开发上传OBS对象客户端,这里文件传到固定的文件夹下,并使用固定对象名命名,比如face。帮助文档上传对象方法代码参考public void uploadFile(MultipartFile multipartFile){ String endPoint = "https://终端节点"; String ak = "ak"; String sk = "sk"; //1.创建OBS客户端对象 ObsClient obsClient = new ObsClient(ak, sk, endPoint); //2.获取文件输入流 InputStream in = null; try { in = multipartFile.getInputStream(); //3.上传对象,后面根据该对象名下载对象,保持上传下载一致 PutObjectResult putObjectResult = obsClient.putObject("桶名", "对象名", in); System.out.println(putObjectResult); } catch (IOException e) { throw new RuntimeException(e); }finally { if (in!=null){ try { in.close(); } catch (IOException e) { throw new RuntimeException(e); } } } }2、FunctionGraph函数代码开发(1)FunctionGraph函数时序图(2)Java函数环境搭建创建maven项目,导入FunctionGraph提供的Runtime依赖 操作指导创建FunctionGraph Java函数,并配置OBS触发器。 3、下载OBS对象+Base64编码| 终端节点查询 | ak、sk获取从OBS下载对象并进行Base64编码,后面使用该Base64编码结果进行活体检测。导入OBS的Maven依赖。可以从SDK中心查询依赖坐标下载对象+Base64编码示例代码:public static String download() { //1.相关配置数据 String endPoint = "https://终端节点"; String ak = "ak"; String sk = "sk"; //2.创建ObsClient实例 final ObsClient obsClient = new ObsClient(ak, sk, endPoint); //对象名保持和上传对象名一致 ObsObject obsObject = obsClient.getObject("桶名", "对象名"); //3.读取对象内容 ByteArrayOutputStream bos = null; InputStream input = null; String imageStr = null; try { System.out.println("Object content:"); input = obsObject.getObjectContent(); byte[] b = new byte[1024]; bos = new ByteArrayOutputStream(); int len; while ((len = input.read(b)) != -1) { bos.write(b, 0, len); } //4.Base64编码 byte[] data = new byte[bos.size()]; data = bos.toByteArray(); imageStr = new String(Base64.encodeBase64(data)); System.out.println(imageStr); } catch (Exception e) { e.printStackTrace(); } finally { try { bos.close(); } catch (IOException e) { throw new RuntimeException(e); } try { input.close(); } catch (IOException e) { throw new RuntimeException(e); } } return imageStr; }4、FRS活体检测活体检测,判断图片或视频中的人物是否为真人活体。对Base64编码后的结果进行活体检测,图片使用静默活体检测,视频使用动作活体检测。以图片对应的静默活体检测为例,使用SDK开发。开通活体检测服务控制台 导入FRS的Maven依赖。可以从SDK中心查询依赖坐标静默活体检测示例代码://方法参数imageStr:人像图片Base64编码 public static DetectLiveFaceByBase64Response detectLive(String imageStr) { //1.配置基本信息 ICredential credential = new BasicCredentials().withAk("ak").withSk("sk"); FrsClient client = FrsClient.newBuilder() .withCredential(credential) .withRegion(FrsRegion.valueOf("区域")) // 选择服务所在区域,如华北-北京四: FrsRegion.valueOf("cn-north-4") .build(); //2.通过base64编码进行活体检测 DetectLiveFaceByBase64Request request = new DetectLiveFaceByBase64Request(); LiveDetectFaceBase64Req body = new LiveDetectFaceBase64Req(); body.withImageBase64(imageStr); request.withBody(body); DetectLiveFaceByBase64Response response = null; try { response = client.detectLiveFaceByBase64(request); System.out.println(response.toString()); } catch (Exception e) { e.printStackTrace(); } return response; }5、IVS人证核身这里用到IVS标准版(三要素)对图片中人物进行身份认证,这里用到的图片Base64是FRS活体检测返回的结果中的图片Base64编码。开通人证核身服务控制台 导入IVS的Maven依赖。可以从SDK中心查询依赖坐标人证核身标准版:使用身份证图片Base64、人像图片Base64进行认证,示例代码://方法参数imageStr:人像图片Base64编码 public static String ivsVerify(String imageStr) { //1.配置基本信息 ICredential credential = new BasicCredentials().withAk("ak").withSk("sk"); IvsClient client = IvsClient.newBuilder() .withCredential(credential) .withRegion(IvsRegion.valueOf("区域"))// 选择服务所在区域,如华北-北京四就是 FrsRegion.valueOf("cn-north-4") .build(); DetectStandardByIdCardImageRequest request = new DetectStandardByIdCardImageRequest(); IvsStandardByIdCardImageRequestBody body = new IvsStandardByIdCardImageRequestBody(); List listIvsStandardByIdCardImageRequestBodyDataReqData = new ArrayList<>(); listIvsStandardByIdCardImageRequestBodyDataReqData.add( new ReqDataByIdCardImage() .withIdcardImage1("身份证人像面图片Base64") .withFaceImage(imageStr) ); IvsStandardByIdCardImageRequestBodyData databody = new IvsStandardByIdCardImageRequestBodyData(); databody.withReqData(listIvsStandardByIdCardImageRequestBodyDataReqData); Meta metabody = new Meta(); //唯一标识此次请求的ID,用户自定义,不超过64位 metabody.withUuid(UUID.randomUUID().toString()); body.withData(databody); body.withMeta(metabody); request.withBody(body); String result = null; try { //2.调用服务 DetectStandardByIdCardImageResponse response = client.detectStandardByIdCardImage(request); System.out.println(response.toString()); //result取值:valid-成功;invalid-失败 result = response.getResult().getRespData().get(0).getVerificationResult(); } catch (Exception e) { e.printStackTrace(); } //3.返回人证核身结果 return result; }6、SMN发布结果消息这里用SMN向HTTP(S)终端发送消息,将人证核身结果发布到指定的URL地址。开通服务(创建主题+创建订阅)控制台 导入IVS的Maven依赖。可以从SDK中心查询依赖坐标SMN发布消息示例代码://方法请求参数msgContent:消息内容 public static void sendMsg(String msgContent){ String ak = "ak"; String sk = "sk"; //创建SMN客户端 ICredential credential = new BasicCredentials().withAk(ak).withSk(sk); SmnClient client = SmnClient.newBuilder() .withCredential(credential) .withRegion(区域)//如华北-北京四:SmnRegion.CN_NORTH_4 .build(); //创建请求 PublishMessageRequest publishMessageRequest = new PublishMessageRequest(); //创建请求体 PublishMessageRequestBody body = new PublishMessageRequestBody(); body.withMessage(msgContent); body.withSubject("主题"); publishMessageRequest.withTopicUrn("主题URN,可在控制台获取"); publishMessageRequest.withBody(body); //执行请求 PublishMessageResponse response = client.publishMessage(publishMessageRequest); System.out.println(response); }7、客户端开发--SMN之HTTP(S)终端接口开发HTTP(S)终端对应的URL接口需要根据type参数判断是确定订阅、消息或是取消订阅。接口示例代码:@PostMapping("/smn") //该接口完整地址就是创建时配置的终端地址 public void subscriptionConfirmation2(@RequestBody SubscriptionReq subscriptionReq,HttpServletRequest request,HttpServletResponse response){ System.out.println(subscriptionReq); try{ //1.获取参数,封装到MAP中 Map parameterMap = BeanUtils.describe(subscriptionReq); String signing_cert_url = parameterMap.get("signing_cert_url"); String signature = parameterMap.get("signature"); //2.检验消息签名 boolean flag = SmnUtil.isMessageValid(signing_cert_url, signature, parameterMap); //3.判断是订阅还是发布消息 String type = parameterMap.get("type"); if ("SubscriptionConfirmation".equals(type)){ //4.访问订阅确认页面 String map = restTemplate.getForObject(parameterMap.get("subscribe_url"), String.class); System.out.println(map); }else if ("Notification".equals(type)){ //5.消息,打印消息 System.out.println(parameterMap); }else{ //6.取消订阅 } }catch (Exception e){ e.printStackTrace(); } }接口接收请求参数实体类可参考:@Data //Lombok注解 public class SubscriptionReq { private String type; private String signature; private String subject; private String topic_urn; private String message_id; private String signature_version; private String message; private String subscribe_url; private String signing_cert_url; private String timestamp; }8、FunctionGraph函数整合在触发函数对应的方法中调用上面服务方法,实现认证核身认证流程。即在搭建的FunctionGraph Java函数项目中的TriggerTests.java中的apiTest方法中编写人证核身业务逻辑。TriggerTests代码:import java.util.HashMap; import java.util.Map; import com.huawei.services.runtime.Context; import com.huawei.services.runtime.entity.apig.APIGTriggerEvent; import com.huawei.services.runtime.entity.apig.APIGTriggerResponse; import com.huawei.utils.FrsUtils; import com.huawei.utils.IvsUtils; import com.huawei.utils.ObsUtils; import com.huawei.utils.SmnUtils; import com.huaweicloud.sdk.frs.v1.model.DetectLiveFaceByBase64Response; public class TriggerTests { //functionGraph函数触发方法 public APIGTriggerResponse apigTest(APIGTriggerEvent event, Context context) { //1.下载对象,并得到base64编码后结果 String imageBase64 = ObsUtils.download(); //2.活体检测 DetectLiveFaceByBase64Response response = FrsUtils.detectLive(imageBase64); Boolean alive = response.getResult().getAlive(); //3.人证核身 String msg = null; if (alive) { //活体检测成功 String result = IvsUtils.ivsVerify(response.getResult().getPicture()); //result取值:valid-成功;invalid-失败 msg = "valid".equals(result) ? "人证核身成功!是XXX本人。" : "人证核身失败!"; System.out.println(result+"--"+msg); //4.发送结果信息 SmnUtils.sendMsg(msg); } else { msg = "活体检测失败!"; System.out.println(msg); //发送结果消息 SmnUtils.sendMsg(msg); } Map headers = new HashMap(); headers.put("Content-Type", "application/json"); return new APIGTriggerResponse(200, headers, msg); } }六、实现效果1、部署测试将FunctionGraph Java函数对应项目打成jar包。参照帮助文档FunctionGraph创建Java函数,并配置OBS触发器(对应:开发流程->二、FunctionGraph函数代码开发->1、Java函数环境搭建)。FunctionGraph上传项目jar包到函数。通过开发的客户端上传图片或视频到OBS。在客户端刷新接收SMN消息的HTTP(S)终端接口,查看结果信息;查看FunctionGraph日志。 2、示例工程示例代码附件,待补充……
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签