Tous les produits
Search
Centre de documentation

Alibaba Cloud SDK:Intégrer le SDK

Dernière mise à jour :Aug 11, 2026

Intégrez le SDK Alibaba Cloud à votre projet pour simplifier les appels OpenAPI, accélérer l'intégration des fonctionnalités et réduire les coûts de maintenance. Cette rubrique couvre l'installation du SDK et son utilisation de base.

Prérequis

Node.js 8.x ou version ultérieure

Installer le SDK

Le SDK Node.js V1.0 prend uniquement en charge les appels généralisés (CommonRequest). Ceux-ci requièrent seulement la dépendance @alicloud/pop-core. Exécutez la commande suivante pour l'installer :

npm install @alicloud/pop-core

Utiliser le SDK

Le SDK Node.js V1.0 admet deux styles d'appel : RPC et ROA. Les exemples ci-dessous illustrent l'opération ECS DescribeInstances pour le style RPC, ainsi que l'opération Container Service for Kubernetes (ACK) DescribeClustersV1 pour le style ROA.

1. Initialiser le client de requête

Toutes les opérations OpenAPI s'exécutent via le RPCClient ou le ROAClient fournis par @alicloud/pop-core. Vous devez initialiser le client avant tout appel d'opération. L'exemple suivant utilise une paire d'AccessKey. Pour connaître les autres méthodes d'initialisation, consultez Initialiser le client à l'aide d'un jeton STS.

Remarque

Cet exemple récupère les identifiants depuis les variables d'environnement. Avant d'exécuter le code, configurez les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET. Pour plus d'informations, consultez Configurer les variables d'environnement sur les systèmes Linux, macOS et Windows.

Client RPC

// Initialize the RPC client
const Core = require('@alicloud/pop-core');
var client = new Core({
  // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set.
  accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
  // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set.
  accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
  // The domain name in the http(s)://<product_endpoint> format. We recommend that you use HTTPS. Example for ECS: http://ecs-cn-hangzhou.aliyuncs.com
  endpoint: 'https://ecs.cn-hangzhou.aliyuncs.com',
  // The API version of the cloud product. Example for ECS: 2014-05-26
  apiVersion: '2014-05-26'
});

Client ROA

// Initialize the ROA client
var ROAClient = require('@alicloud/pop-core').ROAClient;
var client = new ROAClient({
  // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set.
  accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
  // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set.
  accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
  // The domain name in the http(s)://<product_endpoint> format. We recommend that you use HTTPS. Example for Container Service: http://cs.cn-chengdu.aliyuncs.com
  endpoint: 'https://cs.cn-chengdu.aliyuncs.com',
  // The API version of the cloud product. Example for Container Service: 2015-12-15
  apiVersion: '2015-12-15'
});

2. Construire les paramètres de la requête

Une requête nécessite trois paramètres : le nom de l'opération OpenAPI, l'objet des paramètres de requête et l'objet des paramètres d'exécution.

Remarque

L'importation de fichiers locaux n'est pas prise en charge. Pour importer un fichier local, utilisez le SDK V2.0.

Paramètres d'appel RPC

// The name of the OpenAPI operation
var action = 'DescribeInstances'
// The request parameters
var params = {
  "RegionId": "cn-hangzhou",
  "InstanceIds": "[\"i-bp67************\", \"i-7xva************\", … \"i-7xvc************\"]"
}
// The runtime parameters
var requestOption = {
  method: 'POST',
  formatParams: false,
};

Paramètres d'appel ROA

// The request method
const method = "GET"
// The path parameter
const uriPattern = '/api/v1/clusters';
// The query parameters
var queryParams = {
  "cluster_type": "Kubernetes",
  "name": "cluster-demo"
};
// The request body in the JSON string format. Example: `{"nodepool_info":{"name":"nodepool-test","type":"ess"}}`;
const body = "";
// The custom request headers
const headers = {
  "Content-Type": "application/json"
};
// The runtime parameters
const options = {
  timeout: 3000, // default 3000 ms
};

3. Envoyer la requête

Appelez l'opération request du client créé à l'étape 1 et transmettez-lui les paramètres construits à l'étape 2.

Appel RPC

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

Appel ROA

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

4. Gérer les exceptions

Par défaut, une exception est levée si le champ Code de la réponse API ne correspond pas à 200, OK, Success ou success. Vous pouvez définir des codes d'erreur personnalisés pour votre programme. Pour plus d'informations, consultez Gestion des exceptions.

Exemples de code complets

Appel RPC

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

var client = new Core({
  // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
  accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
  accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
  // The domain name in the http(s)://<product_endpoint> format. We recommend that you use HTTPS. Example for ECS: http://ecs-cn-hangzhou.aliyuncs.com
  endpoint: 'https://ecs.cn-hangzhou.aliyuncs.com',
  // The API version of the cloud product. Example for ECS: 2014-05-26
  apiVersion: '2014-05-26'
});

// The name of the OpenAPI operation
var action = 'DescribeInstances'

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

// The runtime parameters
var requestOption = {
  method: 'POST',
  formatParams: false,
};

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

Appel ROA

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

// Initialize the ROA client
var ROAClient = require('@alicloud/pop-core').ROAClient;
var client = new ROAClient({
  // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set.
  accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
  // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set.
  accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
  // The domain name in the http(s)://<product_endpoint> format. We recommend that you use HTTPS. Example for Container Service: http://cs.cn-chengdu.aliyuncs.com
  endpoint: 'https://cs.cn-chengdu.aliyuncs.com',
  // The API version of the cloud product. Example for Container Service: 2015-12-15
  apiVersion: '2015-12-15'
});

// The request method
const method = "GET"
// The path parameter
const uriPattern = '/api/v1/clusters';
// The query parameters
var queryParams = {
  "cluster_type": "Kubernetes",
  "name": "cluster-demo"
};
// The request body in the JSON string format. Example: `{"nodepool_info":{"name":"nodepool-test","type":"ess"}}`;
const body = "";
// The custom request headers
const headers = {
  "Content-Type": "application/json"
};
// The runtime parameters
const options = {
  timeout: 3000, // default 3000 ms
};

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

Références