写点什么

教你用 API 插件开发一个 AI 快速处理图片小助手

  • 2023-09-19
    广东
  • 本文字数:4118 字

    阅读完需:约 14 分钟

教你用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 安装:


  1. 在 IntelliJ IDEA 顶部菜单栏中选择 File > Settings,在 Settings 对话框的左侧导航栏中单击 Plugins。

  2. Plugins 区域单击 Marketplace,在搜索栏中输入 Huawei Cloud API。


Search Results 区域会出现 Huawei Cloud API,单击 Install,完成后重启 IDE。



离线包安装:


  1. 进入插件市场搜索 Huawei Cloud API,进入插件详情页,在 Versions 页签下选择想要版本的 API 插件,点击 Download 下载离线的插件压缩包保存到本地。。

  2. 在 IntelliJ IDEA 顶部菜单栏中选择 File > Settings,在 Settings 对话框的左侧导航栏中单击 Plugins。

  3. 在 Plugins 区域单击 ,再单击 Install Plugin from Disk...。

  4. 在 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


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
教你用API插件开发一个AI快速处理图片小助手_人工智能_华为云开发者联盟_InfoQ写作社区