教你用API插件开发一个AI快速处理图片小助手
本文分享自华为云社区《【案例教学】华为云API图引擎服务 GES的便捷性—AI帮助快速处理图片小助手》,作者:华为云PaaS服务小智。
调用云服务、API、SDK、调试、查看…… “我”都行,一起来体验用Huawei Cloud API实现AI快速处理图片。
1 IntelliJ IDEA 之API插件介绍
API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为云服务下的 API Explorer、DevStar、CodeLabs、SDK 中心和 CLI 中心产品,致力于为开发者提供更稳定、快速、安全的编程体验。
在本插件中,我们提供了但不局限于如下的功能:
对接华为云API开放平台,支持用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何使用API。
提供华为云SDK代码片段补全功能,SDK依赖包自动引入,加速用户集成华为云API。
对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮助用户快速学习。
说明:
在IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDE,API插件是IDE原生内置的,名称是华为云API开发套件。
API插件在IntelliJ IDEA等系列平台和VS Code IDE的使用依赖底座插件,请提前安装底座插件。
2 API插件安装--IntelliJ IDEA
2.1 IntelliJ IDEA等平台
安装准备:下载并安装JDK1.8或更高版本。下载并安装IntelliJ IDEA 2020.2或更高版本。
须知:IntellIj平台同时支撑包括Goland、Pycharm等在内的IDE,若在其它相关IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的安装流程,其他IntelliJ系列的IDE请参考IDEA。https://developer.huaweicloud.com/develop/toolkit.html
开始安装:
您可以在直接在IDE插件市场或者直接在JetBrains插件市场下载离线包安装。
IDE安装:
- 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API。
Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE。
离线包安装:
- 进入插件市场搜索Huawei Cloud API,进入插件详情页,在Versions页签下选择想要版本的API插件,点击Download下载离线的插件压缩包保存到本地。。
- 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- 在Plugins区域单击 ,再单击Install Plugin from Disk...。
- 在Choose Plugin File对话框中选择离线安装包(不用解压),并按照IntelliJ IDEA安装页面的提示,完成后续安装步骤。
说明:若当前您想要安装插件的IntelliJ IDE已经在桌面打开,则进入插件市场搜索Huawei Cloud API,进入插件详情页,在右上角会识别到本地已经打开的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后台会开始安装相应版本的API插件。
安装验证:在IntelliJ系列平台上安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。
2.2 API列表
左侧展示API列表,可以查询所有API,目前云服务206,APIs9213
https://developer.huaweicloud.com/develop/toolkit.html
已 注册 华为云,并完成 实名认证
已具备开发环境 ,支持Java JDK 1.8及其以上版本
已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的 AK/SK。具体请参见访问密钥。https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606340.html
endpoint 华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点。
https://developer.huaweicloud.com/endpoint
SDK 获取和安装:
<dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-ges</artifactId> <version>3.0.69</version> </dependency>
3 快速查图
示例代码
package com.huawei.ges; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.exception.ClientRequestException; import com.huaweicloud.sdk.core.exception.ServerResponseException; import com.huaweicloud.sdk.ges.v1.GesClient; import com.huaweicloud.sdk.ges.v1.model.ListGraphsRequest; import com.huaweicloud.sdk.ges.v1.model.ListGraphsResponse; import com.huaweicloud.sdk.ges.v1.region.GesRegion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ListGraphsDemo { private static final Logger logger = LoggerFactory.getLogger(ListGraphsDemo.class.getName()); public static void main(String[] args) { ICredential auth = new BasicCredentials().withAk("{ak}").withSk("{sk}"); GesClient client = GesClient.newBuilder().withCredential(auth).withRegion(GesRegion.valueOf("cn-north-4")).build(); ListGraphsRequest request = new ListGraphsRequest(); try { ListGraphsResponse response = client.listGraphs(request); logger.info(response.toString()); } catch (ClientRequestException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } catch (ServerResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } } }
4 增量导入图
示例代码
package com.huawei.ges; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.exception.ClientRequestException; import com.huaweicloud.sdk.core.exception.ServerResponseException; import com.huaweicloud.sdk.ges.v1.GesClient; import com.huaweicloud.sdk.ges.v1.model.ImportGraphReq; import com.huaweicloud.sdk.ges.v1.model.ImportGraphRequest; import com.huaweicloud.sdk.ges.v1.model.ImportGraphResponse; import com.huaweicloud.sdk.ges.v1.region.GesRegion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ImportGraphDemo { private static final Logger logger = LoggerFactory.getLogger(ImportGraphDemo.class.getName()); public static void main(String[] args) { ICredential auth = new BasicCredentials().withAk("{ak}").withSk("{sk}"); GesClient client = GesClient.newBuilder().withCredential(auth).withRegion(GesRegion.valueOf("cn-north-4")).build(); // 请求Body ImportGraphReq importGraphReq = new ImportGraphReq(); importGraphReq.setSchemaPath("{schemaPath}"); importGraphReq.setEdgesetPath("{edgesetPath}"); importGraphReq.setVertexsetPath("{vertexsetPath}"); ImportGraphRequest request = new ImportGraphRequest(); request.setGraphId("{graph_id}"); request.setActionId(ImportGraphRequest.ActionIdEnum.IMPORT_GRAPH); // 枚举类型 request.setBody(importGraphReq); try { ImportGraphResponse response = client.importGraph(request); logger.info(response.toString()); } catch (ClientRequestException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } catch (ServerResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } } }
5 管理面查询Job状态
示例代码
package com.huawei.ges; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.exception.ClientRequestException; import com.huaweicloud.sdk.core.exception.ServerResponseException; import com.huaweicloud.sdk.ges.v1.GesClient; import com.huaweicloud.sdk.ges.v1.model.ShowJobRequest; import com.huaweicloud.sdk.ges.v1.model.ShowJobResponse; import com.huaweicloud.sdk.ges.v1.region.GesRegion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ShowJobDemo { private static final Logger logger = LoggerFactory.getLogger(ShowJobDemo.class.getName()); public static void main(String[] args) { ICredential auth = new BasicCredentials().withAk("{ak}").withSk("{sk}"); GesClient client = GesClient.newBuilder().withCredential(auth).withRegion(GesRegion.valueOf("cn-north-4")).build(); ShowJobRequest request = new ShowJobRequest(); request.setGraphId("{graphId}"); request.setJobId("{jobId}"); try { ShowJobResponse response = client.showJob(request); logger.info(response.toString()); } catch (ClientRequestException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } catch (ServerResponseException e) { logger.error(String.valueOf(e.getHttpStatusCode())); logger.error(e.toString()); } } }
6 体验插件的魅力
华为云devkit已上线:https://developer.huaweicloud.com/develop/toolkit.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何在uniapp框架中集成H.265流媒体视频播放器EasyPlayer.js?
H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8)、WebRTC等格式的视频流,并且已实现网页端实时录像、在iOS上实现低延时直播等功能。 安防视频监控EasyPlayer是一个支持多框架集成的播放器,我们在前期的文章中也介绍了如何在React框架下集成流媒体视频播放器EasyPlayer.js,感兴趣的用户可以翻阅我们往期的文章进行了解。 有用户反馈,在uniapp框架下集成EasyPlayer.js播放器,但是集成的过程中会报一个“video.js,flv.js找不到”的错。 那么今天我们来详细介绍下在uniapp中如何集成流媒体播放器EasyPlayer.js,具体步骤如下: 1)首先,在HBuider X下创建一个项目; 2)在npm上下载easyplayer.js,下载地址如下: https://www.npmjs.com/package/@easydarwin/easyplayer,找...
- 下一篇
基于异常上线场景的实时拦截与问题分发策略
作者 | 彭阳 导读 性能中台负责MEG端研发数据的接入、传输、管理、应用等各个环节。为了应对移动应用领域中端技术的快速迭代和线上突增问题的挑战,中台提出了实时拦截与问题的分发机制,旨在在端上线的不同阶段及时发现并拦截异常上线,最大程度减少线上变更对用户体验的不良影响。本文在数据建设的时效性和准确性上进行深入的探讨,包括:变更上线的染色过程、基于染色ID的性能核心数据指标的监控、线上问题实时分发至相关模块组件和人员等。 全文7719字,预计阅读时间20分钟。 01 背景 1.1 业务背景 在快速发展的移动应用领域中,持续的技术迭代是保持APP竞争力的关键因素。然而,对于规模庞大、用户众多的APP应用,每一次的变更上线都存在引入线上问题的风险。APP的各个组件模块相互交织,一旦某处出现异常,往往会像连锁反应一样影响整个系统的稳定性,导致用户体验的下降。在以往的经验中,即便在开发和测试阶段充分验证,也难免会有一些问题在真实用户环境中暴露出来。这些问题可能表现为崩溃、卡顿、功能失效等,严重影响用户的使用体验。在过去,应对这些问题通常是事后进行问题修复,然而这种方式并不能完全避免线上问题对用户...
相关文章
文章评论
共有0条评论来说两句吧...