java自带的帮助中心_Java-Java-帮助文档-京东智联云

简介

欢迎使用京东云开发者Java工具套件(Java SDK)。使用京东云Java SDK,您无需复杂编程就可以访问京东云提供的各种服务。

为了方便您理解SDK中的一些概念和参数的含义,使用SDK前建议您先查看OpenAPI使用入门。要了解每个API的具体参数和含义,请参考程序注释或参考OpenAPI&SDK下具体产品线的API文档。

环境准备

京东云Java SDK适用于jdk7及以上版本。

在开始调用京东云open API之前,需提前在京东云用户中心账户管理下的AccessKey管理页面申请accesskey和secretKey密钥对(简称AK/SK)。AK/SK信息请妥善保管,如果遗失可能会造成非法用户使用此信息操作您在云上的资源,给你造成数据和财产损失。

SDK使用方法

如果您使用Apache Maven来管理Java项目,只需在项目的pom.xml文件加入相应的依赖项即可,如下所示:

复制成功xml

com.jdcloud.sdk

vm

1.2.0

您还可以下载SDK源代码自行使用。

SDK使用中的任何问题,欢迎您在SDK使用问题反馈页面交流。

注意:

京东云并没有提供其他下载方式,请务必使用上述官方下载方式!

version 的版本号需要使用京东云产品提供的最新版本号。例如:示例中VM所使用的最新版本号可到官方提供的API 更新历史 中查询到。

每支云产品都有自己的Client,当调用该产品API时,需使用该产品的Client。例如:使用云主机的VmClient只能调用云主机(Vm)的接口;使用高可用组的AgClient只能调用高可用组(Ag)的接口。

调用SDK

Java SDK的调用主要分为4步:

设置accessKey和secretKey

创建Client

设置请求参数

执行请求得到响应

以下是查询单个云主机实例详情的调用示例

复制成功java

import com.jdcloud.sdk.auth.CredentialsProvider;

import com.jdcloud.sdk.auth.StaticCredentialsProvider;

import com.jdcloud.sdk.http.HttpRequestConfig;

import com.jdcloud.sdk.http.Protocol;

import com.jdcloud.sdk.service.vm.client.VmClient;

import com.jdcloud.sdk.service.vm.model.*;

public class VmClientExample {

public static void main(String[ ] args) {

//1. 设置accessKey和secretKey

String accessKeyId = "{accessKey}";

String secretAccessKey = "{secretKey}";

CredentialsProvider credentialsProvider = new StaticCredentialsProvider(accessKeyId, secretAccessKey);

//2. 创建XXXClient

VmClient vmClient = VmClient.builder()

.credentialsProvider(credentialsProvider)

.httpRequestConfig(new HttpRequestConfig.Builder().protocol(Protocol.HTTPS).build()) //默认为HTTPS

.build();

//3. 设置请求参数

DescribeInstanceRequest request = new DescribeInstanceRequest();

request.regionId("cn-north-1");

request.instanceId("i-c0se9uju");

//4. 执行请求

DescribeInstanceResponse response = vmClient.describeInstance(request);

//5. 处理响应

System.out.println(new Gson().toJson(response));

}

}

如果需要设置额外的header,例如要调用开启了MFA操作保护的接口,需要传递x-jdcloud-security-token,则按照如下方式:

复制成功vmClient.setCustomHeader("x-jdcloud-security-token", "xxxx");

如果需要设置访问点,配置超时等,请参考如下更复杂的例子:

复制成功Environment env = new Environment.Builder().endpoint("nativecontainer.internal.cn-north-1.jdcloud-api.com").build(); //指定非默认Endpoint Step1

//2. 创建ncClient

NativecontainerClient ncClient = NativecontainerClient.builder()

.credentialsProvider(credentialsProvider)

.httpRequestConfig(new HttpRequestConfig.Builder()

.connectionTimeout(10000) //设置连接超时为10s

.socketTimeout(10000) //设置读响应超时为10s

.protocol(Protocol.HTTP) //设置使用HTTP而不是HTTPS,vpc专用域名不支持HTTPS

.build()) //默认为HTTPS

.environment(env) //指定非默认Endpoint Step2

.build();

如果需要读取请求response的各种信息(例如某个header的值),可按照如下方式:

复制成功HttpHeaders headers = response.getJdcloudHttpResponse().getHeaders();

List headerValue = headers.getHeaderStringValues("headerKey");

常见问题

SDK调用返回异常 org.apache.http.NoHttpResponseException: xxx.jdcloud-api.com: failed to respond

NoHttpResponseException 是客户端缓存的tcp链接失效(lb因负载过大或者连接过期主动关闭了tcp连接)导致的。解决方法:通过客户端重试解决,如果您当前使用的core sdk版本低于1.2.1,请使用1.2.x(x>=1)版本的core sdk,该版本引入了重试机制。禁止使用2.x.x版本的core sdk(该版本sdk给指定产品使用)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值