Use el SDK de Alibaba Cloud para Node.js en Visual Studio Code (VS Code) sobre Windows.
Requisitos previos
Node.js está instalado. Install Node.js on Windows.
VS Code está instalado. Set up a Node.js development environment on Windows.
Uso del SDK
Uso del proyecto de ejemplo desde OpenAPI Portal
Si OpenAPI Portal no logra descargar el proyecto de ejemplo, intente Use the SDK in an existing project.
Vaya a la API Debugging página en OpenAPI Portal. Seleccione un producto de nube y una API. Este ejemplo utiliza la API DescribeRegions de ECS. Introduzca DescribeRegions en la barra de búsqueda y haga clic en el nombre de la API.
-
En la pestaña Parameter Settings, introduzca los parámetros obligatorios. La pestaña Document, ubicada a la derecha, proporciona la descripción de la API, notas, información de facturación y detalles de los parámetros.
La API DescribeRegions admite tres parámetros:
Nombre del parámetro
Obligatorio
Descripción
InstanceChargeType
Opcional
Las regiones compatibles varían según el método de facturación. Valor predeterminado: PrePaid.
ResourceType
Opcional
Las regiones compatibles varían según el tipo de recurso. Valor predeterminado: instance.
AcceptLanguage
Opcional
Idioma de los resultados devueltos. Valor predeterminado: zh-CN.
-
En la pestaña SDK Sample Code, situada en la columna más a la derecha, seleccione un lenguaje de programación y haga clic en Download Project para descargar el proyecto completo del SDK a su computadora. Después, descomprima el paquete.
Seleccione SDK Version como V2.0 Recommended.
Abra VS Code. En la barra de menús, haga clic en File > Open Folder. Seleccione la carpeta que descomprimió.
En la barra de menús de VS Code, haga clic en Terminal > New Terminal.
-
En Terminal, ejecute el siguiente comando para instalar TypeScript.
npm install -g typescript -
En Terminal, ejecute el siguiente comando para instalar las dependencias del proyecto.
npm install -
En Terminal, ejecute el siguiente comando para compilar los archivos de TypeScript a JavaScript. Los archivos resultantes se colocan en el directorio
dist.tsc -
En Terminal, ejecute el siguiente comando para ejecutar el código de ejemplo.
node ./dist/client.js Compruebe el resultado. Presione
Ctrl+Fen Terminal y busquestatusCode. Una respuesta"statusCode": 200indica que la operación fue exitosa.
Uso del SDK en un proyecto existente
Abra VS Code. Haga clic en File > Open Folder y cree o seleccione una carpeta de proyecto, por ejemplo, tssdkproject.
En la barra de menús de VS Code, haga clic en Terminal > New Terminal.
-
Obtenga el SDK.
Vaya a SDK Center. Seleccione un producto de nube, como ECS. Establezca SDK Version en V2.0 y Language en TypeScript.
Seleccione la versión de API 2014-05-26. Se requiere Node.js >= 8.x. En la sección de instalación, ejecute el comando de instalación de NPM:
npm install --save @alicloud/ecs20140526@4.1.7. -
Instale el SDK.
Copie el comando de instalación en Terminal y presione Enter para ejecutarlo.
Cree un archivo. Junto al nombre del proyecto, haga clic en el ícono New File e introduzca un nombre de archivo, por ejemplo, ecsDescribeRegions.js.
-
Inicialice el cliente.
Inicialice un cliente de ECS antes de llamar a cualquier API de ECS.
ImportanteDebe usar un par de AccessKey para completar la verificación de identidad cuando inicialice el cliente. Por lo tanto, necesita obtener un par de AccessKey por adelantado. Para más información sobre cómo obtener un par de AccessKey, consulte Create an AccessKey.
Después de obtener el par de AccessKey de un usuario de RAM, configure dicho par en las variables de entorno. Para más información, consulte Configure environment variables in Linux, macOS, and Windows.
Para más información sobre cómo configurar el endpoint, consulte Endpoints.
// Import the ECS client and the OpenAPI client. const ecs20140526 = require('@alicloud/ecs20140526'); const openapiclient = require('@alicloud/openapi-client'); /** * Initialize the ECS client configuration. * This configuration uses the Access Key ID and Access Key Secret from environment variables for authentication and sets the endpoint to ecs.cn-hangzhou.aliyuncs.com. */ const ecsconfig = new openapiclient.Config(); ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // Get the Access Key ID from environment variables. ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // Get the Access Key Secret from environment variables. ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // Set the endpoint for the ECS service. // Create a client instance for ECS API version 20140526. const ecs20140526client = new ecs20140526.default(ecsconfig); -
Llame a la API. Revise la API Documentation correspondiente a la API de destino. El siguiente ejemplo llama a la API
DescribeRegionsde ECS.NotaCada API tiene un objeto de solicitud independiente que sigue la convención de nomenclatura
${APIName}${Request}, comoDescribeRegionsRequest.// Import the ECS client and the OpenAPI client. const ecs20140526 = require('@alicloud/ecs20140526'); const openapiclient = require('@alicloud/openapi-client'); /** * Initialize the ECS client configuration. * This configuration uses the Access Key ID and Access Key Secret from environment variables for authentication and sets the server-side endpoint to ecs.cn-hangzhou.aliyuncs.com. */ const ecsconfig = new openapiclient.Config(); ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // Use the Access Key ID from environment variables. ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // Use the Access Key Secret from environment variables. ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // Set the endpoint for the ECS service. // Create a client instance for ECS API version 20140526. const ecs20140526client = new ecs20140526.default(ecsconfig); const describeRegionsRequest = new ecs20140526.DescribeRegionsRequest(); // Initiate a request to query all regions. ecs20140526client.describeRegions(describeRegionsRequest).then((res)=>{ console.log(res); }) -
Gestione las excepciones.
El SDK V2.0 de Node.js genera dos tipos de excepciones: excepciones de negocio (errores de servicio) y excepciones de red (generadas tras alcanzar el número máximo de reintentos). El código de ejemplo no las diferencia porque las clases de excepción no se pueden importar desde módulos externos.
// Import the ECS client and the OpenAPI client. const ecs20140526 = require('@alicloud/ecs20140526'); const openapiclient = require('@alicloud/openapi-client'); /** * Initialize the ECS client configuration. * This configuration uses the Access Key ID and Access Key Secret from environment variables for authentication and sets the server-side endpoint to ecs.cn-hangzhou.aliyuncs.com. */ const ecsconfig = new openapiclient.Config(); ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // Use the Access Key ID from environment variables. ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // Use the Access Key Secret from environment variables. ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // Set the endpoint for the ECS service. // Create a client instance for ECS API version 20140526. const ecs20140526client = new ecs20140526.default(ecsconfig); const describeRegionsRequest = new ecs20140526.DescribeRegionsRequest(); // Initiate a request to query all regions. ecs20140526client.describeRegions(describeRegionsRequest).then((res) => { console.log(res); }).catch((err) => { console.log(err.message); throw err; }); -
Ejecute el código de ejemplo.
Si Code Runner está instalado, haga clic derecho en el editor y seleccione Run Code.
-
Ejecute el archivo con el comando node, por ejemplo,
node .\ecsDescribeRegions.js.A continuación se muestra el código completo del archivo ecsDescribeRegions.js.
// import the sdk const ecs20140526 = require('@alicloud/ecs20140526'); const openapiclient = require('@alicloud/openapi-client'); /** * init the client Config * set accessKeyId, accessKeySecret, endpoint */ const ecsconfig = new openapiclient.Config(); ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // create an ECS client const ecs20140526client = new ecs20140526.default(ecsconfig); const describeRegionsRequest = new ecs20140526.DescribeRegionsRequest(); // invoke the describeRegions to get the regions ecs20140526client.describeRegions(describeRegionsRequest).then((res) => { console.log(res); }).catch((err) => { console.log(err.message); throw err; });Salida de terminal de ejemplo después de la ejecución:
PS D:\ide\nodejsprojects\tssdkproject> node .\ecsDescribeRegions.js DescribeRegionsResponse { headers: { date: 'Wed, 22 May 2024 10:16:52 GMT', 'content-type': 'application/json;charset=utf-8', 'content-length': '3326', connection: 'keep-alive', 'keep-alive': 'timeout=25', vary: 'Accept-Encoding', 'access-control-allow-origin': '*', 'access-control-expose-headers': '*', 'x-acs-request-id': 'AC778D54-5FCE-52A9-A8B8-F59B84C83A22', 'x-acs-trace-id': '1ba239a3bb30f7938e40cb9b43877234', etag: '2eJeo4u9ETUTqRZPYxeavA2' }, statusCode: 200, body: DescribeRegionsResponseBody { regions: DescribeRegionsResponseBodyRegions { region: [Array] }, requestId: 'B77D422C-C519-55E2-A4D5-87925423F7F1' } } -
Haga clic en Run and Debug en la barra lateral o presione
Ctrl+Shift+D. Luego, haga clic en Run and Debug para ejecutar el archivo activo.// import the sdk const ecs20140526 = require('@alicloud/ecs20140526'); const openapiclient = require('@alicloud/openapi-client'); /** * init the client Config * set accessKeyId, accessKeySecret, endpoint */ const ecsconfig = new openapiclient.Config(); ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // create an ECS client const ecs20140526client = new ecs20140526.default(ecsconfig); const describeRegionsRequest = new ecs20140526.DescribeRegionsRequest(); // invoke the describeRegions to get the regions ecs20140526client.describeRegions(describeRegionsRequest).then((res) => { console.log(res); }).catch((err) => { console.log(err.message); throw err; });
(Opcional) Copie el código de ejemplo de OpenAPI Portal en un archivo y ejecútelo. Automatic SDK code generation.