【案例教学】华为云API图引擎服务 GES的便捷性—AI帮助快速处理图片小助手

2023-09-15 09:16:11

云服务、API、SDK,调试,查看,我都行

阅读短文您可以学习到:人工智能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

Toolkit-华为云

已 注册 华为云,并完成 实名认证

已具备开发环境 ,支持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 华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点。

地区和终端节点_开发者中心-华为云

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已上线:Toolkit-华为云

更多推荐

Pytorch从零开始实战03

Pytorch从零开始实战——天气识别本系列来源于365天深度学习训练营原作者K同学文章目录Pytorch从零开始实战——天气识别环境准备数据集模型选择模型训练数据可视化总结环境准备本文基于Jupyternotebook,使用Python3.8,Pytorch2.0.1+cu118,torchvision0.15.2,

虚幻4学习笔记(12)操控导入的角色、动画蓝图、播放蒙太奇和打包、角色重定向

虚幻4学习笔记操控导入的角色设置鼠标旋转关掉动态模糊动画蓝图、播放蒙太奇和打包角色走路奔跑动画shift奔跑F跳舞移动打断跳舞打包角色重定向姿势调整解决跑步腿分太开隐藏剑B站UP谌嘉诚课程:https://www.bilibili.com/video/BV164411Y732操控导入的角色新建项目导入角色模型FBX保存

JavaScript -【第四周】

文章来源于网上收集和自己原创,若侵害到您的权利,请您及时联系并删除数组知道什么是数组及其应用的场景,掌握数组声明及访问的语法。1.数组是什么?数组:(Array)是一种可以按顺序保存数据的数据类型【为什么要数组】:思考:如果我想保存一个班里所有同学的姓名怎么办?使用场景:如果有多个数据可以用数组保存起来,然后放到一个变

神经网络-pytorch版本

pytorch神经网络基础torch简介torch和numpyimporttorchimportnumpyasnpnp_data=np.arange(6).reshape((2,3))torch_data=torch.from_numpy(np_data)tensor2array=torch_data.numpy()p

openssl创建CA证书教程

配置生成CA证书总示意图:(1),通过openssl创建CA证书第一步:创建一个秘钥,这个便是CA证书的根本,之后所有的东西都来自这个秘钥#通过rsa算法生成2048位长度的秘钥opensslgenrsa-outmyCA.key2048第二步:是通过秘钥加密机构信息形成公钥#公钥包含了机构信息,在输入下面的指令之后会有

4G工业路由器,开启智能工厂,这就是关键所在

​提到工业物联网,首先联想到的就是数据传输。要把海量的工业数据从设备端传到控制中心,无线数传终端就发挥着重要作用。今天就跟着小编来看看它的“联”是怎么建立的吧!原文:https://www.key-iot.com/iotlist/1838.html一提到无线数传终端,相信大家首先想到的是DTU模块。其实按照功能定位,又

中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋📋📋本文目录如下:🎁🎁🎁目录💥1概述📚2运行结果🎉3参考文献🌈4Matlab代码实现💥1概述中尺度混凝土二维有限元求解是一种常见的工程分析方法

【Redis面试题(46道)】

文章目录Redis面试题(46道)基础1.说说什么是Redis?2.Redis可以用来干什么?3.Redis有哪些数据结构?4.Redis为什么快呢?5.能说一下I/O多路复用吗?6.Redis为什么早期选择单线程?7.Redis6.0使用多线程是怎么回事?8.Redis持久化⽅式有哪些?有什么区别?9.RDB和AOF

QT之QLineEdit简介

QT之QLineEdit简介QLineEdit是Qt的一个类,用于创建和管理单行的文本输入框。以下是一些常用的QLineEdit函数和它们的用法:1)QLineEdit(QWidget*parent=nullptr)构造函数,创建一个新的QLineEdit对象。parent参数是指向父窗口的指针,如果省略,则QLine

docker容器的设置本地时间(/etc/localtime)和本地时区(/etc/timezone)

本地时区的修改一般情况下,我们启动docker容器时指定了环境变量:-eTZ:=Asia/Ho_Chi_Minh,容器内的时区就会变成东八区,某些软件则会读取该环境变量作为其使用的时区,该环境变量相当于"残缺版"的命令:echo'Asia/Ho_Chi_Minh'>/etc/timezone为什么说残缺版,继续往下看。

STM32 ~ GPIO不同模式之间的区别与实现原理

GPIO全称GeneralPurposeInputOutput,即通用输入/输出。其实GPIO的本质就是芯片的一个引脚,通常在ARM中所有的I/O都是通用的。不过,由于每个开发板上都会设计不同的外围电路,这就造成了GPIO的功能可能有所不同。大部分GPIO都是有复用功能的,比如有些GPIO可能是串口的TX或RX,也可能

热文推荐