客户端初始化
更新时间:
本节主要介绍客户端的 Client 初始化方式,包含RPC调用风格客户端和ROA调用风格的客户端。以及客户端初始化完成后如何发起 OpenAPI 请求。
说明
在V1.0 SDK中,由于不同阿里云产品OpenAPI支持的调用风格(RPC/ROA)存在差异,可能导致您在使用过程中产生困惑,为确保您的使用体验,建议您切换至V2.0 SDK。
RPC调用风格客户端
开发者可以通过以下代码初始化 RPC 的请求客户端并进行请求,下述示例描述的是调用云服务器ECS 2014-05-26版本的DescribeInstances接口,其它接口示例代码也可通过OpenAPI获取。
const RPCClient = require('@alicloud/pop-core').RPCClient;
const client = new RPCClient({
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
endpoint: 'https://ecs.cn-beijing.aliyuncs.com',
apiVersion: '2014-05-26',
});
const params = {};
const action = 'DescribeInstances';
// 调用方式1:=> returns Promise
// client.request(action, params).then((result)=>{
// console.log(JSON.stringify(result));
// });
// 调用方式2:options
client.request(action, params, {
timeout: 3000, // default 3000 ms
formatAction: true, // default true, format the action to Action
formatParams: true, // default true, format the parameter name to first letter upper case
method: 'GET', // set the http method, default is GET
headers: {}, // set the http request headers
}).then( (response) => {
console.log(JSON.stringify(response));
});
ROA调用风格客户端
开发者可以通过以下代码初始化 ROA 的请求客户端并进行请求,下述示例描述的是调用容器服务Kubernetes2015-12-15的DescribeClustersV1接口,其它接口示例代码也可通过OpenAPI获取。
const ROAClient = require('@alicloud/pop-core').ROAClient;
const roaClient = new ROAClient({
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
endpoint: 'https://cs.cn-beijing.aliyuncs.com',
apiVersion: '2015-12-15',
});
const method = "GET" // 请求方式
const uriPattern = '/api/v1/clusters'; // 路径参数
const queryParams = {}; // 查询参数
const body = ""; // 请求体
const headers = {
"Content-Type": "application/json"
}; // 自定义请求头
const options = {
timeout: 3000, // default 3000 ms
};
roaClient.request(method, uriPattern, queryParams, body, headers, options)
.then((response) => {
console.log('ROA Response:', response);
})
.catch((error) => {
console.error('ROA Error:', error);
});
文档内容是否对您有帮助?