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.
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.
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.
Références
Pour plus d'informations sur les styles RPC et ROA, consultez Styles OpenAPI.
Pour configurer les paramètres avancés du SDK (proxy, délai d'attente, etc.), consultez Configurations avancées.
Pour créer une paire d'AccessKey, consultez Créer une paire d'AccessKey.