前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始使用腾讯云Java SDK

从零开始使用腾讯云Java SDK

原创
作者头像
zhijiehou
修改2021-06-30 19:00:04
10.6K2
修改2021-06-30 19:00:04
举报
文章被收录于专栏:云API文章云API文章

腾讯云开发者工具套件(SDK)是云 API 3.0 平台的配套工具。本文以 Java SDK 为例,介绍如何使用、调试并接入腾讯云产品 API。

依赖环境

要使用腾讯云 Java SDK,用户需要满足以下的依赖环境:

  • JDK 7版本及以上。
  • 从腾讯云控制台开通相应产品。
  • 获取安全凭证:安全凭证包含 SecretId 及 SecretKey 两部分。SecretId 用于标识 API 调用者的身份,SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥。前往 API 密钥管理 页面,即可进行获取,如下图所示:
API密钥管理界面
API密钥管理界面
  • 获取调用地址:调用地址(endpoint)一般形式为*.tencentcloudapi.com,产品的调用地址有一定区别,例如,云服务器的调用地址为 cvm.tencentcloudapi.com。具体调用地址可参考对应产品的 API 文档。

安装JDK8

前往 官网安装指南界面 ,按照指引下载并安装JDK8

安装IDEA

前往 IEDA官方安装指南界面 ,按照指引下载并安装IDEA

安装SDK教程

方式一:通过Maven安装(推荐)

操作步骤如下(以IDEA为例示范安装):

1. 新建一个Maven项目

新建Maven项目
新建Maven项目

2. 打开pom.xml文件

打开pom.xml文件
打开pom.xml文件

3. 在pom.xml文件中添加依赖项

为您的项目添加 Maven 依赖项,只需在 pom.xml 中找到或手动输入dependencies标签,在里面添加以下依赖项即可。

<dependencies>
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<!-- go to https://search.maven.org/search?q=tencentcloud-sdk-java and get the latest version. -->
<!-- 请到https://search.maven.org/search?q=tencentcloud-sdk-java查询所有版本,当前最新版本如下 -->
<version>3.1.302</version>
</dependency>
</dependencies>

添加依赖项代码示意图如下所示:

添加依赖项代码
添加依赖项代码

4.添加代码后点击重新加载Maven项目

重新加载Maven项目
重新加载Maven项目

5. 查看安装是否成功

查看项目目录下的外部库中是否有下图框出来的文件,若存在这些文件则表明已经成功安装SDK。

查看安装是否成功
查看安装是否成功

方式二:通过源码包安装

安装流程如下:

  1. 前往 Github 代码托管地址 下载源码压缩包,示意图如下所示:
下载源码压缩包
下载源码压缩包
  1. 解压源码包到您项目合适的位置。
  2. 需要将vendor目录下的jar包放在java的可找到的路径中。
  3. 使用方法可参考下方示例。

使用SDK示例

使用流程

1. 确认获取安全凭证

前往 API 密钥管理 页面获取安全凭证 SecretId 和 SecretKey 两部分,在上文的依赖环境中已提到该点。

2. 使用示例代码测试

我们为您提供简化版和详细版两个版本的示例代码,您可以任选一个版本进行测试使用,具体详细的使用流程在下文中会有说明,示例代码如下所示:

  • 示例代码简化版
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.cvm.v20170312.CvmClient;
import com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesRequest;
import com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesResponse;
public class DescribeInstances {
    public static void main(String[] args) {
        try {
            Credential cred = new Credential("secretId", "secretKey");
            CvmClient client = new CvmClient(cred, "ap-shanghai");
            DescribeInstancesRequest req = new DescribeInstancesRequest();
            DescribeInstancesResponse resp = client.DescribeInstances(req);
            System.out.println(DescribeInstancesResponse.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
           System.out.println(e.toString());
        }
    }
}
  • 示例代码详细版
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
// 导入对应产品模块的client
import com.tencentcloudapi.cvm.v20170312.CvmClient;
// 导入要请求接口对应的request response类
import com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesRequest;
import com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesResponse;
import com.tencentcloudapi.cvm.v20170312.models.Filter;
//导入可选配置类
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.profile.Language;
public class DescribeInstances {
    public static void main(String[] args) {
        try {
            // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
            Credential cred = new Credential("secretId", "secretKey");
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            //  从3.1.16版本开始, 单独设置 HTTP 代理
            // httpProfile.setProxyHost("真实代理ip");
            // httpProfile.setProxyPort(真实代理端口);
            httpProfile.setReqMethod("GET"); // get请求(默认为post请求)
            httpProfile.setProtocol("https://");  // 在外网互通的网络环境下支持http协议(默认是https协议),请选择(https:// or http://)
            httpProfile.setConnTimeout(30); // 请求连接超时时间,单位为秒(默认60秒)
            httpProfile.setWriteTimeout(30);  // 设置写入超时时间,单位为秒(默认0秒)
            httpProfile.setReadTimeout(30);  // 设置读取超时时间,单位为秒(默认0秒)
            httpProfile.setEndpoint("cvm.ap-shanghai.tencentcloudapi.com"); // 指定接入地域域名(默认就近接入)
            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setSignMethod("HmacSHA256"); // 指定签名算法(默认为HmacSHA256)
            // 自3.1.80版本开始,SDK 支持打印日志。
            clientProfile.setHttpProfile(httpProfile);
            clientProfile.setDebug(true);
            // 从3.1.16版本开始,支持设置公共参数 Language, 默认不传,选择(ZH_CN or EN_US)
            clientProfile.setLanguage(Language.EN_US);
            // 实例化要请求产品(以cvm为例)的client对象,clientProfile是可选的
            CvmClient client = new CvmClient(cred, "ap-shanghai", clientProfile);
            // 实例化一个cvm实例信息查询请求对象,每个接口都会对应一个request对象。
            DescribeInstancesRequest req = new DescribeInstancesRequest();
            // 填充请求参数,这里request对象的成员变量即对应接口的入参
            // 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
            Filter respFilter = new Filter(); // 创建Filter对象, 以zone的维度来查询cvm实例
            respFilter.setName("zone");
            respFilter.setValues(new String[] { "ap-shanghai-1", "ap-shanghai-2" });
            req.setFilters(new Filter[] { respFilter }); // Filters 是成员为Filter对象的列表
            // 通过client对象调用DescribeInstances方法发起请求。注意请求方法名与请求对象是对应的
            // 返回的resp是一个DescribeInstancesResponse类的实例,与请求对象对应
            DescribeInstancesResponse resp = client.DescribeInstances(req);
            // 输出json格式的字符串回包
            System.out.println(DescribeInstancesResponse.toJsonString(resp));
            // 也可以取出单个值。
            // 你可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义
            System.out.println(resp.getTotalCount());
        } catch (TencentCloudSDKException e) {
             System.out.println(e.toString());
        }
    }
}

使用简化版示例代码调用 API 的流程如下(详细版同理):

  • 在安装了腾讯云 Java SDK 的 Java 项目中新建一个文件并将示例代码复制上去,如下图所示:
复制示例代码
复制示例代码
  • 将示例代码中的"secretId", "secretKey"用您真实的密钥进行替换,并选择输入您的服务器所在的地域(region),如下图所示:
替换真实密钥
替换真实密钥
  • 成功运行代码得到结果
成功运行代码
成功运行代码
  • 运行报错

当"secretId", "secretKey"未用您真实的密钥进行替换时会报错,如下图所示。更多错误码内容请阅览产品文档错误码章节。

运行报错
运行报错

更多示例

您可以在github中examples目录下找到更多详细的示例。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 依赖环境
  • 安装JDK8
  • 安装IDEA
  • 安装SDK教程
    • 方式一:通过Maven安装(推荐)
      • 1. 新建一个Maven项目
      • 2. 打开pom.xml文件
      • 3. 在pom.xml文件中添加依赖项
      • 4.添加代码后点击重新加载Maven项目
      • 5. 查看安装是否成功
    • 方式二:通过源码包安装
    • 使用SDK示例
      • 使用流程
        • 1. 确认获取安全凭证
        • 2. 使用示例代码测试
      • 更多示例
      相关产品与服务
      云 API
      云 API 是腾讯云开放生态的基石。通过云 API,只需少量的代码即可快速操作云产品;在熟练的情况下,使用云 API 完成一些频繁调用的功能可以极大提高效率;除此之外,通过 API 可以组合功能,实现更高级的功能,易于自动化, 易于远程调用, 兼容性强,对系统要求低。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档