• [技术干货] 【转载】swagger是什么?
    swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档。目前的项目基本都是前后端分离,后端为前端提供接口的同时,还需同时提供接口的说明文档。但我们的代码总是会根据实际情况来实时更新,这个时候有可能会忘记更新接口的说明文档,造成一些不必要的问题。用人话说,swagger就是帮你写接口说明文档的。更具体地,可以看下面的图片,swagger官方建议使用下面的红字部分,这篇博客主要是记录如何,使用swagger自动生成Api文档的,所以只介绍swagger-ui,其他的…以后我用到会再整理。swagger-ui用来显示API文档的,不可编辑,会根据我们在代码中的设置来自动生成Api说明文档。生成的api文档如下————————————————版权声明:本文为CSDN博主「zhanggonglalala」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/zhanggonglalala/article/details/98070986
  • [应用推荐] 实名认证的运用场景
    只记得游戏行业身份实名认证的强制要求,如今各行业基本上都必须做实名认证,随着时代发展,我们推出以下各种实用的实名认证产品。1、身份证二要素验证 是基于官方授权的官方数据接口,通过“姓名”和“身份证号码”信息比对,实现不同应用场景下实时准确的用户身份是否一致。适用于各行业的基本实名认证。2、人脸身份三要素人 是基于官方授权的官方数据接口,通过用户授权后输入姓名、身份证号码和用户人脸图片,核验姓名和身份证号码,人脸图片与 数据源身份证头像进行比对,核验信息是否一致;3、身份证OCR 是通过用户授权提供身份证图片,自动识别图片中身份信息,支持识别身份证识别正反面信息,包括姓名,出生年月,生日,身份证号信息。扫描身份证ocr, 多光线多角度,识别准确率高达98%以上,能提高业务处理效率,信息化处理事务更加节约环保;应用场景案例:【服务商】深圳市隆飞洋科技有限公司1、金融风控,在投资理财、保险理赔、证券交易等安全性要求高的金融场景,运用人脸核身方案,将线下业务转为线上自助模式,满足远程开户、保险回执单等业务需求。同时可以辅助密码找回等密保措施,降低用户身份信息被恶意篡改、顶替冒用等风险,提升信息安全管理2、民事政务针对社保身份核实、政府访客登记、政务大厅自助窗口等场景,将原本繁琐费时的柜台业务办理,转为线上自助服务,无需窗口排队等待,提高业务处理效率3、酒店入住酒店宾馆行业人员流动频繁,以往通过肉眼判断身份证件真假、是否本人持证的方式效率低下,准确度难以保证,无法满足企业和政府的监管需求。应用人脸核身技术,高精度核实住客身份信息,为住户提供更便捷的高质量服务4、服务人员身份监管在货品运输、家政保洁等服务行业,对从业人员的身份真实性要求较高。运用人脸核身方案,从业人员可自助完成实名认证,防止身份被顶替、冒用,提升身份审核效率,保障业务安全5、共享业务在共享班车、定制巴士、分时租赁等共享服务中,组合使用活体检测、身份证识别、人脸质量检测、人脸对比等能力,提升“注册-认证-审核-用车”全环节效率,实现驾驶全流程身份核验,保障信息安全,有效规避智能出行服务风险6、考生身份核验目前招聘考试、专业执照考试、企业内部评测等考核逐渐转为在线操作,但信息作假、替考等风险较多,且难以系统化监管。引入人脸核身方案,提供便捷、高效的身份核验服务,确保考生身份真实有效,有助于加强行业监管
  • [线上活动] 【工业数字化大讲堂 第十四期】华为终端供应商数字化生产建设方案—特邀华为供应商质量发展协会会长 仲金柱老师4月28日分享!
    主题:华为终端供应商数字化生产建设方案【直播嘉宾】:仲金柱 华为供应商质量发展协会会长【直播内容】:1、华为CBG技术质量认证工程师如何通过自身的数字化转型实践来获得收益;2、华为终端供应商数字化生产建设方案的分享。4月28日(本周四)16:00-17:00,点此观看直播~ 【观看直播抽好礼】直播期间(4月28日16:00-17:00)可参与抽奖哦~往期精彩分享>> 【工业数字化大讲堂】第一期 华为数字化转型分享(车海平 华为公司高级副总裁、数字转型首席战略官)live第二期 建立制造领域数字化转型的基石(陈振华 中国机床工具工业协会、工业互联网发展负责人)live第三期 制造业数字化转型势道术(朱少盛 深圳赛瀚德技术有限公司CEO)live第四期 华为供应链数字化分享(范美华 华为供应链管理部CIO)live第五期 华为数字化转型实践(苏立清 华为云首席数字化转型官)live第六期 华为数字化转型实践(张勇强 工业解决方案高级顾问)live第七期 华为服务交付数字化转型之路(叶蓁蓁 华为软件云服务资深产品专家)live第八期 制造业企业数据平台建设最佳实践分享 马千里(数据使能资深解决方案架构师)live第九期 工业数字化和工业云 丘水平(华为工业软件及工业云CTO)第十期 开天aPaaS赋能工业云 金伟(华为云开天aPaaS首席规划专家)live第十一期 制造业中小企业转型能力建设分享 龚祺(工业云项目群总监)live第十二期 专精特新企业数字化转型如何落地 崔裕(鼎捷软件行业发展中心总监)live第十三期 非标装备制造企业如何破除交付困境 张燕聪(广州盛原成科技有限公司CEO)live第十四期 华为终端供应商数字化生产建设方案 仲金柱(华为供应商质量发展协会会长)live更多精彩直播,请关注微信公众号“工业数字化大讲堂”↓↓
  • [分享交流] 【工业数字化大讲堂 第十四期】华为终端供应商数字化生产建设方案—特邀华为供应商质量发展协会会长 仲金柱老师4月28日分享!
    主题:华为终端供应商数字化生产建设方案【直播嘉宾】:仲金柱 华为供应商质量发展协会会长【直播内容】:1、华为CBG技术质量认证工程师如何通过自身的数字化转型实践来获得收益;2、华为终端供应商数字化生产建设方案的分享。4月28日(本周四)16:00-17:00,点此观看直播~ 【观看直播抽好礼】直播期间(4月28日16:00-17:00)可参与抽奖哦~往期精彩分享>> 【工业数字化大讲堂】第一期 华为数字化转型分享(车海平 华为公司高级副总裁、数字转型首席战略官)live第二期 建立制造领域数字化转型的基石(陈振华 中国机床工具工业协会、工业互联网发展负责人)live第三期 制造业数字化转型势道术(朱少盛 深圳赛瀚德技术有限公司CEO)live第四期 华为供应链数字化分享(范美华 华为供应链管理部CIO)live第五期 华为数字化转型实践(苏立清 华为云首席数字化转型官)live第六期 华为数字化转型实践(张勇强 工业解决方案高级顾问)live第七期 华为服务交付数字化转型之路(叶蓁蓁 华为软件云服务资深产品专家)live第八期 制造业企业数据平台建设最佳实践分享 马千里(数据使能资深解决方案架构师)live第九期 工业数字化和工业云 丘水平(华为工业软件及工业云CTO)第十期 开天aPaaS赋能工业云 金伟(华为云开天aPaaS首席规划专家)live第十一期 制造业中小企业转型能力建设分享 龚祺(工业云项目群总监)live第十二期 专精特新企业数字化转型如何落地 崔裕(鼎捷软件行业发展中心总监)live第十三期 非标装备制造企业如何破除交付困境 张燕聪(广州盛原成科技有限公司CEO)live第十四期 华为终端供应商数字化生产建设方案 仲金柱(华为供应商质量发展协会会长)live更多精彩直播,请关注微信公众号“工业数字化大讲堂”↓↓
  • [交流吐槽] api相关任务又上线了
    但是完成后没有码豆;凌晨时看得到,现在又没有了相关任务
  • [服务构建器] 【华为云Stack ManageOne 服务构建器】服务构建器进行自定义线下资源发放流程介绍
    ## 业务场景   如果用户需要使用的资源属于线下资源,且不能在ManageOne直接申请。则需要在ManageOne线上创建该类型资源的线下资源服务,然后通过申请、审批,审批通过后才能使用。此场景缺失审批时输入的能力。本次流程引擎提供审批时输入的能力,服务构建器也提供审批时输入的能力适配,线下资源发放场景在服务构建器可以实现。如下图流程示例: ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/24/1650769856524173257.png) ## 线下资源接入 ### 环境运维面(OC侧)添加系统资源管理   场景模拟时,我们添加系统资源,然后通过调用API对设备进行增删改查操作。 ![image.png](http://image.huawei.com/tiny-lts/v1/images/e1c7fbaa9b105056cc8fd70a5eef35c9_1895x742.png@900-0-90-f.png) ### 服务API提供者注册资源管理API 资源管理操作参考运维面API文档: ![image.png](http://image.huawei.com/tiny-lts/v1/images/5658d7ba558797e4c496e9bad4a6a148_1896x971.png@900-0-90-f.png) 服务构建器服务提供者注册资源管理API: ![image.png](http://image.huawei.com/tiny-lts/v1/images/79be29575303b48464ca9a1144bf74af_1847x827.png@900-0-90-f.png) ## 模板服务申请 ### 创建模板 使用表格组件加载线下资源 ![image.png](http://image.huawei.com/tiny-lts/v1/images/14142165ca8e07883f6799692d324288_1861x876.png@900-0-90-f.png) 变更资源状态流程 ![image.png](http://image.huawei.com/tiny-lts/v1/images/516f9239bd6052c68c46092cf674f0c9_1866x874.png@900-0-90-f.png) ### 创建和申请服务 创建服务,添加审批流程,并设置审批时输入参数,并申请流程 ![image.png](http://image.huawei.com/tiny-lts/v1/images/a1ce129d820dfd86cb4ae8ccfdaa9ef6_1864x891.png@900-0-90-f.png) 流程走到审批人这,审批人选择需要下发的资源,并同意申请 ![image.png](http://image.huawei.com/tiny-lts/v1/images/4275dd4150c21d6460bc1dccfbae629d_1858x877.png@900-0-90-f.png) 申请成功后,我们查看资源状态,已下发的资源由闲置变为运行状态: ![image.png](http://image.huawei.com/tiny-lts/v1/images/5d37be1b1dba63476b8bcb0f6e7a5e85_1854x866.png@900-0-90-f.png) ## 总结   本文只是做了一个简单的流程操作指引,构造的数据和流程都比较简单。业务上的场景肯定要复制的多,但是步骤拆解大体差不多,后面会补充一些更加完整的最佳实践和业务强相关的场景流程
  • [技术干货] 由ansible-gen生成API并由ansible-playbook下发netconf会话到Huawei S5731的调试过程
    下面简单介绍下调试ansible_collections的community.network.ce的module的方法,每个module执行的时候都是从module的main函数开始执行。以定位ce_mlag_intterface模块执行返回错误为例,问题现象是执行playbook后,返回如下错误,看样子像是把netconf报文在设备上执行的报错一样,于是打开debug看下调试信息,原本以为debug只有-vvv,原来一共可以敲-vvvvvv,v越多debug越多,通过和执行通过的module进行比较,发现如下差异可以看到左边执行失败的debug信息里使用的connection插件是network_cli,即命令行注入的方式,而右边执行通过使用的connection插件是netconf,因此去community.network的action目录中代码中搜索该打印,发现有个全局变量将该module定义为命令行注入方式配置,而ce_mlag_interface.py文件中使用的是netconf方式下发配置,因此此处的定义是不合理的,ce_mlag_interface删除后,playbook执行通过。注意:如果调试的是NE系列的产品或者插件,由于NE插件的ansible_collections没有放到ansible_collections官方的community.network命名空间下,而是独立创建了一个huaweidatacom.ne的命名空间,在安装完成后,它与community.network都在ansible_collections目录下是平行关系,因此在hosts文件中要指明 ansible_network_os=huaweidatacom.ne.ne,以避免不必要的麻烦,否则会报模块找不到的其他错误。
  • [线上活动] 【工业数字化大讲堂 第十三期】非标装备制造企业如何破除交付困境—特邀广州盛原成科技有限公司CEO张燕聪老师分享,4.2直播
    主题:非标装备制造企业如何破除交付困境【直播嘉宾】:张燕聪 广州盛原成科技有限公司CEO。华南理工大学硕士,曾任职全球顶级的工业数字化公司西门子和PTC,主持过研发国家科技部重点研发项目,在工业数字化方面有独特的见解。【直播内容】:本期直播将解析非标装备制造企业面临的装备交付困境,分享典型的装备企业如何利用IT和OT融合的技术提升从设备研发到设备交付的效率,提升企业竞争力。4月21日(本周四)16:00-17:00,点此观看直播~ 【观看直播抽好礼】直播期间(4月21日16:00-17:00)可参与抽奖哦~往期精彩分享>> 【工业数字化大讲堂】第一期 华为数字化转型分享(车海平 华为公司高级副总裁、数字转型首席战略官)live2021/12/22第二期 建立制造领域数字化转型的基石(陈振华 中国机床工具工业协会、工业互联网发展负责人)live2021/12/30第三期 制造业数字化转型势道术(朱少盛 深圳赛瀚德技术有限公司CEO)live2022/1/6第四期 华为供应链数字化分享(范美华 华为供应链管理部CIO)live2022/1/13第五期 华为数字化转型实践(苏立清 华为云首席数字化转型官)live2022/2/17第六期 华为数字化转型实践(张勇强 工业解决方案高级顾问)live2022/2/24第七期 华为服务交付数字化转型之路(叶蓁蓁 华为软件云服务资深产品专家)live2022/3/4第八期 制造业企业数据平台建设最佳实践分享 马千里(数据使能资深解决方案架构师)live2022/3/10第九期 工业数字化和工业云 丘水平(华为工业软件及工业云CTO)2022/3/17第十期 开天aPaaS赋能工业云 金伟(华为云开天aPaaS首席规划专家)live2022/3/24第十一期 制造业中小企业转型能力建设分享 龚祺(工业云项目群总监)live2022/4/7第十二期 专精特新企业数字化转型如何落地 崔裕(鼎捷软件行业发展中心总监)live2022/4/15更多精彩直播,请关注微信公众号“工业数字化大讲堂”↓↓
  • [线上活动] 重磅 | 开天aPaaS工作台发布,诚邀公测!
    本次公测共发布了哪几项服务?【企业工作台】  【集成工作台】【KooMessage】   【IMC】1. 企业工作台[产品介绍] 开天企业工作台是企业一站式数字化工作台,是企业应用的统一门户,为企业提供了用户、组织的统一管理,应用的统一管理和授权及应用间的单点登录,解决企业内应用管理和用户的不统一,提升企业的办公效率。免费体验企业工作台>>立即开通怎样使用企业工作台?>>用户指南2. 集成工作台[产品介绍] 华为云开天集成工作台为企业开发者提供基于元数据的可扩展的集成框架,降低了应用间集成工作量,并沉淀多种集成资产如连接器、领域信息模型资产、行业API等。免费体验集成工作台>>立即开通超干货!3个短视频快速上手集成工作台~01-如何利用模板创建一个自动化流 02-从创建连接器开始完成从空白创建流  03-手动触发流与自动化流的区别怎样使用集成工作台>>用户指南3. KooMessage[产品介绍] 云消息服务(KooMessage)融合多种客户触达渠道,包括智能信息、服务号、PUSH消息、5G消息等能力,为行业客户提供一站式行业服务及用户增长服务,实现全场景、全终端客户触达,提升最终消费者服务满意度和营销转化率。>>立即申请公测怎样使用云消息服务KooMessage>>用户指南4. IMC[产品介绍] 智能制造云 IMC(Intelligent Manufacturing Cloud)为工业领域的 aPaaS 工作台,是工业互联网产业云解决方案的门户。IMC致力于汇聚合作伙伴,深度融合业内优秀工业软件,为企业提供研发设计、生产制造、市场营销以及日常办公等服务,支撑企业业务流程的优化,实现一站式工作体验。>>立即开通IMC怎样使用IMC?>>指导手册除此之外,本次公测还上线了一批优质API供大家免费试用 >>欢迎选购体验了解更多开天aPaaS,请查看>>开天aPaaS 经验即服务,使能行业应用创新工作台体验过程中,有任何想法建议、吐槽或需求,欢迎来开发者社区和大家交流分享~
  • [技术干货] 智慧园区API和SDK的定义要求
    Rest APIREST中定义工程对外提供的服务。HTTP动词:常用的HTTP动词如下(括号里是对应的SQL命令):GET(SELECT):从服务器取出一项或多项资源。POST(CREATE):在服务器新建一个资源。PUT(UPDATE):客户端提供改变后的完整资源,在服务器更新资源。PATCH(UPDATE):客户端提供改变的属性,在服务器更新资源。DELETE(DELETE):从服务器删除资源。资源路径:URL中不能有动词在Restful架构中,每个网址代表的是一种资源,所以网址中不能有动词,只能有名词,动词由HTTP的动作来表示。URL结尾不应该包含斜杠“/”正斜杠(/)不会增加语义值,且可能导致混淆。正斜杠分隔符“/”必须用来指示层级关系路径中的正斜杠“/“字符用于指示资源之间的层次关系。应该使用连字符“-”来提高URL的可读性,而不是使用下划线“_”一些文本查看器为了区分强调URL,会在URL下加上下划线。这样下划线”_”字符可能被文本查看器中默认的下划线部分地遮蔽或完全隐藏。为避免这种混淆,请使用连字符而不是下划线。URL路径中首选小写字母URL是对大小写敏感的,所以为了避免歧义,尽量用小写字符。补充说明:主机名(Host)和scheme对大小写是不敏感的。应该将API的版本号放入URL另一种做法是,将版本号放在HTTPS头信息中,但不如放入URL方便和直观。URL路径名词均为复数为了保证URL格式的一致性,建议使用复数形式。响应状态码200 | OK :用于一般性的成功返回。201 | Created [POST/PUT/PATCH]:用户新建或修改数据成功。202 | Accepted:用于Controller控制类资源异步处理的返回,仅表示请求已经收到。对于耗时比较久的处理,一般用异步处理来完成。204 | No Content:此状态可能会出现在PUT、POST、DELETE的请求中,一般表示资源存在,但消息体中不会返回任何资源相关的状态或信息。301 | Moved Permanently:资源的URI被转移,需要使用新的URI访问。302 | Found:不推荐使用,此代码在HTTP1.1协议中被303/307替代。目前对302的使用和最初HTTP1.0定义的语意是有出入的,应该只有在GET/HEAD方法下,客户端才能根据Location执行自动跳转,而目前的客户端基本上是不会判断原请求方法的,无条件的执行临时重定向。303 | See Other: 返回一个资源地址URI的引用,但不强制要求客户端获取该地址的状态(访问该地址)。304 | Not Modified:有一些类似于204状态,服务器端的资源与客户端最近访问的资源版本一致,并无修改,不返回资源消息体。可以用来降低服务端的压力。307 | Temporary Redirect: 目前URI不能提供当前请求的服务,临时性重定向到另外一个URI。在HTTP1.1中307是用来替代早期HTTP1.0中使用不当的302。400 | Bad Request:用于客户端一般性错误返回,在其它4xx错误以外的错误,也可以使用400,具体错误信息可以放在body中。401 | Unauthorized: 在访问一个需要验证的资源时,验证错误。403 | Forbidden:一般用于非验证性资源访问被禁止,例如对于某些客户端只开放部分API的访问权限,而另外一些API可能无法访问时,可以给予403状态。404 | Not Found:找不到URI对应的资源。405 | Method Not Allowed:HTTP的方法不支持,例如某些只读资源,可能不支持POST/DELETE。但405的响应header中必须声明该URI所支持的方法。406 | Not Acceptable:客户端所请求的资源数据格式类型不被支持,例如客户端请求数据格式为application/xml,但服务器端只支持application/json。409 | Conflict: 资源状态冲突,例如客户端尝试删除一个非空的Store资源。412 | Precondition Failed:用于有条件的操作不被满足时。415 | Unsupported Media Type:客户所支持的数据类型,服务端无法满足。500 | Internal Server Error:服务器端的接口错误,此错误于客户端无关。SDKSDK表示工程对应用编排提供的API,SDK没有暴露REST接口。BO之间调用,只能使用SDK。
  • [方案分享] 员工考勤打卡时,如何避免非本人代替打卡?
    > **摘要:** 通过结合华为云的人脸识别、functiongraph、OBS、APIG等云服务,来达成考勤打卡时调用一个API即可检测是否本人现场打卡的效果。 # 1 背景 使用APP进行打卡时,为避免非本人及非真人现场打卡的情况出现,想结合华为云的人脸识别能力,通过调用API,达成可检测是否本人且真人现场打卡的效果。 # 2 云服务介绍 **华为云FRS:** 人脸识别服务(Face Recognition Service),能够在图像中快速检测人脸、分析人脸关键点信息、获取人脸属性、实现人脸的精确比对和检索。该服务可应用于身份验证、电子考勤、客流分析等场景。[产品页面](https://www.huaweicloud.com/product/face.html) **华为云FunctionGraph:** 函数工作流(FunctionGraph)是一项基于事件驱动的函数托管计算服务。通过函数工作流,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。[产品页面](https://www.huaweicloud.com/product/functiongraph.html) **华为云APIG:** API网关(API Gateway)是为企业开发者及合作伙伴提供的高性能、高可用、高安全的API托管服务, 帮助企业轻松构建、管理和部署不同规模的API。简单、快速、低成本、低风险的实现内部系统集成、成熟业务能力开放及业务能力变现。[产品页面](https://www.huaweicloud.com/product/apig.html) **华为云OBS:** 对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,使用时无需考虑容量限制,并且提供多种存储类型供选择,满足客户各类业务场景诉求。[产品页面](https://www.huaweicloud.com/product/obs.html) **华为云DNS:** 云解析服务(Domain Name Service)提供高可用,高扩展的权威DNS服务和DNS管理服务,把人们常用的域名或应用资源转换成用于计算机连接的IP地址,从而将最终用户路由到相应的应用资源上。此服务默认开通,免费使用。[产品页面](https://www.huaweicloud.com/product/dns.html) # 3 方案设计 ## 3.1 方案简述 通过APIG调用functiongraph函数,在functiongraph上完成人脸识别-活体检测、人脸识别-人脸比对等API的调用,并将响应结果通过API返回给APP。实现APP调用一次API即可完成人脸识别的功能。 1. 人脸识别服务的人脸比对功能,可实现检测是否其本人打卡。 2. 人脸识别服务的活体检测功能,可实现检测是否活人打卡。 3. 使用Functiongraph的函数,APP端只需考虑调用一个API,且只需考虑人脸识别的总体输入和返回结果。 4. Functiongraph由APIG来调用,利用APPkey、APPsecret及HTTPS,解决了APP端调用的安全认证等问题。 5. OBS桶用来存储人脸照片,通过约定的用户标识做文件存储路径,易于管理和使用。 ## 3.2 方案架构图 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649814141153226420.png) 0. 初始化:前置准备工作,新建一个OBS桶做人脸库,将员工的人脸照片存放到人脸库,并把以user-id 或自定义字段作为路径,标识员工。 1. 员工登录APP后,进行人脸识别时,将通过APIG来调用functionGraph,上传关键信息:摄像头捕获的照片或视频、员工的人脸库标识(user-id)。 2. functionGraph调用活体检测API,传入照片/视频(根据需求选择动作活体检测/静默活体检测,推荐静默活体检测)。 *注:本方案采用静默活体检测方式,APP端上传的照片提前转换为base64格式* 3. 活体检测API返回响应:有confidence、picture(base64)。 4. 在functionGraph中调用OBS接口,通过user-id从OBS人脸库获取库中的员工照片。 5. 通过代码将从OBS获取的照片文件,转换为base64格式。 6. 将两个base64格式的照片作为输入参数调用人脸比对API 。(备注:此处可根据需求,是否需要多次调用API,使用多个照片进行验证) 7. 人脸比对API返回包含了similarity的响应。 8. functionGraph将similarity、confidence传回给APP/后端。(备注:也可直接在functionGraph完成判定,返回人脸识别结果) ## 3.3 FUNCTIONGRAPH实现代码 代码详看附件。 代码时序图: ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649814488411960282.png) # 4 方案部署 ## 4.1 部署流程图 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/14/1649899507333797041.png) ## 4.2 前置准备 1. 拥有已实名认证的华为云账号,开通云服务functiongraph、人脸比对、活体检测、OBS 2. 注册公网域名,完成ICP备案 ## 4.3 创建OBS人脸库 ### 4.3.1 创建OBS桶 参考帮助文档:https://support.huaweicloud.com/qs-obs/obs_qs_0007.html ,**创建私有桶** ### 4.3.2 上传对象 参考帮助文档: https://support.huaweicloud.com/qs-obs/obs_qs_0008.html ,上传对象,建立OBS人脸库。 要求:文件的路径使用用户标识(如userid)命名 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/14/1649899640398811639.png) ## 4.4 FUNCTIONGRAPH搭建 ### 4.4.1 创建委托 登录IAM控制台(https://console.huaweicloud.com/iam/?region=cn-north-4#/iam/agencies) 1)创建委托 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/14/1649899732885166953.png) 委托名称:自定义 委托类型:云服务 云服务:函数工作流functiongraph 持续时间:永久 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/14/1649899750597558444.png) 2)选择策略 OBS:获取对象等基本操作权限 FRS:fullaccess APIG:fullaccess ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/14/1649899767926966037.png) 3)设置最小授权范围,此处选择所有,实际可根据项目情况分配。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/14/1649899774928735869.png) 4)完成委托创建 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/14/1649899867404942265.png) ### 4.4.2 上传FRS依赖包 因functiongraph公共的依赖包中,FRS-SDK不是最新的(无静默活体检测API),故我们需上传最新的FRS-SDK,作为依赖包。 1)从官网获取FRS-SDK下载路径 https://sdkcenter.developer.huaweicloud.com/?language=python 2)下载整个Python-v3的SDK https://github.com/huaweicloud/huaweicloud-sdk-python-v3 下载后解压,进入内部,找到frs后缀的SDK 进入SDK目录,在setup所在的目录,全部选择进行压缩。压缩成功后,需要确保setup文件在压缩包的根目录下。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649814638751732214.png) 将压缩好的文件,上传到**functiongraph**的**依赖包管理**。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/14/1649903203217237152.png) 依赖包名称:自定义 运行时语言:2.7 描述:自定义 上传方式:上传ZIP文件 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649814696951154585.png) ### 4.4.3 创建函数 1)进入functiongraph控制台创建函数。 Functiongraph版本:functiongraph v2 函数类型:事件函数 函数名称:自定义 所属应用:默认 委托名称:选择创建的委托(如无,请点击右边的 创建委托 前往创建,创建步骤参考4.4.1) 企业项目:自行选择 自定义函数:关闭 运行时语言:Python2.7 函数执行入口:Index.handler 代码上传方式:静默代码 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649814941371534605.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649814959364933650.png) ### 4.4.4 编辑函数代码 将示例代码复制进来,编辑相关默认变量的值 1)粘贴3.3节的代码至index.py中 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649815148702147611.png) 2)根据自己项目情况,设置默认Region、endpoint、buketname的值,若4.4.6节不设置环境变量的值,将默认取此处的默认值。 如下默认是北京四 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649815207205184866.png) 3)编辑完成后,点击保存 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649815283696268862.png) ### 4.4.5 添加依赖包 1)在函数菜单-代码页,点击添加-依赖代码包 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649815316115834839.png) 2)在公共依赖包,搜索obs,勾选OBS-sdk ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649815339429434222.png) 3)在私有依赖包,勾选前面步骤上传的frs-sdk,然后确定保存 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649815379417857598.png) ### 4.4.6 编辑环境变量 在函数菜单-配置页,添加环境变量:region、bucketname(OBS桶名)、endpoint 若此处不设置环境变量,则函数会使用4.4.4节代码设置的默认值。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649815413162289842.png) ### 4.4.7 调试函数 1)点击配置测试事件 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821478308479790.png) 2)选择apig的事件模板,添加body的内容和queryStringParameters的userid,进行保存。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821506736161453.png) 3)点击测试,运行完毕可查看执行结果。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821518351445875.png) ## 4.5 添加APIG ### 4.5.1 添加APIG触发器 1)在函数菜单-触发器页,点击创建触发器 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821593903882753.png) 触发器类型:API网关服务(APIG) API名称:自定义 分组:选择API分组(如无点击右边 创建分组 进行创建) 发布环境:RELEASE(如无点击右边 创建发布环境 进行创建) 安全认证:测试环境可选择None(后面可编辑进行更改) 请求协议:测试环境可选择HTTP(后面可编辑进行更改) 后端超时(毫秒):5000 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821732699612695.png) 2)创建完成后,在触发器页面会添加一个APIG触发器,提供访问URL ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821758573719098.png) ### 4.5.2 编辑APIG 1)点击APIG触发器名称,前往APIG控制台,点击编辑 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821804321942650.png) 2)编辑基本信息 此处可更改安全认证,为方便调试,此处保持无认证 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821862934914048.png) 3)定义API请求 此处需添加API的请求参数-用户标识,用于functiongraph中,取在OBS人脸照片库中的员工照片。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821956682838124.png) 4)定义后端服务 添加后端服务参数,跟前面的入参做一个映射。 因为是在functiongraph创建的APIG,故此处已自动绑定functiongraph的函数为后端服务,故基础定义保持默认即可。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821987587401560.png) 5)返回结果基础定义 返回结果的响应示例,暂设置为空即可,点击完成。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649821998500947637.png) ### 4.5.3 调试API 1)API详情页,点击调试,跳转到API调试页面 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649822013633870426.png) 2)输入相关请求参数,发起请求,进行调试。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649822036638149952.png) ### 4.5.4 发布API 编辑完成后的API,需要进行发布,公网才可访问 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649830860600630664.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649830873072611873.png) ## 4.6 绑定独立域名 子域名仅供开发测试使用,每天最多访问1000次。如需开发服务,则需为API所在分组绑定独立域名。 ### 4.6.1 添加记录集 1、登录云解析控制台(也可使用其他平台,已完成ICP备案的域名),选择域名解析》公网域名,点击需要创建记录集的域名名称。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831019011659720.png) 2、添加记录集 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831031572602181.png) 填写以下信息 主机记录:域名前缀,如face-test 类型:选择CNAME – 将域名指向另外一个域名 别名:默认即可 线路类型:默认即可 TTL(秒):默认即可 值:填写要指向的别名(此处为APIG上的子域名) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831113490488637.png) 添加成功 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831132889309132.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831141076911472.png) ### 4.6.2 添加自定义域名 1、在API详情页-总览,点击添加增加自定义域名。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831168240943988.png) 2、跳转到API所在分组的域名管理控制台,点击绑定独立域名 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831177641240193.png) 3、输入前面创建的记录集,点击确定。(如果是刚添加的记录集需刷新,约等5分钟) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831186097321738.png) 添加完后,即可在公网通过自定义域名,访问APIG。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831201007115239.png) ## 4.7 问题记录 1、并发测试API时,发现偶现以下错误 错误1:人脸比对传入的base64字符串无法识别 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831323406596040.png) 错误2:数据传输被提前终止了 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/13/1649831343242361605.png) 问题定位:因函数中的存储到本地的文件用的是同一个路径,并发操作时出现异步的同时占用一个路径,从而导致文件有丢失或文件转码有误 解决方案:给函数中的文件路径配置上时间戳,避免并发操作时,交叉操作同一个文件。 2、APIG错误码请参考: https://support.huaweicloud.com/usermanual-apig/apig-ug-180530090.html 3、使用APIG触发functiongraph时,发现第一个api请求响应时间较长(2s多),后面的请求就较短了(约500ms)。 问题定位:超过一分钟无调用函数时,函数会销毁。再次进行函数调用时,需要重新启动实例,所以第一次调用时间会比较长。 解决方案:设置预留实例,来消除冷启动效果。预留实例是为指定函数版本单独预留的函数运行实例,不同于普通的函数实例,预留实例长期存活,可以达到消除函数冷启动的效果。 预留实例需要提交工单开通,详情请参考:https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0306.html # 5 后期思考 1、 本方案的人脸比对,只比对一次。若人脸库中,用户的库照片有多个,是否需要遍历对比,取总体对比的结果。如对比多次,需要考虑从OBS获取照片、人脸比对的API要多次调用,性能下降、费用提升等
  • [技术干货] 智慧园区基线BO API请求的组成方式
    资产API符合RESTful API的设计理论。请使用前仔细阅读以下API规格介绍,如无特殊说明,本文中所有资产中包含的API均遵守以下约定。由于AppCube平台的限制,单次查询传入的limit需要小于等于5000;当业务需要的查询数量大于5000时,请分批多次调用该接口。REST API介绍REST从资源的角度来观察整个网络,提供创建、查询、更新、删除等方法访问服务的资源。REST API请求/响应可以分为如下部分:请求URI请求消息头请求消息体响应消息头响应消息体请求URI请求URI由如下部分组成:{URI-scheme}://{Endpoint}/{resource-path}?{query-string}尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。表1 请求URI说明参数描述URI-scheme表示用于传输请求的协议。Endpoint指定承载REST服务端点的服务器域名。resource-path资源路径,也即API访问路径。从具体接口的URI模块获取,例如“/service/v1.0/buddleOfferings.get”。query-string可选参数,例如API版本或资源选择标准。请求方法HTTP方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。表2 请求方法说明方法说明GET请求服务器返回指定资源。PUT请求服务器更新指定资源。POST请求服务器新增资源或执行特殊操作。DELETE请求服务器删除指定资源,如删除对象等。请求消息头可选的附加请求头字段,如指定的URI和HTTP方法所要求的字段。详细的公共请求消息头字段请参见表3。表3 请求消息头说明名称描述是否必选示例Content-Type发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。是业务接口取值:application/json获取access-token接口取值:application/x-www-form-urlencodedContent-Length请求body长度,单位为Byte。否3495access-token当用户通过用户密码或者AK、SK在系统鉴权成功后,后台会生成一个token。下次接口请求时,在请求消息头中带上这个access-token,表示这个用户已经被鉴权过。获取token请参考获取access-token接口。否00000000***a8fcfd450请求消息体该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。响应消息头响应消息头包含如下两部分:一个HTTP状态代码,从2xx成功代码到4xx或5xx错误代码,或者可以返回服务定义的状态码。附加响应头字段,如Content-Type响应消息头。详细的公共响应消息头字段请参考表4 响应消息头。表4 响应消息头名称描述示例Content-Length响应消息体的字节长度,单位为Byte。--Date系统响应的GMT时间。Wed,27 Dec 2016 06:49:46 GMTContent-Type响应消息体的MIME类型。application/json响应消息体该部分可选。响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-Type对应,传递除响应消息头之外的内容。发送请求您可以使用多种方式进行资产接口调试:cURLcURL是一个命令行工具,用来执行各种URL操作和信息传输。cURL充当的是HTTP客户端,可以发送HTTP请求给服务端,并接收响应消息。编码通过编码调用接口,组装请求消息,并发送处理请求消息。REST客户端可以使用浏览器插件,发送处理请求消息。例如Postman。字符和字节的换算方法接口中参数的长度说明,一般都是以字节为单位。对于AppCube平台,字符与字节的换算关系如下:1个英文字符占1个字节1个中文字符占3个字节
  • [热门活动] dec专属云跟公有云api是一样得吗
    dec有资源专属云和全栈专属云fcs,他俩得api是不是跟公有云一样得。我理解资源专属云就是给客户单独一个region或者可用区纳管在huaweicloud,全栈专属云就是hcso,单独得一套类公有云平台。
  • [其他] 开天工作台公测!3个短视频快速上手集成工作台(第三期)手动触发流与自动化流的区别
    没错!开天工作台公测啦!什么是开天集成工作台>>开天集成工作台免费体验集成工作台>>立即开通怎样使用集成工作台>>用户指南“手动触发流”与“自动化流”有什么区别?简单来说,前者靠人工手动触发,需要每次手动点击“运行”来触发;后者由系统自动触发,需要设置自动运行的时间周期、重复方式等参数,系统会按照计划反复运营,直至点击“关闭”。操作步骤一、手动触发流此处以“发送天气预报短信”为例:选择“手动触发流”,增加参数;定义设为“手机号码”,填写默认值;其他触发事件。例如,华为会议的触发事件是创建周期会议:用友的触发事件是查询料品:二、自动化流此处以“计划”连接器为例:创建流:选择“计划”,定义首次运行时间、重复方式和重复周期;运行流:自动化流“运行”后,会根据设置的参数自动运行;结束流:点击“关闭”,流运行停止。其他推荐【开天工作台入门指导】01-如何利用模板创建一个自动化流【开天工作台入门指导】02-从创建连接器开始完成从空白创建流
  • [其他] 开天工作台公测!3个短视频快速上手集成工作台(第二期)从创建连接器开始完成从空白创建流
    没错!开天工作台公测啦!什么是开天集成工作台>>开天集成工作台免费体验集成工作台>>立即开通怎样使用集成工作台>>用户指南操作指导让我们以导入“最美天气”API为例,从0开始创建一个天气预报短信通知的流。总共要分三步:创建连接器→创建连接→创建流(如下图所示)前期准备天气预报API cid:link_1操作步骤一、创建连接器进入集成工作台的控制页面,“连接器管理”→“我的连接器”,选择“从空白创建”或者也可通过导入OpenAPI创建我们选择“从空白创建”,填写连接器的基本信息、名称、描述等信息。①根据API调用地址,域名填写zmexp.apistore.huaweicloud.com就可以了②url前缀可以不填据根据我们获取的API的调用地址,选择https协议,填写域名信息,点击“下一步”认证方式选择“AK/SK”,这个是由API的认证鉴权方式决定的,这两个参数我们在后面创建连接的地方再填,点击“下一步”进入到连接器自定义内容页面,包括执行动作和触发事件。①点击添加动作:执行动作ID可以自己定义,填forecast8days;摘要、说明帮助使用者了解该动作用途,比如查询最近8天天气数据。②API的请求方式,选择 GET③URL是调用地址的后半段,填/bestWeather/ty/forecast8days④因为这个API的请求参数只有query,所以主体和标题都不变⑤选择查询路径,点击新增query⑥这里有lat和lon两个参数需要填写,新增两次query,可按照下表填写,点击“完成”latlon名称latlon说明可不填,纬度可不填,经度摘要可不填,纬度可不填,经度默认值不填不填别名纬度经度可见性none,可见none,可见类型StringString格式InputInput配置相应。我们提前准备了API的正常返回示例,根据返回示例的层级结构,配置响应的内容;根据返回示例,填好参数,点击“创建连接器”。连接器创建完成,可在“连接器管理”→“我的连接器”处查看二、创建连接在“连接器管理”→“连接”界面点击“创建连接”搜索刚才创建的“最美天气”连接器;刚才已经选过AK/SK认证了,输入AK、SK,点击“创建”三、进行流编排-发送短信预报天气情况创建流,修改名称;我们这次选择手动触发流添加执行动作,在“连接器”→“自定义”中找到刚才创建的“最美天气”连接器。填写参数输入提前准备好的地点经纬度(例:深圳市龙岗区 维度22.6593,经度114.0678)继续添加执行动作,选择“短信”;填写收件人,根据API返回参数的释义,选择我们需要的参数,配置好点击“保存”,完成流的创建;在“流管理”→“我的流”界面找到刚刚创建的流,点击“运行”查看流运行结果其他推荐【开天工作台入门指导】01-如何利用模板创建一个自动化流【开天工作台入门指导】03-手动触发流与自动化流的区别
总条数:1429 到第
上滑加载中