SDK 中心 Java 产品文档
596.86 KB
13 页
1 下载
13 浏览
0 评论
0 收藏
| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 概览 | ||
SDK 中心 版权所有:腾讯云计算(北京)有限责任公司 第1 共13页 SDK 中心 Java 产品文档 SDK 中心 版权所有:腾讯云计算(北京)有限责任公司 第2 共13页 【版权声明】 ©2013-2023 腾讯云版权所有 本文档(含所有文字、数据、图片等内容)完整的著作权归腾讯云计算(北京)有限责任公司单独所有,未经腾讯 云事先明确书面许可,任何主体不得以任何形式复制、修改、使用、抄袭、传播本文档全部或部分内容。前述行为 构成对腾讯云著作权的侵犯,腾讯云将依法采取措施追究法律责任。 【商标声明】 及其它腾讯云服务相关的商标均为腾讯云计算(北京)有限责任公司及其关联公司所有。本文档涉及的第三方主体 的商标,依法由权利人所有。未经腾讯云及有关权利人书面许可,任何主体不得以任何方式对前述商标进行使用、 复制、修改、传播、抄录等行为,否则将构成对腾讯云及有关权利人商标权的侵犯,腾讯云将依法采取措施追究法 律责任。 【服务声明】 本文档意在向您介绍腾讯云全部或部分产品、服务的当时的相关概况,部分产品、服务的内容可能不时有所调整。 您所购买的腾讯云产品、服务的种类、服务标准等应由您与腾讯云之间的商业合同约定,除非双方另有约定,否 则,腾讯云对本文档内容不做任何明示或默示的承诺或保证。 【联系我们】 我们致力于为您提供个性化的售前购买咨询服务,及相应的技术售后服务,任何问题请联系 4009100100。 SDK 中心 版权所有:腾讯云计算(北京)有限责任公司 第3 共13页 简介 欢迎使用腾讯云开发者工具套件(SDK)3.0,SDK 3.0 是云 API 3.0 平台的配套工具。SDK 3.0 实现了统 一化,各个语言版本的 SDK 具备使用方法相同、接口调用方式相同、错误码和返回包格式相同等优点。 本文以 Java SDK 3.0 为例,介绍如何使用、调试并接入腾讯云产品 API。 目前已支持云服务器 CVM、私有网络 VPC 、云硬盘 CBS 等 腾讯云产品,后续会支持其他云产品接入。 依赖环境 JDK 7版本及以上。 获取安全凭证。安全凭证包含 SecretId 及 SecretKey 两部分。SecretId 用于标识 API 调用者的身份, SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥。前往 API 密钥管理 页面,即可进行获 取,如下图所示: Java 最近更新时间:2021-09-09 15:29:45 注意: 您的安全凭证代表您的账号身份和所拥有的权限,等同于您的登录密码,切勿泄露他人。 SDK 中心 版权所有:腾讯云计算(北京)有限责任公司 第4 共13页 获取调用地址。调用地址(endpoint)一般形式为*.tencentcloudapi.com,产品的调用地址有一定区别,例 如,云服务器的调用地址为cvm.tencentcloudapi.com。具体调用地址可参考对应产品的 API 文档。 安装 SDK 方式一、通过 Maven 安装(推荐) Maven 是 JAVA 的依赖管理工具,支持您项目所需的依赖项,并将其安装到项目中。 1. 请访问 Maven官网 下载对应系统 Maven 安装包进行安装,关于 Maven 详细可参考 Maven 官网。 2. 为您的项目添加 Maven 依赖项,只需在 pom.xml 中找到<dependencies>标签,在里面添加以下依赖项即 可。您可以在 Maven 仓库 上找到最新的版本(最新版本是3.1.322) <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 versi on. --> <!-- 请到https://search.maven.org/search?q=tencentcloud-sdk-java查询所有版本,最新版本如下 --> <version>3.1.322</version> </dependency> 3. 设置镜像源以加快下载速度,编辑 maven 的 settings.xml 配置文件,在 mirrors 段落增加镜像配置: <mirror> <id>tencent</id> <name>tencent maven mirror</name> <url>https://mirrors.tencent.com/nexus/repository/maven-public/</url> <mirrorOf>*</mirrorOf> </mirror> 注意: 这里的版本号只是举例,您可以在 Maven 仓库 上找到最新的版本。 Maven 仓库 中显示的4.0.11是废弃版本,由于 Maven 索引更新问题尚未完全删除。 若上面的引用方式会将腾讯云所有产品 SDK 下载到本地,可以将 artifactId 换成 tencentcloud- sdk-java-cvm/cbs/vpc 等,即可引用特定产品的 SDK,代码中使用方式和大包相同,可参考示 例。最新版本也可在 Maven仓库 查询,可大大节省存储空间。 SDK 中心 版权所有:腾讯云计算(北京)有限责任公司 第5 共13页 方式二、通过源码包安装 1. 前往 Github 代码托管地址 下载源码压缩包。 2. 解压源码包到您项目合适的位置。 3. 需要将 vendor 目录下的 jar 包放在 java 可找到的路径中。 4. 引用方法可参考示例。 使用 SDK 以查询实例接口 DescribeInstances 为例: 简化版 详细版 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; SDK 中心 版权所有:腾讯云计算(北京)有限责任公司 第6 共13页 // 导入对应产品模块的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(); SDK 中心 版权所有:腾讯云计算(北京)有限责任公司 第7 共13页 更多示例 您可以在 github 中的 examples 目录下获取更多详细的示例。 相关配置 代理 从3.0.96版本开始,可以单独设置 HTTP 代理: HttpProfile httpProfile = new HttpProfile(); httpProfile.setProxyHost("真实代理ip"); httpProfile.setProxyPort(真实代理端口); 语言 从3.1.16版本开始,我们添加了对公共参数 Language 的支持,以满足部分产品国际化的诉求。和以前一样, Language 默认不传,行为由各产品接口自行决定,通常是中文的,但也有默认英文的。目前可选值为中文或者英 文,通过如下方法设置: // 填充请求参数,这里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()); } } } SDK 中心 版权所有:腾讯云计算(北京)有限责任公司 第8 共13页 import com.tencentcloudapi.common.profile.ClientProfile; import com.tencentcloudapi.common.profile.Language; ... ClientProfile clientProfile = new ClientProfile(); clientProfile.setLanguage(Language.ZH_CN); 支持 http SDK 支持 http 协议和 https 协议,通过设置 HttpProfile 的 setProtocol() 方法可以实现协议间的切换: HttpProfile httpProfile = new HttpProfile(); httpProfile.setProtocol("http://"); //http 协议 httpProfile.setProtocol("https://"); //https 协议 支持打印日志 自3.1.80版本开始,SDK 支持打印日志。 首先,在创建 CLientProfile 对象时,设置 debug 模式为真,会打印 sdk 异常信息和流量信息。 ClientProfile clientProfile = new ClientProfile(); clientProfile.setDebug(true); 腾讯云 java sdk 使用 commons.logging 类进行打印日志,如下所示。 九月 10, 2020 5:14:30 下午 com.tencentcloudapi.cvm.v20170312.CvmClient info 信息: send request, request url: https://cvm.ap-shanghai.tencentcloudapi.com/?Nonce=367595 572&Action=DescribeInstances&Filters.0.Values.1=ap-shanghai-2&Version=2017-03-12&Filter s.0.Values.0=ap-shanghai-1&SecretId=AKIDziAMHwiVO0LPCizu61e1iCQP7YiaOX7Q&Filters.0.Na me=zone&RequestClient=SDK_JAVA_3.1.129&Region=ap-shanghai&SignatureMethod=HmacS HA256&Timestamp=1599729270&Signature=DcGRPdquMZZRPj1NFXP5bsOGnRlaT2KXy7aegN hZa00%3D. request headers information: 九月 10, 2020 5:14:32 下午 com.tencentcloudapi.cvm.v20170312.CvmClient info 信息: recieve response, response url: https://cvm.ap-shanghai.tencentcloudapi.com/?Nonce=36 7595572&Action=DescribeInstances&Filters.0.Values.1=ap-shanghai-2&Version=2017-03-12&F ilters.0.Values.0=ap-shanghai-1&SecretId=AKIDziAMHwiVO0LPCizu61e1iCQP7YiaOX7Q&Filters. 0.Name=zone&Req
| ||
下载文档到本地,方便使用
共 13 页, 还有
11 页可预览,
继续阅读
文档评分











