• [API使用] embedding层初始化有相关API吗?
    要使用Embedding层训练词向量,Embedding的随机初始化有相关算子吗?
  • [技术干货] 【API进阶之路】太秃然了,老板要我一周内检测并导入一万个小时的视频
    上回说到,老板奖励7天带薪假,我就回家玩耍了几天,顺便还帮兄弟发不脱当了一回“AI大神”。(回顾:《没有AI工程师也能做OCR文字识别》)假期结束后回来上班,走进电梯都有一种特别的感觉,电梯某植发广告里的大哥看我的眼神好像和之前不太一样…到公司开了第一个会,原来,那个眼神像是一个预示。老板在会上说,最近视频团队谈了个合作,和另一个短视频平台进行内容共享,这样可以为我们的视频网站提供将近1万个小时的视频内容,希望研发来支持导入视频。我心想:“这简单呀,不就是导入视频么?写个脚本不就行了。”我给了老板一个“交给我”的眼神,老板回了我一个“看好你”的笑容。就这么着,这事儿就落到我了头上。现在想想,可能是我回北京的时候,没给脑子买票,人回来了,脑子落在老家…会后我找短视频运营老大对需求,他给提了3个点: 第一:导过来的视频要全部加上我们的水印;第二:要导入的视频格式和我们现在网站要求的格式不相符,所有视频都要转格式;第三:要对导过来的视频内容做检测,防止有违法违纪的内容出现。最后他还补了一句:“最好能在一周内完成,老板想要尽早上线。” 你在逗我么?一万个小时的视频,要转格式、加水印还要做内容安全检测,一周完成?我突然有点明白电梯广告那大哥的眼神是啥意思了… 批量转格式和加水印倒是好解决,但是这个安全检测...一边懊恼得直薅头发,一边习惯性逛华为云找灵感。我们之前用过图像内容检测API,可以用来检测图片是否有违法违纪的内容,但是视频貌似用不了。如果能把视频每一帧都截图,是不是就可以检测了?继续找,果然有一个“视频截图API”!先用视频截图API设置自动截图的任务,再用图像内容检测API来判断是否有内容风险,同时利用媒体处理MPC提供的转码模板和水印模板来解决打水印和转格式的问题。完美解决!提交视频截图任务的方式如下:(详细步骤查看)前提条件获取需要创建截图任务区域的项目ID(获取项目ID)。明确需要创建截图任务所在的区域信息,并获取该区域的Endpoint(地区和终端节点获取)。调用OBS创建桶API创建用于存储截图文件的OBS桶,再调用OBS上传对象API将待截图处理的视频文件存储在OBS桶中。操作步骤步骤1:获取用户token。用于MPC接口时进行认证鉴权。在“我的凭证”页面获取username、password、domainname、projectname,调用如下接口获取Token。POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json {   "auth": {     "identity": {       "methods": [         "password"       ],       "password": {         "user": {           "name": "username", //用户名。           "password": "password", //用户登录密码。           "domain": {             "name": "domainname" //用户所属的账号名称。             }         }       }     },     "scope": {       "project": {          "name": "projectname"  //项目名称。       }     }   } }如图所示,红框中的信息为获取用户Token。步骤2:创建截图任务1、发送一条POST请求。POST:https://{endpoint}/v1/{project_id}/thumbnails2、请求消息头中增加“X-Auth-Token”,值设置为获取的用户token。3、Request Body中传入参数如下:{ "input": {            "bucket": "example-bucket",            "location": "region01",            "object": "/mpc/input/sample.MP4" }, "output": {            "bucket": "example-bucket",            "location": "region01",            "object": "/mpc/output/ "},   "tar": 1, "thumbnail_para": {            "type":"DOTS",         "dots":[2,4,6,8,10],               "format":0,             "aspect_ratio":1,              "max_length":480           }  }<p style="margin->4、请求响应成功后,反馈截图任务ID。{     "task_id": "2081" }步骤3:查询视频截图执行情况1、发送一条GET请求。GET:https://{endpoint}/v1/{project_id}/thumbnails?task_id=20812、请求消息头中增加“X-Auth-Token”,值设置为获取的用户Token。请求响应成功后,返回视频截图的详情信息。截图完成以后,截好的图都传入创建好的OBS桶中,再把截图做下图片内容审核就OK啦!写完程序,自动传着视频,我下楼吃饭,在电梯里特意看了看广告牌的大哥,这下眼神正常了~了解更多华为云API信息:“免费下载创新加速利器《华为云API精选手册》【拓展阅读】【API进阶之路】因为不会创建云服务器,我被实习生摆了一道【API进阶之路】前浪的绝地反击与自我证明【API进阶之路】甩锅大会上,我是如何绝地求生的【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!【API进阶之路】一个技术盲点,差点让整个项目翻车【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察【API进阶之路】破圈,用一个API代替10人内容团队【API进阶之路】用API打造一条自动化内容生产流水线【API进阶之路】没有AI工程师也能做OCR文字识别——活动推荐——华为云已经成为全球主要云服务供应商,在华为云上开放了2400+ API,包括计算、存储、网络、应用服务、软件开发服务、视频、数据库、EI智能等74+产品,如何利用这些丰富强大的API快速开发自己的应用和服务,成为大家关注的热点。华为云API学习赛,为入门初学者量身定制的学习平台,以赛带学,学以致用。无需代码,只需下载体验模板,按操作文档操作即可完成作品。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机超级激励!!识别下图二维码即可报名参加。API入门学习赛·AI人脸识别报名地址奖项设置API入门学习赛·探险寻宝之旅报名地址奖项设置
  • 【API进阶之路】太秃然了,老板要我一周内检测并导入一万个小时的视频
    上回说到,老板奖励7天带薪假,我就回家玩耍了几天,顺便还帮兄弟发不脱当了一回“AI大神”。(回顾:《没有AI工程师也能做OCR文字识别》)假期结束后回来上班,走进电梯都有一种特别的感觉,电梯某植发广告里的大哥看我的眼神好像和之前不太一样…到公司开了第一个会,原来,那个眼神像是一个预示。老板在会上说,最近视频团队谈了个合作,和另一个短视频平台进行内容共享,这样可以为我们的视频网站提供将近1万个小时的视频内容,希望研发来支持导入视频。我心想:“这简单呀,不就是导入视频么?写个脚本不就行了。”我给了老板一个“交给我”的眼神,老板回了我一个“看好你”的笑容。就这么着,这事儿就落到我了头上。现在想想,可能是我回北京的时候,没给脑子买票,人回来了,脑子落在老家…会后我找短视频运营老大对需求,他给提了3个点:第一:导过来的视频要全部加上我们的水印;第二:要导入的视频格式和我们现在网站要求的格式不相符,所有视频都要转格式;第三:要对导过来的视频内容做检测,防止有违法违纪的内容出现。最后他还补了一句:“最好能在一周内完成,老板想要尽早上线。” 你在逗我么?一万个小时的视频,要转格式、加水印还要做内容安全检测,一周完成?我突然有点明白电梯广告那大哥的眼神是啥意思了… 批量转格式和加水印倒是好解决,但是这个安全检测...一边懊恼得直薅头发,一边习惯性逛华为云找灵感。我们之前用过图像内容检测API,可以用来检测图片是否有违法违纪的内容,但是视频貌似用不了。如果能把视频每一帧都截图,是不是就可以检测了?继续找,果然有一个“视频截图API”!先用视频截图API设置自动截图的任务,再用图像内容检测API来判断是否有内容风险,同时利用媒体处理MPC提供的转码模板和水印模板来解决打水印和转格式的问题。完美解决!提交视频截图任务的方式如下:(详细步骤查看)前提条件获取需要创建截图任务区域的项目ID(获取项目ID)。 明确需要创建截图任务所在的区域信息,并获取该区域的Endpoint(地区和终端节点获取)。调用OBS创建桶API创建用于存储截图文件的OBS桶,再调用OBS上传对象API将待截图处理的视频文件存储在OBS桶中。操作步骤步骤1:获取用户token。用于MPC接口时进行认证鉴权。在“我的凭证”页面获取username、password、domainname、projectname,调用如下接口获取Token。POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json {   "auth": {     "identity": {       "methods": [         "password"       ],       "password": {         "user": {           "name": "username", //用户名。           "password": "password", //用户登录密码。           "domain": {             "name": "domainname" //用户所属的账号名称。             }         }       }     },     "scope": {       "project": {          "name": "projectname"  //项目名称。       }     }   } }如图所示,红框中的信息为获取用户Token。步骤2:创建截图任务1、发送一条POST请求。POST:https://{endpoint}/v1/{project_id}/thumbnails2、请求消息头中增加“X-Auth-Token”,值设置为获取的用户token。3、Request Body中传入参数如下:{ "input": {            "bucket": "example-bucket",            "location": "region01",            "object": "/mpc/input/sample.MP4" }, "output": {            "bucket": "example-bucket",            "location": "region01",            "object": "/mpc/output/ "},   "tar": 1, "thumbnail_para": {            "type":"DOTS",         "dots":[2,4,6,8,10],               "format":0,             "aspect_ratio":1,              "max_length":480           }  }<p style="margin->4、请求响应成功后,反馈截图任务ID。{     "task_id": "2081" }步骤3:查询视频截图执行情况1、发送一条GET请求。GET:https://{endpoint}/v1/{project_id}/thumbnails?task_id=20812、请求消息头中增加“X-Auth-Token”,值设置为获取的用户Token。请求响应成功后,返回视频截图的详情信息。截图完成以后,截好的图都传入创建好的OBS桶中,再把截图做下图片内容审核就OK啦!写完程序,自动传着视频,我下楼吃饭,在电梯里特意看了看广告牌的大哥,这下眼神正常了~了解更多华为云API信息:“免费下载创新加速利器《华为云API精选手册》【拓展阅读】【API进阶之路】因为不会创建云服务器,我被实习生摆了一道【API进阶之路】前浪的绝地反击与自我证明【API进阶之路】甩锅大会上,我是如何绝地求生的【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!【API进阶之路】一个技术盲点,差点让整个项目翻车【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察【API进阶之路】破圈,用一个API代替10人内容团队【API进阶之路】用API打造一条自动化内容生产流水线【API进阶之路】没有AI工程师也能做OCR文字识别——活动推荐——华为云已经成为全球主要云服务供应商,在华为云上开放了2400+ API,包括计算、存储、网络、应用服务、软件开发服务、视频、数据库、EI智能等74+产品,如何利用这些丰富强大的API快速开发自己的应用和服务,成为大家关注的热点。华为云API学习赛,为入门初学者量身定制的学习平台,以赛带学,学以致用。无需代码,只需下载体验模板,按操作文档操作即可完成作品。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机超级激励!!识别下图二维码即可报名参加。API入门学习赛·AI人脸识别报名地址奖项设置API入门学习赛·探险寻宝之旅报名地址奖项设置
  • [FAQ] 【atlas200DK】driver/peripheral_api.h: no such file or directory
    【问题描述】运行人脸检测样例,build的时报错,报错内容为:driver/peripheral_api.h: no such file or directory【可能原因】1.没有在开发环境安装driver包2.driver包安装了,但没有放到指定位置,样例的cmakelist里写的位置是$HOME/Ascend。【解决办法】安装driver包,并解压到$HOME/Ascend目录下。安装Media模块参考: https://support.huaweicloud.com/environment-deployment-Atlas200DK202/atlased_04_0025.html下载对应版本的driver包,并解压至$HOME/Ascend 目录下
  • [技术干货] 《ONAP技术详解与应用实践》读书笔记20
    ONAP公共组件ONAP公共组件为所有ONAP组件提供通用的功能和服务,例如访问控制、数据管理、日志记录、服务总线和集成测试等。本章将继续按照项目的维度,讲解这些通用功能和服务是如何在各个公共组件项目中实现的。7.1 AAFAAF (Application Authorization Framework,用程序授权框架)项目刚启动时只包含授权,现在已经发展为同时支持认证和授权。AAF是客户端库和RESTful业务的集合,支持多种认证协议和细粒度的授权,同时支持基于角色授权和基于属性授权。AAF的目标是为各ONAP组件提供一致的认证、授权和安全性。AAF管理软件授权,使应用程序、工具和业务能够根据权限配置执行相应的任务。AAF支持细粒度授权,意味着AAF能够提供对应用程序某项具体操作进行授权,例如用户是否可以停留在某个页面上,是否能够访问App内某个消息订阅主题。在云环境中,业务要求能够在短时内安装并运行,用户本地的权限和秘钥控制不应成为业务运行的阻碍,因此AAF的授权功能对云环境尤其重要。ONAP中的资源Owner定义权限并把权限分配给各种Role。当拥有某个Role的个人请求授予权限时,资源Owner将收到通知。AAF的核心组件是一个注册在云目录中的RESTful服务,负责提供企业级的访向控制,它的后端是一个基于Cassandra数据仓库。数据则通过RESTFul APl进行管理,同时某些管理功能支持界面操作。CADI框架是一个为容器或独立业务提供最小配置的企业级身份验证和授权的框架。基于CADI,业务可以实现以一种或多种协议进行授权,或是使用AAF组件进行细粒度的授权。AAF作为一个IAM (Identity and Access Management,身份及访向管理),基于角色和权限的分离,来进行用户的权限管理控制。其中权限由以下属性组成:类型(Type):该权限的类型。实例(Instance):当前交互的对象。动作(Action):该对象在做的事。ONAP中指定模块的所有角色、权限和身份认证在AAF中都有相应的命名空间(name-space)。 AAF中的命名空间是角色、权限和身份的集合体。命名空间以Domain来区分,例如 com.onap.dcae或com.onap.appc,且分层进行管理。每个应用分配一个命名空间,其中包含若干个角色和若干个权限。默认情况下,每个命名空间都有一个管理员角色。在一个命名空间中,任务Owner需要通过邮件获取允许操作的通知,如果是有时效性的操作,则会定期收到定期重新验证的通知。定期重新验证的内容包括命名空间中拥有该角色的用户,以及命名空间中该角色的权限。如果是管理员,则能够进行如下操作:(1)创建、删除、修改命名空间中的角色。(2)添加、移除命名空间中某个角色的用户。(3)创建、删除、修改命名空间中的权限。(4)授予或收回任何命名空间中角色的权限。注意:授权流程是单向的,只有命名空间管理员可以管理命名空间内的角色和权限。7.2 CCSDK7.2.1 功能入绍CCSDK (Common Controller SDK,通用控制器软件开发工具)提供通用的可复用代码,可以跨多个控制器使用。可以在其他组件中使用这些代码,但代码本身并不是用例的终端方案,也不能部署自身。控制器可使用CCSDK,可以随意使用其中的SDK.ONAP控制器的业务逻辑是由DG定义的。CCSDK提供了核心业务逻辑解释器(SLI)功能,以运行有向图(DG)。DG允许业务设计人员定义在任意控制器内执行的逻辑,可以自由使用图形化界面实时操作而无须重新启动控制器。下面是CCSDK提供的库列表:(1) CCSDK父节点:包括具有通用属性、插件设置、通用依赖版本、ODLparent-pom等。(2) CCSDK核心:核心平台用于编译并运行DG。作为该库的一部分, dblib也可用于访问数据库。其中包含用于测试业务API的SLIAPI。(3)CCSDK造配器: DG使用各种适配器与其他ONAP组件或外部业务进行交互。其中包括: A&AI适配器、Ansible适配器、Mdsal数据查询适配器、SOL查询适配器、 Salt-sack适配器、资源分配器、NetBox客户端。(4) CCSDK北向: CCSDK客户端使用的是NBI。北向API包含DMaaP用户、UEB用户、ASDC API、数据变更API和LCM API.(5) CCSDK插件: DG使用的功能性添加具有以下特性:属性节点( Properties Node):将所有YANG模型信息转换为Map<String, String>,反之亦然。REST API调用节点向需要的任何设备和控制器发送REST请求。RESTCONF API调用节点将Map<String, String>转换为JSON或XML文件,并发送对应YANG模式的REST请求。RESTCONF发现节点与控制器和设备保持连接,并为特定事件调用所需的DGSSH API调用节点向DG运行节点发送ssh请求。模板节点(Template Node),用于连接Velocity模板与DG参数。(6) CCSDK分发:操作、管理和维护控制器的工具。包含生成CCSDK Docker镜像的文件(dgbuilder, ccsdk-odlslice, ccsdk-odl-origin、cesdk-ubuntu)(7) CCSDK应用程序:用于运行在OpenDaylight容器之外的应用程序,如CDS的服务。包含控制器蓝图、蓝图处理器、VLAN标签API, NENG ( Network Element NameGenerator)微服务。(8) CCSDK特性:将其部署为与SLI基础设施无关的Karaf特性。当前特性包含旧版本的蓝图处理器代码。7.3 DMaaP7.3.1 功能介绍DMaaP (Data Movement as a Platform,数据移动即平台)是高性能、高性价比的数据移动服务的首选平台。 DMaaP根据业务和用户对于格式、质量、安全和并发等需求,在任意源与目标之间对数据进行传送和处理。DMaaP主要包含如下重点特性:支持ONAP组件之间的消息传递。支持ONAP组件之间的数据传输数据过滤能力数据压缩能力基于文件传送的数据路由能力基于事件传送的消息路由能力。批处理和基于数据处理能力。DMaaP由三个主要功能区域组成数据过滤:通过教据分析方法在边缘预处理数据,然后压缩数据以缩小需要处理的数据大小数据传输:数据中心内部和不同数据中心间的数据传输访且的数露核动。我据传输进程满要以最小延迟,确保送达和高可用性的解决方案,将就据从一个系统移动到另一个系统。这种解决方短上市时间的自订购模型。数据处理:支持低时还机高吞吐量的数据转换、聚集和分析。数据处理可跨数据中心实现弹性伸缩和容错,且需支持数据批量处理和接近实时的数据。数据总线控制器( Data Bus Controller)为DMaaP提供API支持,提供基于文件的数据移动,且以大文件优先。它包括如下两项技术:作为消息传输总线的消息路由器作为文件传输总线的数据路由器MR ( Message Router,消息路由器)是一个RESTful的HTTP服务,使用Kafka消息服务来实现大容量持续的从若干个发布者到若干个订阅者之间的消息传递。客户端发布主题并且订闻主题。消息通过API进行接收,且不保证接收消息的顺序。事实上,相关的消息被分配到对应的主题组并在这个组里进行排序。MR由平台业务提供者以Web服务形式部署,以支持平台客户端使用该服务。在DMaaP的MR中,客户端能够通过RESTful接口调用任何需要使用Kafka的服务。MR的服务层基于AJSC (AT&T Java Service Container,AT&T的Java服务容器)创建, DMaaP收到请求后, 调用MR, MR则通过AJSC调用Kafka服务并且返回正确的响应。MR包括以下功能:发布订阅消息隐喻,增加数据处理的机会。大多数事件分发的解决方案需要支持多种环境打包以支持从单个容器到主机集群的部署配置。横向扩展,在集群中添加服务器以增加容量。耐久性,集群中的硬件故障不会影响业务,不会丢失消息。高可用性,即使用户经历故障,也不会丢失消息。高吞吐量,用户能够在集群中跨多个主机分发主题。能通过RESTful HTTP API易于集成。允许客户端在网络多点部署情况下连接到最近的端点。客户端认证授权模型支持多种认证授权模型,默认为未认证。模型与单个主题或多个主题组相关联。可选支持依赖外部服务进行客户端认证和授权的模型。可选支持将选定主题的消息复制到DMaaP MR的实例上。可选支持不同的底层消息总线技术,且对客户端透明。主题名称标准化,主题注册和发现。支持从故障点开始恢复发送未完成的消息。DR (Data Router, 数据路由器)是文件的传输总线。DR作为数据生产者向数据消费者提供数据的通用框架,同时为潜在的数据消费者找到Feed提供方法。DR的接口以RESTful API的形式存在,也叫发布与分发API, DR的Web服务允许用户发布和订阅Feed,并进行文件的发送和接收。DR包括以下功能:基于发布/订阅架构,为已发布的Feed添加新用户时无须在源侧操作。将数据存在于RDBMS、 NoSQL DB或其他DBMS和Flat文件中。发布者和用户路径之间保持松耦合。能够通过日志记录跟踪已完成的文件传输。使用HTTP作为文件传输协议,允许用户挑选合适的语言和框架。只需要在两个应用程序之间而不是服务器之间配置连通性。分发重试操作持续24小时,若超时,则标记其为永久失败。对每个发布请求进行用户认证对每个发布路径进行认证以决定是否允许发布。支持低时延的大文件传输。Feed能够增加确保分发的选项,支持超时下线的订阅者。DR中的Feed是发布者认为与逻辑相关的、具有相同安全策略的文件序列。每一个发布的文件都会包含Feed描述信息元数据。多个订阅者可能在同一个Feed上,且多个发布者也可能提供同一个  Feed。发布者在发布之前,会将小文件合组为大的单个文件,并通过Curl或Java发布文件。订阅者依赖发布者进行文件构建。如果订阅者当前处于下线状态,则不会收到分发操作失败的通知。使用DR的日志查询API能够查看分发失败文件的事务记录,该API也支持基于Feed和时间范围的过滤条件。在传输失败的情况下, DR将在24小时内重试传送,超时则标记为永久失败。7.4LoggingONAP由多个组件和容器组成,因此会产生许多日志文件。尤其在打开debug开关时,日志输出量巨大。大型的、不同的日志文件很难监视和分析,如果没有工具,跨文件、文件系统和容器请求跟踪几乎不可能。ELK (Elastic Stack,弹性堆栈)解决了去中心化的日志输出问题。ELK对日志进行处理,在Elasticsearch中建立索引,并通过Kibana发现器来进行访问、查询和导航,ELK加强了日志的标准化,且提高了机器可读性。日志文件仍然可以浏览,但最终输出可以简化。ONAP中的日志配置具有多样性和特殊性。解决这些问题降低用户进行外部化操作,如日志分析的消耗。ONAP的日志记录还提供了处理和传播上下文信息等相关问题的机会。日志传播对日志分析非常重要,这是因为日志传播会遍历ONAP和相关联的系统,使得请求跟踪更加容易,而请求跟踪是很多日志分析功能的基础。合理的日志配置和输出也使得其他高性能日志传输成为了可能,这其中包括通过SYSLOG、流和持久化机制直接输出到分析模块。Logging日记记录架构由以下几个组成部分:ONAP节点。指的是ONAP平台的不同组件,每个组件都会根据各自的配置生版日志。卷。存放日志文件的数据存储Beats。 FileBeat是Beats家族的日志运输器。Beats家族是一组安装在主机上的轻量级日志运输器,用于将不同类型的数据运送到ELK中进行分析LogStash。开源的服务器端数据处理管道,同时从多个源中收集并转换数据,然后将数据发送到对应的存储中。Elasticsearch。提供分布式的、多租户的全文搜索引擎。7.5 MSBMSB (Micro-service Bus, 微服务总线)提供可靠的、弹性的与可扩展的通信和管理基础设施,支持ONAP微服务架构中的服务注册和发现,主要功能包括:提供RESTful API服务注册和发现提供服务注册、发现和服务间通信的Java SDK基于OOM-Kube2MSB提供透明的服务注册代理。提供透明的服务通信代理,通过内部API网关和Mesh Sidecar处理服务发现、负载均衡、路由、故障处理和可见性提供部API网关,对外提供ONAP服务。MSB是可插拔的架构,可以通过插件的形式增加其他的功能。例如,可以使用auth插件来提供集中的认证和授权。MSB同时提供一个服务Portal,用于管理RESTful API。MSB是一个独立的平台,能与Kubernetes集成,为ONAP微服务提供透明的服务注册,也支持OpenStack Heat模板和裸机形式部署。MSB主要由如下3部分组成:MSB发现。提供业务发现和注册的REST APIAPI网关。提供服务请求路由、负载均衡和服务治理功能,可以部署为外部网关或内部网关。MSB SDK。是客户端侧的Java SDK,可以用于微服务的点到点通信。MSB同时提供了一个Swagger SDK,可以生成Swagger REST服务描述文件7.6 MUSIC要在三个9 (99.9%)的软件和基础设施的组合使用中以低成本的方式实现五个9(9999)的可用性, ONAP组件需要在多个平台成熟度弹性级别为3的站点中以可靠、主-主的方式工作。基本的思路是以可靠的、可扩展的、高可用的和高效的方式对跨站点的分布式站点进行状态管理。这个问题非常重要且具有挑战性,具体有如下3个方面的原因:目前针对像MariaDB集群的ONAP组件的状态管理解决方案,在单个站点内能够做到高效,但是在跨站点的分布式站点或分区操作中则不能做到高效。这主要是因为跨站点时, WAN延迟较高,会发生频繁的网络分区操作。ONAP组件通常在状态复制方面有不同的需求范围。有些组件需要跨副本同步管理状态,有些组件则容忍异步复制。这种多样性需要在跨站点下提供更好的性能和更高的可用性。ONAP组件经常需要跨不同的副本分区状态,对它们进行一致性操作,并确保在发生故障时,新的Owner可以访问最新的状态。实现这种所有权一致性的分布式协议很复杂,并且充满了零星案例,尤其是在网络分区的情况下。当前,每个组件都在构建自己的人工解决方案,但这样既浪费时间,又容易造成错误。MUSIC (Multi-site State Coordination Service,多站点状态协调服务)项目识别了ONAP组件的公共状态管理问题,为每个ONAP组件提供了一系列的多站点状态协调服务,支持简单配置后即可使用。MUSIC提供一个基于Cassandra的、可扩展的、共享的、一致性数据存储,通过与数据存储紧耦合的锁定服务来保护对键值的访问。MUSIC提供如下所示的一系列多站点状态协调方案。Mdbc,多站点数据库缓存,使得ONAP组件能够受益于MUSIC,在SQL数据库中保存状态,而不需要使用事务型的SQL数据库。Mdbc会拦截对数据库集群中的读写操作,并通过MUSIC以同步或异步的方式将该状态写到其他地理位置的站点Prom,策略驱动所有权管理,能够帮助ONAP组件在刚开始启用或者失败时,其于自身策略实现副本的分区状态;确保站点故障或网络分区期间,跨副本的状态所有权能够正确传递;确保新的Owner在需要时能够访问最新版本的状态musicCAS :分布式比对和配置是MUSIC的一个强大的基本操作,允许ONAP组件以原子方式共享更新状态。目前ONAP归属服务正在使用该方案,通过多个worker组成的任务调度器,筛选客户端提交的任务,并确保其中一个worker执行该任务。musicQ : MUSIC提供的队列API,通过细致的组织数据,来确保提供良好的性能。ONAP归属服务使用musicQ作为它的任务队列。7.7 VNFREQS VNFREQS项目创建并维护VNF相关的需求文档。这些需求文档对于不同的使用者来说,适用场景也会不同。对VNF供应商或开发者来讲,他可以依据VNFREQS的需求文档来设计、测试或者认证在ONAP中使用的VNF ;对运营商来讲, VNFREQS的需求文档可以用来作为ONAP场景下的VNF需求的原型文本。VNFREQS项目定义的需求旨在促进产业讨论对齐,输出全面可执行的VNF/PNF最佳实践。高昂的集成成本是新业务开发和部署面临的主要问题。VNFREQS项目希望通过开源的行业流程和最佳实践,最终能够规范商业场景下的VNF/PNF标准,使得集成成本能够做到最小化。传统的PNF如同雪花,每一个PNF都有自己的特性,每次集成都需要适配开发,集成成本非常高昂。相对的, VNF产品和业务应该像乐高玩具一样进行模块化设计,以达到降低集成成本的目的。例如,通过规范VNF所支持的通用操作和相关API,可以做到即插即用,并通过自动化管理框架进行管理。VNF的onboarding不再需要复杂和冗长的集成或开发,从而最大限度地实现自动化和集成成本最小化。VNFREQS项目的目标正是源于此,通过创建VNF开源环境、最佳实践和标准,为NFV生态系统带来如下的额外益处:扩大VNF供应商的市场。降低VNF供应商的开发时间和成本。在运营商环境快速引人和集成新功能。更好地向NCSP提供新功能更好地将新功能分发给终端用户。为NCSP降低集成成本。面向终端用户和NCSP的基于使用量的软件许可。7.8 DocumentationDocumentation项目描述了为各ONAP项目创建文档的方法。ONAP项目依据具体项目类型的不同会创建不同的内容。例如,交付平台组件的项目和创建软件开发库的项目对文档的要求是不同的。每个项目的内容都可以作为该项目的参考或用于针对特定用户受众正在执行的任务的文档。Documentation项目的流程参照了其他Linux基金会社区(包括OPNFV社区和openDayLight社区)中使用的类似文档流程。ONAP文档存储在社区的git库中,基于gerrit review进行修改,任何关于文档内变更都会自动触发新文档构建任务。文档作者按照RST格式编写文档内容,这些内容最终会生成HTML的网页格式,并且在readthedocs.io上进行发布。ONAP社区的开发者Wiki或其他网站可以直接引用这些文档。7.9 IntergrationIntergration负责ONAP跨项目的系统集成、CI/CD能力以及所有VNF场景下相关的端到端用例测试,同时包括ONAP项目对商用产品的适配。 Integration项目提供如下交付件:部署ONAP实例的Heat模板基于Robot测试框架开发的ONAP组件检查测试套件。用例部署的交付件。7.10 ONAP BenchmarkONAPBenchmark项目旨在为ONAP提供组件级、模块级和系统级的自动化测试测试范围包括但不限于:功能性测试性能测试稳定性测试可扩展性测试一致性测试压力测试ONAPBenchmark项目通过寻找端到端系统的瓶颈,为相应模块提出代码改进建议,并且向ONAP开发人员、用户或合作方提供测试报告。ONAPBenchmark项目基于Tsung工具和Robot测试框架开发自动化测试脚本用例。
  • [技术干货] 《ONAP技术详解与应用实践》读书笔记17
    5.10 UUI功能介绍UUI (Usercase UI)为运营商和终端用户提供图形化界面以进行自助管理与监控。UUI的目标包含:识别运营商和终端用户需要ONAP支持的GUI需求。整合每个ONAP各子系统的GUI增强GUI的功能。 UUI由两个模块组成1.GUI模块GUI模块是ONAP中的一个独立组件,可以单独进行部署。GUI模块为运营商和终端用户(如生命周期管理、监控器)提供图形用户界面。运行如下命令启动UUI的GUI模块:sodo docker run -i  -t -d --name uui_ui -p 8080:8080 -e  MSB_ADDR=$OPENO_IP:80 nexus3.onap.org: 10001/onap/usecase-ui2.服务器模块服务器模块是UUI的一个逻辑部件,主要由LCM事件与监控事件两部分组成。 LCM件分析NS文件,监控事件订阅VNF告警和性能数据。运行如下命令启动UUI的服务器模块:sudo docker run -i -t -d --name uui_server -p 8082:8082 -e MSB_ADDR=$OPENO_IP:80 -e MR_ADDR=$MR_IP:3904 nexus3.onap.org:10001/onap/usecase-ui/usecase-uiserver5.11 VF-C功能介绍VF-C项目使用ETSI NFV MANO架构和信息模型作为参考,实现VNF和NS的生命周期管理、故障管理、配置管理、性能管理、计费管理和安全管理。VF-C与ONAP的其他很多项目(如SDC,SO,A&AI和DCAE等)都有关系。VF-C与其他ONAP项目的依赖关系:VF-C与SDC为CSAR交付件互通SO代理SOL005 AP1调用(E2E业务)到VF-CVF-C使用A&AI作为业务、VNF和VL的持久层VF_C中的所有组件把MSB作为API网关进行通信使用DCAE VE采集器API向DCAE上报FCAPS教据使用多云 API增加、查询、更新和删除(CRUD)虚拟资源VF-C支持如下功能:基于ONAP TOSCA和YANG数据模型和工作流的NS和VNF生命周期管理。通过驱动集成包括VFM和通用VNFM的多个VNFM。通过通用VNFM与多VNF集成,不提供VNFM功能。Multi-VIM与Multi-VIMs集成,包括开源和商用VIM。微服务架构和基于模型的资源编排和管理。VF-C作为ONAP中的控制器,包含NFVO和GVNFM两个组件。NFVO组件具有如下特性:符合ETSI NFV MANO架构和信息模型。为NS提供资源编排和全生命周期管理和FCAPS.为VNFM提供标准的SBI为SO提供NBI以参与E2E业务的编排和操作提供接口,与DCAE和闭环自动化的策略配合使用。GVNFM组件具有如下特性:符合ETSI NFV MANO架构和信息模型。为无须厂商VNFM的VNF提供全生命周期管理和FCAPS。提供接口与NFVO组件配合,参与完成NS的LCM和FCAPS管理。提供接口,与DCAE和闭环自动化的策略配合使用VF-C提供的API包括VF-C北向API和VNFM集成API,前者负责网络业务的生周期管理,后者负责VNFM驱动集成。5.11.2重点特性VF-C当前版本支持的主要特性包括:在ONAP中提供MANO的合规编排,并支持闭环编排。NS编排支持PNF: NSLCM支持由VNF, PNF,VL组成的NSD; 目录支持PNFD组成并更新NSD DM.HPA支持:与OOF集成; VF-C支持解析包含HPA特性的R2+TOSCA模型。标准校准: GVNFM和目录中的SOL003校准。NS和VNF手动伸缩容。NS生命周期管理,包括创建、终止和恢复NS实例。VNF生命周期管理,包括创建、终止和恢复VNF实例。VNF FCAPS采集来自厂商EMS的FCAPS数据。VNFM集成,与厂商特定VNFM集成以部署商用VNFVNF集成,通过GVNFM与VNF集成。独立的数据库微服务。VF-C的未来社区规划特性有:SOL005和SOL003接口补齐。与Dublin版本TOSCA数据模型对齐。5.12 VIDVID (Virtual Infrastructure Deployment,虚拟基础设施部署)可用于基础设施部署、实例化基础设施服务与服务管理。VID的实例化模式包括宏观编排和lacarte编排。在选择目标实例化环境(如Multi-Cloud、测试环境等)后,支持:检查是否已有创建或预留的云资源,并触发云资源的创建。基于SDC设计的特定任务,定制业务、VNF或VF以适配当前的实例化。根据实例化工作流反馈实例化进程,在实例化失败时调用维护操作。VID能够进行变更管理,通过与A&AI的集成,检索当前已部署的业务,从SDC业务和VNF/VF模型中衍生出不可知的或特定的变更管理工作流,支持:为给定的业务和VNF/VF调用变更管理。为监控模板调用变更管理。为策略变更调用变更管理。为许可证变更调用变更管理。VID支持对工作流执行停止、启动、重启和恢复等动作,同时也支持对工作流进行调度,如通知、定时自动实例化等。VID的项目/管理看板包含用户管理、项目相关的VNF/VF和业务。VID支持用户对SDC中设计的基础设施服务和关联组件进行实例化操作,包括业务模型、VNF、 VF模块和磁盘卷组。实际使用过程中,在操作员输入合适的数据后, VID会触发MSO对上述业务模型或组件进行实例化操作。VID图形界面提供两个功能:查找已存在的服务实例,用于对查找到的服务实例进行管理。通过SDC服务模板查找某个模板,并根据模板进行服务的实例化操作。截至完稿之前, VID当前版本支持的主要能力包括:PNF即插即用业务实例化。手动VNFscale out增强。变更管理初始化。VID的Dublin版本及后续版本已规划如下能力:Cloud Region的ID一致性。支持展示各Cloud Region的Owner.向SO请求并提供Owner.用SO作为工作流的仓库。
  • [技术干货] 《ONAP技术详解与应用实践》读书笔记16
    5.8 SDN-C功能介绍SDN-C项目提供构建在通用控制器框架上的全局网络控制器,负责网络资源的管理、分配和发放。作为“全局”控制器, SDN-C项目旨在以每个企业的逻辑实例运行,集群中多个虚拟机和容器分布在不同的地理位置以提供高可用性。该项目还将支持调用其他的本地SDN控制器,包括第三方SDN控制器。SDN-C项目用于对vDNS、 vFw、vVoLTE、vCPE等各种用途的网络资源进行管理、分配和发放。SDN-C项目的主要组件包括以下几种。1.DG生成器DG是有向图( Directed Graph)的缩写,是业务流的实例。DG生成器是指创建DG的图形化工具。DG生成器是建立在IBM的Node-RED之上的一个图形化的开源项目,也在IoT (Internet of Things,物联网)应用程序中有定制。Node-RED参见https://nodered.org/。DG生成器使用JSON字符串作为内部格式,生成一个XML格式供SDN-C业务逻辑解释器使用。DG的目标是为快速编写和高度定制的业务流提供运行环境。Node-RED上的插件是通过JavaScript编写的, DG生成器的插件开发使用Java语言。这意味着Node-RED插件和DG插件不兼容。2.业务逻辑解释器(SLI)SLI是有向图的运行引整。运行REST RPC时, SLI会运行XML格式的DG, SLI转换XML文件。SLI是一个内部编写的Java代码,是由CCSDK提供的。3. API处理器实现了在SDN-C中可以运行RESTCONF API。大多数API处理器应该遵循以下规则:调用以RPC命名的DG,将RESTCONF的RPC参数以Java属性对象传递。返回来自DG调用的结果作为RESTCONF RPC的响应。4.活配器和插件A&AI适配器: SDNC可读写A&AI。基础的aaa服务类可以读写A&AI XSD范式中定义的任何对象。使用用例的DG可以驱动被读写的特定对象。添加为Svc-LogicResource。REST API调用节点:用于在设备或第三方域控制器上进行基于REST的CRRD操作。添加为SvcLogicPlugin,可以从DG中使用。RESTCONF API调用节点:用于在设备或第三方城控制器上进行基于REST CONFYANG操作。添加为SvcLogicPlugin,可以从DG中使用。插件可用于String操作、UID生成等。SDN-C数据库(DB):用于存储SDC模型的SQL数据库,也存储设计好的DG对象MDSAL数据库(配置和操作树): MDSAL提供的内存数据库,用于存放SDN-C资源。UEB监听器:监听SDC的分发。用于接收和使用SDC模型。DMaaP监听器: SDN-C可以订阅DMaaP上的各种主题,并监听DMaaP的事件通知,调用通用资源API进行设置网络连接、调用APPC LCM API等操作。5.9 SO5.9.1 功能介绍业务编排器(SO)组件通过自动排列活动、任务、规则和策略,对网络业务和资源创建、修改或删除的运行指定执行顺序。SO为基础设施、网络和应用的端到端视图提供高层次编排。其中的API处理程序(Hander)包含如下功能:北向客户端的RESTul接口,可对接OSS、 BSS、 Extermal API以及Portal。处理业务级和基础设施级(VNF和网络)的请求。使用SO数据库工作流绑定关系信息将输人请求映射到工作流菜单(BPMN流)。通过SO Request DB跟踪开放和已完成请求。BPEL执行引擎(Execution Engine)包含如下功能:运行BPMN业务工作流菜单。调用工作流菜单中每个资源的适配器来进行顺序编排的步骤。通过SDN-C请求和配置网络资源。通过Multi-Cloud管理云资源(OpenStack).通过APPC配置应用VNF通过VF-C配置网络业务。通过A&AI更新库存。为每个工作流菜单运行额外的编排步骤(咨询策略等)。执行错误处理或回滚。为下层控制器和其他ONAP组件提供接口适配平台编排器、SDN控制器、APP控制器。为高级调用隐藏复杂接口(如OpenStack API)的详细信息。以SOAP或REST API (同步或异步)的形式公开接口给BPEL使用SO目录将资源请求映射到工作流菜单或模板。从VNF转化到Heat模板。从SDN资源转化到YANG模型。另外,数据存储(Data Stores)作为请求数据库,跟踪开放和已完成的请求。SO目录( Catalog)作为SO视图的SDC业务目录,由SDC分发服务生成,涵盖业务和资源的工作流菜单、模板和定义。
  • [技术干货] 《ONAP技术详解与应用实践》读书笔记14
    APPC(应用程序控制器)负责管理VNF及其组件的生命周期,抽象云/NNF接口以支持重复操作,通过与厂商无关的机制(如NETCONF、Chef 和 Ansible实现生命周期管理的自动化。有一些生命周期命令在所有VNF类型上都适用,例如通过 OpenStack 运行的命令、或者一些通用的REST调用,如健康检查。其他命令需要由VNF用户在 APPC CDT (Controller Design Tool,控制器设计工具)中创建模板后使用。Northbound REST Layer 该层负责与APPC客户端交互,通过REST HTTP和/或DMaaP消息提供基于YANG的API。Westbound Layer 负责维护VNF实例信息的组件。APPC Provider 为每个APPC所支持的每个操作提供访问路径Dispatcher 负责处理请求处理程序从其他ONAP接受的请求。Request Handler 请求处理程序管理传入的请求,并为新的请求锁定APPC,以便执行有特定命令执行顺序的操作。Command Executor 管理命令执行队列State Machine 维护VNF状态矩阵来对APPC收到的操作请求做有效性验证。Service Logic Interpreter 负责执行DG。Southbound Layer 集成了Open DayLight平台的MD_SAL插件管理框架,以支持多种适配器管理,包括与VNF或基础设施层的交互等。Cross Cutting Component 面向切面编程组件,统一提供日志,权限验证等系统级跨模块的公共服务能力。KPIs 面向切面编程组件提供KPI相关服务能力,包括KPI测量,存储和报告。Security Service 提供安全认证授权框架Logging Service 实现EELF管理并生成日志Data Access Service 访问内部数据存储Transactions Store 事务记录,包括时间戳、请求ID、开始时间、结束时间、VF ID、VF类型和子组件。CLI重点特性CLI项目重点特性包括如下内容:无硬编码,纯文本:在开发一个命令时,用户、运营商、供应商可以根据开放命令规范编写YAML文件, OCLIP 会将YAML编排到命令中。交互式命令解析器:与其他企业级产品一样,CLI提供交互式命令解析器、用户可以通过可用命令、运行历史记录和运行特定命令来浏览交互式命令解析器。支持模板预制:用户可以预先存储环境特定的命令输人,并在运行命令时引用这些输入。多版本支持:CLI部署可以支持不同的ONAP版本,如ONAP Beijing版本和ONAP Cassablanca版本。批处理命令支持:用户可以使用参数文件选项依次运行多个命令。远程命令运行:提供远程执行CLI的gRPC接口。可扩展性和可复用性:支持VTP,用于运行VNF包校验测试用例。增加Python对OCS插件的支持。跟踪命令运行结果,供后续参考。增加基于RBAC的用户管理,用于区分不同角色的权限管理。External API功能介绍External API(外部 API)框架项目描述和定义了 ONAP和外部系统之间的API,主要包括面向BSS和 oSs 的北向接口。希望通过 ONAP和BSs/oss 之间的通用 API,利用ONAP的平台能力做到对存量BSS/OSs环境的最小化定制修改。这些API称为NBI (北向接口)。External API框架项目设计之初就考虑了运营商客户以及企业用户的如下诉求:需要一个清晰而明确的 ONAP业务抽象,以便BSS和OsS能够以一种通用、一致的方式进行业务需求和业务能力的交互。能快速在ONAP中集成新业务和业务组件,以便更快地为客户在其基础设施上引人新业务和业务组件。ONAP以通用方式管理业务的整个生命周期,能够以易集成、低成本的方式确保每个业务的编排、可管理性和可控制性。支持模型驱动方法:在ONAP外部接口之间共享视图,可用于或输入到模型驱动的过程中,从而降低交付平台功能的成本,并大大减少交付时间。External API项目的重点是简化业务实例化、许可证管理、网络地址空间管理。Multi-Cloud功能介绍Multi-cloud (也称Multi-VIM)项目的目标是在多种基础设施环境上部署和运行VNE/CNF,例如Openstack及其不同的发行版(如Vanilla Openstack、Wind River等)、公有云((如Azure、华为云)等。项目的定位为ONAP与任何下层的VIM或云之间的交互的中间层,该中间层支持如下能力:支持多种基础设施和网络后台的云适配层,有效防止厂商锁定。解耦ONAP平台与底层云基础架构,将底层云基础设施的升级对ONAP部署的影响降至最低。基础设施提供商对ONAP暴露基础设施的资源和特性,以优化VNF的归属和放置操作。支持基础设施资源恢复的闭环控制Multi-Cloud的架构Multi-Cloud的核心组件就是一个代理和各种插件。1)代理以微服务部署的单个代理为例,它包含以下功能:向ESR提供支持插件的元数据列表。利用云区域ID在找A&Al云区域,将API请求路由到相应的插件。将容量检查API的调用分发到相关插件。2)插件插件支持对各种VIM/云的API请求进行适配,已有多种以微服务形态部署的插件可用: Wind River (风河)插件:可适配Wind River Titanium Cloud R3, R4或RS版本。 ocata和Pike插件:可适配OpenStack Vanilla版本Ocata和Pike. v1o插件:适配VMware VIo. Azure插件:可适配Microsoft Azure Cloud. Kubernetes插件:可适配Kubernetes集群。2. Multi-Cloud/VIM工作流Multi-Cloud/VIM工作流详解(1)OOM负责部署ONAP Multi-Cloud业务。(2) ONAP用户通过ONAP ESR界面上线底层VIM或云实例: ESR创建A&Al云区域对象,并请求Multi-Cloud将发现的基础设施的资源和功能对Cloud Region进行更新。SDC分发业务模型和VNF交付件。ONAP用户部署业务,实例化VNF。(3) ONAP SO调用OOF归属等信息,确定放置VNF的相关信息。OOF通过匹配VNE的需求、Cloud Region的功能和资源,选择最佳的VNF归属。OOF的功能包含提供VNFHoming,也就是根据一定的规则决定VNF部署在哪个VIM上, OOF VNF Homing这个过程, OOF会向Multi-Cloud查询VIM的容量等信息(因为规则可能约束了VIM的容量约束等), so会调用OOF,以决定VNF需要部署在哪个VIM上。(4) VNF实例化。不同的VNF实例化的方法不同。对于VIM和云专有的交付件类型,例如HEAT模板, SO直接调用Multi-VIM实例化VNF。对于TOSCA交付件中的VNFD,SO调用VF-C将TOSCA交付件分解为原子资源,再调用Multi-Cloud进行原子资源实例化。目前SDN-C与Multi-Cloud之间的交互还未开始设计,将在后续版本中规划实现。MultiCloud还支持通过转发FCAPS事件和FCAPS流到DCAE VES采集器来实现闭环控制。APPC也可请求Multi-Cloud进行资源级的重适配。
  • 【API进阶之路】没有AI工程师也能做OCR文字识别
    在公司技术委员会副主席这个位置上干了有几个月了,期间,我一方面给研发团队整理各种文档资料,做技术沉淀;一方面给市场/运营帮了几次忙,用技术解决业务问题。上周又解决了一个业务难题,估计是考虑到升职加薪也不能太频繁,老板就奖励了我7天带薪假期,让我自己安排。(上集故事请查看:《破圈,用一个API代替10人内容团队》)程序员的工作时间不是996就是007,这突然有了假,干点啥去呢?疫情期间也不能出去浪,有日子没回老家了,回去看看吧。躺在老家院子里的摇椅上,我妈养的中华田园犬在身边绕来绕去,晃晃**地吃了睡睡了吃,日子虽然无聊,倒也难得清闲。叮~同样是做研发的高中同学发不脱同志给我打电话,约我晚上去学校旁边吃烧烤。说走就走,到了地方我看见这小子,紧了紧头上的帽子,赶紧坐下。几杯酒下肚,聊起大家的近况,发不脱表示出了对我的羡慕,“真羡慕你在北京工作,开发的都是些有意思的产品,不像我,待在老家,每天就是围绕销售的需求,让干啥就干啥,实在是没劲,一点成就感都没有。就比如最近销售提了个需求,让我给做一个自动识别名片的功能,你说这玩意能有啥用?”自动识别名片?现在谁还用名片,不都是微信联系了么,最多也是弄个小程序,一扫码就有自己的个人信息了,多方便。我说完,发不脱也说:“对啊,现在谁还用名片,所以这个需求销售那边一个月里提了三四次,都被我们给拒绝了,做了也没价值。”正说到这儿,我看着隔壁桌来了2个小伙子,俩人不太熟的样子,一见面又是握手又是寒暄,最后交换了名片才坐下。这名片难道还真有市场?看完这一幕,我突然有了点想法,跟发不脱说,还是帮销售实现这个需求吧,又不费事,几行代码就解决了,万一人家有用呢。没想到发不脱差点跟我急了:“几行代码?你闹呢?文字识别欸,我们又没有AI工程师,没那个技术能力!”这还不好解决么,说着我掏出手机,打开浏览器进入了华为云API Explorer,搜索“名片识别”,找到对应API,按照接口说明把调用方式发给了发不脱,可不就几行代码的事么。 过去了大概10来天,我已经回公司上班了,发不脱给我发信息:“哥们,谢谢你啊,这个名片识别的功能上线之后才发现,销售们每天能收回来一百多张名片,以前要手动录入CRM,现在扫完就能直接录入了,老板因为这个还给我涨工资了呢,大家还打听我什么时候学的AI,哈哈。” 通过这件事我也意识到,有些功能还真不能光凭自己的直觉和认识,来自一线的声音才是最真实的用户需求。如果你也需要名片识别这个功能,“名片识别API”调用方式如下,拿走不谢。步骤一:开通服务1.       进入文字识别OCR主页,单击“立即使用”,进入文字识别Console控制台。2.       选择服务所在的区域。系统默认显示“华北-北京四”,根据各服务的部署区域选择对应区域,开通与调用的服务必须在同一个区域。3.       在左侧服务列表中单击需要使用的服务,单击“开通服务”。 服务开通成功后,界面显示已开通的服务。步骤二:调试服务通过API Explorer可进行快速调试。在API Explorer点击文字识别。我们先看看调用这个API都需要点啥:看上去获取到名片图片的64位编码或者url就能调用了。举个栗子接下来我们就拿“诸葛亮”的名片调试一下。1、  获取名片图片的64位编码:把“诸葛亮”放进Chrome浏览器里,按F12,在弹出窗口点Sources,选中“诸葛亮”的名片文件,这样就能看到名片的64位编码了。2、  双击选中图片的base64编码信息,“Ctrl+C”复制,然后粘贴到 API Explorer里,点击“调试”,响应结果里就把“诸葛亮”的名片信息都识别出来了~(注意不可使用鼠标右键方式进行复制) 了解更多华为云API信息:“免费下载创新加速利器《华为云API精选手册》【拓展阅读】【API进阶之路】因为不会创建云服务器,我被实习生摆了一道【API进阶之路】前浪的绝地反击与自我证明【API进阶之路】甩锅大会上,我是如何绝地求生的【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!【API进阶之路】一个技术盲点,差点让整个项目翻车【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察【API进阶之路】破圈,用一个API代替10人内容团队【API进阶之路】用API打造一条自动化内容生产流水线——活动推荐——华为云已经成为全球主要云服务供应商,在华为云上开放了2400+ API,包括计算、存储、网络、应用服务、软件开发服务、视频、数据库、EI智能等74+产品,如何利用这些丰富强大的API快速开发自己的应用和服务,成为大家关注的热点。华为云API学习赛,为入门初学者量身定制的学习平台,以赛带学,学以致用。无需代码,只需下载体验模板,按操作文档操作即可完成作品。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机超级激励!!识别下图二维码即可报名参加。API入门学习赛·AI人脸识别报名地址奖项设置API入门学习赛·探险寻宝之旅报名地址奖项设置 
  • [技术干货] 【API进阶之路】没有AI工程师也能做OCR文字识别
    在公司技术委员会副主席这个位置上干了有几个月了,期间,我一方面给研发团队整理各种文档资料,做技术沉淀;一方面给市场/运营帮了几次忙,用技术解决业务问题。上周又解决了一个业务难题,估计是考虑到升职加薪也不能太频繁,老板就奖励了我7天带薪假期,让我自己安排。(上集故事请查看:《破圈,用一个API代替10人内容团队》)程序员的工作时间不是996就是007,这突然有了假,干点啥去呢?疫情期间也不能出去浪,有日子没回老家了,回去看看吧。躺在老家院子里的摇椅上,我妈养的中华田园犬在身边绕来绕去,晃晃**地吃了睡睡了吃,日子虽然无聊,倒也难得清闲。叮~同样是做研发的高中同学发不脱同志给我打电话,约我晚上去学校旁边吃烧烤。说走就走,到了地方我看见这小子,紧了紧头上的帽子,赶紧坐下。几杯酒下肚,聊起大家的近况,发不脱表示出了对我的羡慕,“真羡慕你在北京工作,开发的都是些有意思的产品,不像我,待在老家,每天就是围绕销售的需求,让干啥就干啥,实在是没劲,一点成就感都没有。就比如最近销售提了个需求,让我给做一个自动识别名片的功能,你说这玩意能有啥用?”自动识别名片?现在谁还用名片,不都是微信联系了么,最多也是弄个小程序,一扫码就有自己的个人信息了,多方便。我说完,发不脱也说:“对啊,现在谁还用名片,所以这个需求销售那边一个月里提了三四次,都被我们给拒绝了,做了也没价值。”正说到这儿,我看着隔壁桌来了2个小伙子,俩人不太熟的样子,一见面又是握手又是寒暄,最后交换了名片才坐下。这名片难道还真有市场?看完这一幕,我突然有了点想法,跟发不脱说,还是帮销售实现这个需求吧,又不费事,几行代码就解决了,万一人家有用呢。没想到发不脱差点跟我急了:“几行代码?你闹呢?文字识别欸,我们又没有AI工程师,没那个技术能力!”这还不好解决么,说着我掏出手机,打开浏览器进入了华为云API Explorer,搜索“名片识别”,找到对应API,按照接口说明把调用方式发给了发不脱,可不就几行代码的事么。 过去了大概10来天,我已经回公司上班了,发不脱给我发信息:“哥们,谢谢你啊,这个名片识别的功能上线之后才发现,销售们每天能收回来一百多张名片,以前要手动录入CRM,现在扫完就能直接录入了!老板因为这个还给我涨工资了呢,大家还打听我什么时候学的AI,哈哈。” 通过这件事我也意识到,有些功能还真不能光凭自己的直觉和想当然,来自一线的声音才是最真实的用户需求。如果你也需要名片识别这个功能,“名片识别API”调用方式如下,拿走不谢。步骤一:开通服务1.       进入文字识别OCR主页,单击“立即使用”,进入文字识别Console控制台。2.       选择服务所在的区域。系统默认显示“华北-北京四”,根据各服务的部署区域选择对应区域,开通与调用的服务必须在同一个区域。3.       在左侧服务列表中单击需要使用的服务,单击“开通服务”。 服务开通成功后,界面显示已开通的服务。步骤二:调试服务通过API Explorer可进行快速调试。在API Explorer点击文字识别。我们先看看调用这个API都需要点啥:看上去获取到名片图片的64位编码或者url就能调用了。 举个栗子接下来我们就拿“诸葛亮”的名片调试一下。1、  获取名片图片的64位编码:把“诸葛亮”放进Chrome浏览器里,按F12,在弹出窗口点Sources,选中“诸葛亮”的名片文件,这样就能看到名片的64位编码了。2、  双击选中图片的base64编码信息,“Ctrl+C”复制,然后粘贴到 API Explorer里,点击“调试”,响应结果里就把“诸葛亮”的名片信息都识别出来了~(注意不可使用鼠标右键方式进行复制) —— 分割线 ——了解更多华为云API信息:“免费下载创新加速利器《华为云API精选手册》【拓展阅读】【API进阶之路】因为不会创建云服务器,我被实习生摆了一道【API进阶之路】前浪的绝地反击与自我证明【API进阶之路】甩锅大会上,我是如何绝地求生的【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!【API进阶之路】一个技术盲点,差点让整个项目翻车【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察【API进阶之路】破圈,用一个API代替10人内容团队【API进阶之路】用API打造一条自动化内容生产流水线——活动推荐——华为云已经成为全球主要云服务供应商,在华为云上开放了2400+ API,包括计算、存储、网络、应用服务、软件开发服务、视频、数据库、EI智能等74+产品,如何利用这些丰富强大的API快速开发自己的应用和服务,成为大家关注的热点。华为云API学习赛,为入门初学者量身定制的学习平台,以赛带学,学以致用。无需代码,只需下载体验模板,按操作文档操作即可完成作品。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机超级激励!!识别下图二维码即可报名参加。API入门学习赛·AI人脸识别报名地址奖项设置API入门学习赛·探险寻宝之旅报名地址奖项设置
  • [内容拦截申诉] 【博客】OBS API 鉴权实现宝典(上)—签名计算篇
    发帖内容:发文的版块名:博客发文的标题名:OBS API 鉴权实现宝典(上)—签名计算篇帖子内容链接:https://bbs.huaweicloud.com/blogs/197483
  • [技术干货] OBS API 鉴权实现宝典(下)—OBS API实战篇
    OBS提供了REST(Representational State Transfer)风格API,支持您通过HTTP/HTTPS请求调用。通过前述的签名计算方法,想必大家对OBS的API鉴权方式已经有所了解,下文将通过Postman、cURL、编码等方法对OBS的API进行实战调用。1、OBS支持的API列表详见官网链接:https://support.huaweicloud.com/api-obs/obs_04_0005.html2、构造请求本节主要介绍OBS RESTful 请求的构成2.1、请求URIOBS根据桶和对象以及所对应的子资源参数来确定具体的URI,当需要进行资源操作时,可以使用这个URI地址。URI的一般格式为(方括号内为可选项):protocol://[bucket.]domain[:port][/object][?param]URI中参数的具体含义如下:参数描述是否必选protocol请求使用的协议类型,如HTTP、HTTPs。HTTPs表示通过安全的HTTPs访问该资源,对象存储服务支持HTTP,HTTPs两种传输协议。必选bucket请求使用的桶资源路径,在整个系统中唯一标识一个桶。可选domain存放资源的服务器的域名或IP地址。必选port请求使用的端口号。根据软件服务器的部署不同而不同。缺省时使用默认端口,各种传输协议都有默认的端口号,如HTTP的默认端口为80,HTTPs的默认端口为443。可选OBS对象存储服务的HTTP方式访问端口为80,HTTPs方式访问端口为443。object请求使用的对象资源路径。可选param请求使用的桶和对象的具体资源,缺省默认为请求桶或对象自身资源。可选 2.2、请求方法HTTP方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。华为云对象存储支持以下的REST请求方法:方法说明GET请求服务器返回指定资源,如获取桶列表、下载对象等。PUT请求服务器更新指定资源,如创建桶、上传对象等。POST请求服务器新增资源或执行特殊操作,如初始化上传段任务、合并段等。DELETE请求服务器删除指定资源,如删除对象等。HEAD请求服务器返回指定资源的概要,如获取对象元数据等。OPTIONS请求服务器检查是否具有某个资源的操作权限,需要桶配置CORS。 2.3、请求消息头请求消息头是可选的附加请求头字段,如指定的URI和HTTP方法所要求的字段。以下是OBS的公共请求消息头:消息头名称描述是否必选Authorization请求消息中可带的签名信息。有条件必选类型:字符串。默认值:无。条件:匿名请求不需要带,其他请求必选。Content-LengthRFC 2616中定义的消息(不包含消息头)长度。有条件必选类型:字符串。默认值:无。条件:PUT操作和加载XML的操作必须带。Content-Type资源内容的类型,例如: text/plain。否类型:字符串。默认值:无。Date请求发起端的日期和时间。有条件必选类型:字符串。默认值:无。条件:如果是匿名请求或者消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。Host表明主机地址。如bucketname.obs.cn-north-4.myhuaweicloud.com。是类型:字符串。默认值:无。 2.4、请求消息体(可选)请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。3、发起请求本文以列举桶内对象为例,说明各种客户端发起请求调用OBS API的流程。3.1、构造请求1、按照上述2.1构建请求URI,本例中的URI即为“bucketname.obs.cn-north-4.myhuaweicloud.com”;2.按照上述2.2选择对应的请求方法,本例使用“GET”请求方法;3.按照2.3选择对应的请求消息头,由于本例的请求为GET请求,因此Content-Type、Content-Length、Content-MD5都设置为空字符串;其中“Authorization”请求头中的签名需要根据前文所述的签名计算方法进行计算:StringToSign=GET Thu, 03 Sep 2020 01:57:08 GMT/bucketname/将其进行加密并进行编码后,获得Authorization头域为:OBS Y5IBJTPVZBXYXVLKVOSZ:L0h7P/XDJltLkT/arekZy3Ysh68=4.传入对应的请求消息体,本例中不涉及。3.2、使用PostMan发起请求Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。由于Postman具有可视化的操作界面,因此调试接口过程不再赘述。注意事项:当在请求中不手动指定“Content-Type”等头域时,Postman会自动生成头域,可能会导致签名不匹配的情况,可通过点击红框中的按钮将隐藏头域显示以便定位此类问题;3.3、使用cURL发起请求cURL是利用URL语法在命令行方式下工作的文件传输工具。利用cURL可以调试OBS提供的接口。在使用curl调试OBS API时,需要用到以下的语法:-H HTTP请求头-X HTTP方法调用OBS提供的列举对象接口时,在Linux终端下执行以下命令:curl -X GET https://bucketname.obs.cn-north-4.myhuaweicloud.com -H "Content-Type:" -H "Authorization:OBS Y5IBJTPVZBXYXVLKVOSZ:*****" -H "Date:Tue, 25 Aug 2020 03:16:39 GMT" –kv即可获取到接口返回的信息。注意事项:curl命令所携带的 –k参数允许curl使用非安全的ssl连接并且传输数据(证书不受信),而-v参数能输出更详细的参数便于debug。3.4、使用HTTP请求库发起请求通过编码发起请求,以Python常见的HTTP请求库requests库为例,代码如下:(示例代码中已集成签名计算)1.  import hashlib  2.  import hmac  3.  import binascii  4.  from datetime import datetime  5.  import requests  6.  import time  7.    8.  AK = "Input Your Access Key Id"  9.  SK = "Input Your Secret Access Key Id"  10.   11.   12. time = time.time()  13. time = int(time)  14. time = str(time)  15.   16. # 计算签名  17. httpMethod = 'GET'  18. contentType = ''  19. Conten**5 = ''  20. date = datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')  21. canonicalizedHeaders = ''  22. canonicalizedResource = '/obs-yuchenyu/'  23. canonical_string = httpMethod + "\n" + Conten**5 + "\n" + contentType + "\n" + date + "\n" + canonicalizedHeaders + canonicalizedResource  24. hashed = hmac.new(SK.encode('UTF-8'), canonical_string.encode('UTF-8'), hashlib.sha1)  25. encode_canonical = binascii.b2a_base64(hashed.digest())[:-1].decode('UTF-8')  26.   27. url = 'https://obs-yuchenyu.obs.cn-north-4.myhuaweicloud.com/'  28.   29. # 生成请求头  30. headers = {  31.     'Date': date,  32.     'Authorization': 'OBS {}:{}'.format(AK, encode_canonical),  33.     'Content-Type': '',  34.     'Content-MD5': ''  35. }  36.   37.   38. # 发送请求  39. resp = requests.get(url, headers=headers, verify=False)  40. print(resp.status_code)  41. print(resp.headers)  42. print(resp.content.decode('utf-8'))  返回结果如下:"C:\Program Files\Python37\python.exe" "D:/OBS PythonSDK/OBS_API.py"200{'via': 'proxy A', 'Date': 'Tue, 25 Aug 2020 03:25:59 GMT', 'Server': 'OBS', 'Connection': 'Keep-Alive', 'x-obs-id-2': '32AAAQAAEAABAAAQAAEAABAAAQAAEAABCTDP5fqiYrOrqBlcJ91P0KqhCGTp+5Pl', 'Content-Type': 'application/xml', 'Content-Length': '28217', 'x-obs-request-id': '0000017423A6A7AA44CB43873F3DBCD6', 'x-obs-bucket-location': 'cn-north-4'}<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ListBucketResult xmlns="http://obs.myhwclouds.com/doc/2015-06-30/">……Process finished with exit code 0  【系列文章推荐】:OBS API 鉴权实现宝典(上)—签名计算篇OBS API 鉴权实现宝典(中)—POST签名计算
  • [活动公告] 体验官有奖体验第34期 |华为云云测-Mock中心服务体验及评测
    本期体验产品:华为云云测-Mock中心服务体验及评测体验形式:       本次体验采用有奖征集体验评测报告+群内交流反馈的形式。我们将在体验官群内(扫描最下方二维码申请成为体验官)筛选25位体验官,所有体验官按照云测-Mock中心-操作指导书(详见附件)体验产品,并输出产品体验报告。我们会从中筛选出高质量体验报告,给予礼品奖励。中奖率超高哟~~☆奖品设置如下☆金牌测评体验报告奖:3名奖品:美的 (Midea)便携榨汁机              银牌测评体验报告奖:7名奖品:文件收纳包1个 体验评测报告优秀参与奖:15名奖品:旅行本(套装)1套           产品介绍:随着微服务系统及分布式架构的发展,多模块或子系统的依赖为软件系统的开发与测试带来了很多挑战。比如在测试某个模块时,依赖的第三方服务不能返回想要的结果,或者第三方服务不稳定,该模块的测试进度就会受到影响。Mock服务可以模拟接口的响应,解决开发或测试过程中依赖的服务不稳定等问题。使用说明:产品详细使用说明:https://support.huaweicloud.com/usermanual-testman/cloudtest_01_0041.html报告体验维度:请您根据附件指导体验产品,并按照以下维度输出体验报告:(1)使用体验:从最开始接触使用API Mock服务到最后操作完毕,请简短概括下您的使用体验(2)需求建议:A.      是否容易上手,API Mock服务使用帮助是否能解决遇到的问题,需要增加哪一类的使用帮助;B.      对于产品性能,操作便捷性,可视化界面(包括参数说明)等有什么建议;C.      你觉得哪一模块可以使用其他更优的方案替代;D.      使用过程中有哪些不好的体验,是否出现异常,无反应无提示的状态;(3) 满意度及推荐度:当有Mock一个微服务的场景时,您是否愿意推荐API Mock服务?理由是?体验评测报告交稿时间:2020年9月28日 16:00前,请报名评测的体验官将评体验测报告发帖上传到华为云社区开发者交流论坛中,分类选择(体验官)。并同步微信告知小助手(微信:hwykfz1)微信号。报告形式不限,如word、excel、PPT都可以。2020年10月10日 16:00前,将获奖信息告知体验官。体验报告发帖地址:https://bbs.huaweicloud.com/forum/forum-557-639-1.html发帖时,请上传已完成的体验报告,并在帖子内标注微信群昵称,以便评奖时使用 。★资源说明★本次体验免费☆如何报名华为云产品体验官☆请先填写报名表单,报名成为华为云产品体验官。审核成功后,小助手会添加您的微信邀您进入华为云产品体验官群成为华为云产品体验官后续产品体验通知会在体验官群内发布~ 产品体验官可免费参与产品体验并获得相应奖励  扫描二维码,填写报名表
  • [技术干货] 【福利】《中国API生态与开发者现状调研报告(2020年)》免费下载
    《中国API生态与开发者现状调研报告(2020年)》已正式发布,下拉至文末可免费下载。当前,数字化转型已深入各行各业,API——这个曾经的底层代码接口,不仅发展成为产品本身,更成为企业承载价值、连接业务的核心载体,一个由API使用者和开发者组成的、围绕API产品生命周期的价值交换新模式正日益成熟,特别是与微服务、DevOps等技术的融合,都将使得API战略成为企业加速创新的利器。虽然API已经作为数据服务等功能接口广泛应用在诸多场景,但大量组织对于API生命周期的管理流程、工具使用、价值实现还存在相当程度的认识偏差。API不仅需要最高程度的管理,更重要的是,开发者需要思考如何借助外部的消费者市场,从“应用层”退到“技术层”、将“新技术”推向“新业务”,将通用的能力输送给多元行业和场景,不断将内部功能转化为对外服务的做法。基于此,InfoQ研究院联合华为云等多家单位发布了《中国API生态与开发者现状调研报告(2020年)》,旨在通过API生态、API开发者、使用者、API全生命周期管理等多视角展现我国API发展的现状与机遇,力求为相关企业、组织、个人制定API战略提供一个参考视角。 一、API生态视角在API生态视角下,参与调研的API使用者与开发者人数比例约为2:1,且从事开发、设计/架构的开发者占比最大,总计达到约64%,而从事文档、部署运维、安全、技术支持、运营监控等职能的人员占比较小。另外,从业年限在3年以下的开发者占比为44.4%,经验并不算丰富。 这在一定程度上可以说明我国API生态的产品能力不足、市场尚处早期发展阶段。一方面,仅少量企业或组织有能力通过开发API的手段优化内部效率、并通过优质的管理将内部功能转化为对外服务业务;进一步讲,这样的组织以API开发为主、以API所能提供的能力为核心竞争力,而对于API的管理、维护能力投入不足。相较之下,更多的公司希望借助外部工具快速实现自己的业务逻辑,因此市场对于通过API的方式获取技术能力的需求较为旺盛,对于很多开发者来说,提供API产品仍然具备较大的市场空间。二、API使用者视角在API使用者视角下,对于API的主要诉求已由获取数据转变为获取技术能力、甚至业务能力,使用者渴望高效便捷的寻找、调用方式,除关注API产品本身性能外,也愈发关注优质的后续服务和使用体验。  三、API开发者视角在API开发者视角下,当前开发API主要用于优化内部系统、工具和团队协作,其次是促进形成生态、开展外部合作,较少被用于盈利,这表明API的竞争还处在蓝海时代。从开发行为来看,API的性能、可用性、功能性和安全性是开发者的关注重点,Java和IntelliJ IDEA是目前最主流的API开发语言和集成环境;此外,API的开发还需要广泛地借助设计、文档管理、测试等环节的各类工具,工具的易用性受到了重点关注。  四、API生命周期管理在API生命周期管理的维度,API应用的开发和管理正在向成规模、成体系的团队化、标准化模式演进,建立规范的API管理流程已经成为共识,标准流程的建立涵盖了API设计、测试、文档、监控等各个环节,各类工具的开发和使用也愈发受到重视。 在API设计环节,RAML、Swagger等单一功能的开源编辑器都提供了优秀的编辑工具以支持各自的语言,它们依然是开发者进行API设计的首选。在API测试环节,YAPI、Postman是目前最主流的测试工具,分别有76.5%和43.2%的API使用者和开发者使用过多款API测试工具,体现了其激烈的市场竞争,也说明还没有哪款测试工具赢得了用户的绝对信任。在API文档管理方面,有13.8%的API使用者和23.3%的API开发者选择使用自研的API文档工具,主流文档工具的缺失给双方都造成了一定困扰。此外,仅少数组织拥有自动化生成API文档的能力,这项能力的不足也从侧面反映出现有的自动化生成工具难以满足应用需求。就API管理意识而言,API网关已经成为了开放API的首选方式,一定程度上表明了开发者强烈的API管理需求。相对而言,使用者对于API管理的意识还较为薄弱。五、展望未来展望未来,API技术依然面临全面的挑战,受到最多关注的包括标准化、可组合性/可重用性、以及安全性,尤其是API的标准化将有利于推动API应用的互联互通,真正成为项目开发的加速器和连接枢纽。预测API的技术发展,首先,微服务架构将与整体的API策略深度绑定;其次,物联网的实现将越来越依赖API技术;第三,DevOps和API的融合将产生更大的业务价值。  《中国API生态与开发者现状调研报告(2020年)》是InfoQ研究院、华为云共同发起,中国信息通信研究院作为指导单位深度参与,联合用友、环信等多家单位,采集、优选5000余份数据,并结合多位行业专家的权威解读和精彩见解制作而成。更多详细内容请下载完整版《中国API生态与开发者现状调研报告(2020年)》福利:《华为云API精选手册》公开发布,收录了30个API应用,覆盖企业应用、EI企业智能、基础服务等多个应用领域,点击免费下载。
  • 【API进阶之路】用API打造一条自动化内容生产流水线
    上周,运营部将官网上的资讯版块作为一个内容产品独立运营,我用“文本摘要生成API”为自动获取的文章快速生成摘要,代替了10人内容团队的工作。内容产品推向市场后的反馈很好,用户增长曲线也越来越高。(详情请查看:《破圈,用一个API代替10人内容团队》)前两天,运营部老大又来找我求助了,原因是:用户量快速增长,对内容的需求也越来越大,拓展了很多新的内容版块,每天需要填充大量的文章。虽然文章内容可以自动获取、摘要可以自动生成,但是内容推荐和审核的工作量也很大,现有的3个编辑根本忙不过来。找老板要人,老板让他来找我帮忙解决!Emmm……老板这是直接拿我当HR用了啊......不过,当初运营部要招人,也确实是我提了个方案才不招的,现在人手不够该怎么解决呢?具体问题得具体分析,当前的编辑团队主要负责内容审核和推荐,如果编辑团队只负责做优质内容的推荐,又可以节省出40%的人力。那内容审核有什么办法用工具替代呢?我想起之前了解过的一个“内容审核(Content Moderation)API”,能够对图像、文本、视频进行自动检测,涉黄、广告、涉政涉暴及敏感人物等信息都可以审核过滤出来,降低内容违规的风险。真是打瞌睡了就有枕头啊!赶紧动手写技术实现文档。 内容审核API可在华为云API Explorer进行调试,调用示例如下:步骤一:开通服务首先在华为云控制台中开通文本内容审核和图像内容审核服务。步骤二:调试服务通过API Explorer可进行快速调试。在API Explorer中点击“内容审核”。接下来以“文本内容检测”为例进行调试。在TextModeration接口界面,输入接口所需参数categories、items-text、items-type。请求参数等注意事项可在上图右侧文档中查看。点击上方“调试”按钮即可进行调试,可在右侧“调试结果”页查看结果。同样,对“图像内容检测”进行调试:发送请求时,参数image与url择一即可。参数信息同样可由右侧“文档”页查看。搞定了内容审核之后,我又把抓取工具、内容审核API、文本摘要生成API串联在一起,从抓到审再到编,建立了一条自动化的内容生产流水线,编辑团队只需要做优质内容的推荐就可以了。又解决了一个业务难题,下次是不是可以把内容推荐也给替代了呢?  —— 分割线 ——了解更多华为云API信息:“免费下载创新加速利器《华为云API精选手册》【拓展阅读】【API进阶之路】因为不会创建云服务器,我被实习生摆了一道【API进阶之路】前浪的绝地反击与自我证明【API进阶之路】甩锅大会上,我是如何绝地求生的【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!【API进阶之路】一个技术盲点,差点让整个项目翻车【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察【API进阶之路】破圈,用一个API代替10人内容团队——活动推荐——华为云已经成为全球主要云服务供应商,在华为云上开放了2400+ API,包括计算、存储、网络、应用服务、软件开发服务、视频、数据库、EI智能等74+产品,如何利用这些丰富强大的API快速开发自己的应用和服务,成为大家关注的热点。华为云API学习赛,为入门初学者量身定制的学习平台,以赛带学,学以致用。无需代码,只需下载体验模板,按操作文档操作即可完成作品。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机超级激励!!识别下图二维码即可报名参加。API入门学习赛·AI人脸识别报名地址奖项设置API入门学习赛·探险寻宝之旅报名地址奖项设置