All Products
Search
Document Center

Alibaba Cloud SDK:Integrasikan SDK

Last Updated:Jun 17, 2026

Integrasikan Alibaba Cloud SDK ke dalam proyek Anda untuk menyederhanakan panggilan OpenAPI, mempercepat integrasi fitur, dan mengurangi biaya pemeliharaan. Topik ini mencakup instalasi dan penggunaan dasar SDK.

Prasyarat

Node.js 8.x atau versi yang lebih baru

Instal SDK

Alibaba Cloud V1.0 Node.js SDK hanya mendukung panggilan umum (CommonRequest), yang hanya memerlukan dependensi @alicloud/pop-core. Jalankan perintah berikut untuk menginstalnya:

npm install @alicloud/pop-core

Gunakan SDK

Alibaba Cloud V1.0 Node.js SDK mendukung dua gaya pemanggilan: RPC dan ROA. Contoh berikut menggunakan operasi ECS DescribeInstances untuk RPC dan operasi Container Service for Kubernetes (ACK) DescribeClustersV1 untuk ROA.

1. Inisialisasi client permintaan

Semua operasi OpenAPI dipanggil melalui RPCClient atau ROAClient yang disediakan oleh @alicloud/pop-core. Anda harus menginisialisasi client sebelum memanggil operasi apa pun. Contoh berikut menggunakan Pasangan Kunci Akses. Untuk metode inisialisasi lainnya, lihat Inisialisasi client menggunakan token STS.

Catatan

Contoh ini memperoleh kredensial dari variabel lingkungan. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET. Untuk informasi selengkapnya, lihat Konfigurasi variabel lingkungan pada sistem Linux, macOS, dan Windows.

RPC client

// Inisialisasi RPC client
const Core = require('@alicloud/pop-core');
var client = new Core({
  // Wajib diisi. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
  accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
  // Wajib diisi. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
  accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
  // Nama domain dalam format http(s)://<product_endpoint>. Kami menyarankan Anda menggunakan HTTPS. Contoh untuk ECS: http://ecs-cn-hangzhou.aliyuncs.com
  endpoint: 'https://ecs.cn-hangzhou.aliyuncs.com',
  // Versi API produk cloud. Contoh untuk ECS: 2014-05-26
  apiVersion: '2014-05-26'
});

ROA client

// Inisialisasi ROA client
var ROAClient = require('@alicloud/pop-core').ROAClient;
var client = new ROAClient({
  // Wajib diisi. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
  accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
  // Wajib diisi. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
  accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
  // Nama domain dalam format http(s)://<product_endpoint>. Kami menyarankan Anda menggunakan HTTPS. Contoh untuk Container Service: http://cs.cn-chengdu.aliyuncs.com
  endpoint: 'https://cs.cn-chengdu.aliyuncs.com',
  // Versi API produk cloud. Contoh untuk Container Service: 2015-12-15
  apiVersion: '2015-12-15'
});

2. Susun parameter permintaan

Sebuah permintaan memerlukan tiga parameter: nama operasi OpenAPI, objek parameter permintaan, dan objek parameter waktu proses.

Catatan

Pengunggahan file lokal tidak didukung. Untuk mengunggah file lokal, gunakan SDK V2.0.

Parameter panggilan RPC

// Nama operasi OpenAPI
var action = 'DescribeInstances'
// Parameter permintaan
var params = {
  "RegionId": "cn-hangzhou",
  "InstanceIds": "[\"i-bp67************\", \"i-7xva************\", … \"i-7xvc************\"]"
}
// Parameter waktu proses
var requestOption = {
  method: 'POST',
  formatParams: false,
};

Parameter panggilan ROA

// Metode permintaan
const method = "GET"
// Parameter path
const uriPattern = '/api/v1/clusters';
// Parameter kueri
var queryParams = {
  "cluster_type": "Kubernetes",
  "name": "cluster-demo"
};
// Badan permintaan dalam format string JSON. Contoh: `{"nodepool_info":{"name":"nodepool-test","type":"ess"}}`;
const body = "";
// Header permintaan kustom
const headers = {
  "Content-Type": "application/json"
};
// Parameter waktu proses
const options = {
  timeout: 3000, // default 3000 ms
};

3. Kirim permintaan

Panggil operasi request dari client yang dibuat pada Langkah 1 dan teruskan parameter yang disusun pada Langkah 2.

Panggilan RPC

// Kirim permintaan
client.request(action, params, requestOption).then((result) => {
  console.log(JSON.stringify(result));
}, (ex) => {
  console.log(ex);
})

Panggilan ROA

// Kirim permintaan
roaClient.request(method, uriPattern, queryParams, body, headers, options)
  .then((response) => {
    console.log('ROA Response:', response);
  })
  .catch((error) => {
    console.error('ROA Error:', error);
  });

4. Tangani pengecualian

Secara default, pengecualian akan dilempar jika bidang Code dalam tanggapan API bukan 200, OK, Success, atau success. Anda dapat menentukan kode kesalahan kustom untuk program Anda. Untuk informasi selengkapnya, lihat Penanganan pengecualian.

Contoh kode lengkap

Panggilan RPC

// Inisialisasi RPC client
const Core = require('@alicloud/pop-core');

var client = new Core({
  // Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
  accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
  accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
  // Nama domain dalam format http(s)://<product_endpoint>. Kami menyarankan Anda menggunakan HTTPS. Contoh untuk ECS: http://ecs-cn-hangzhou.aliyuncs.com
  endpoint: 'https://ecs.cn-hangzhou.aliyuncs.com',
  // Versi API produk cloud. Contoh untuk ECS: 2014-05-26
  apiVersion: '2014-05-26'
});

// Nama operasi OpenAPI
var action = 'DescribeInstances'

// Parameter permintaan
var params = {
  "RegionId": "cn-hangzhou",
  "InstanceIds": "[\"i-bp67acfmxazb4p****\", \"i-bp67acfmxazb4p****\", … \"i-bp67acfmxazb4p****\"]"
}

// Parameter waktu proses
var requestOption = {
  method: 'POST',
  formatParams: false,
};

// Kirim permintaan
client.request(action, params, requestOption).then((result) => {
  console.log(JSON.stringify(result));
}, (ex) => {
  console.log(ex);
})

Panggilan ROA

const ROAClient = require('@alicloud/pop-core').ROAClient;

// Inisialisasi ROA client
var ROAClient = require('@alicloud/pop-core').ROAClient;
var client = new ROAClient({
  // Wajib diisi. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
  accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
  // Wajib diisi. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
  accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
  // Nama domain dalam format http(s)://<product_endpoint>. Kami menyarankan Anda menggunakan HTTPS. Contoh untuk Container Service: http://cs.cn-chengdu.aliyuncs.com
  endpoint: 'https://cs.cn-chengdu.aliyuncs.com',
  // Versi API produk cloud. Contoh untuk Container Service: 2015-12-15
  apiVersion: '2015-12-15'
});

// Metode permintaan
const method = "GET"
// Parameter path
const uriPattern = '/api/v1/clusters';
// Parameter kueri
var queryParams = {
  "cluster_type": "Kubernetes",
  "name": "cluster-demo"
};
// Badan permintaan dalam format string JSON. Contoh: `{"nodepool_info":{"name":"nodepool-test","type":"ess"}}`;
const body = "";
// Header permintaan kustom
const headers = {
  "Content-Type": "application/json"
};
// Parameter waktu proses
const options = {
  timeout: 3000, // default 3000 ms
};

// Kirim permintaan
roaClient.request(method, uriPattern, queryParams, body, headers, options)
  .then((response) => {
    console.log('ROA Response:', response);
  })
  .catch((error) => {
    console.error('ROA Error:', error);
  });

Referensi

  • Untuk informasi selengkapnya tentang RPC dan ROA, lihat Gaya OpenAPI.

  • Untuk informasi selengkapnya tentang konfigurasi SDK lanjutan seperti pengaturan proxy dan timeout, lihat Konfigurasi lanjutan.

  • Untuk informasi selengkapnya tentang pembuatan Pasangan Kunci Akses, lihat Buat Pasangan Kunci Akses.