Use o Alibaba Cloud SDK for Node.js no Visual Studio Code (VS Code) no Windows.
Pré-requisitos
Node.js instalado. Instale o Node.js no Windows.
VS Code instalado. Defina um ambiente de desenvolvimento Node.js no Windows.
Uso do SDK
Uso do projeto de exemplo do OpenAPI Portal
Se o OpenAPI Portal falhar ao baixar o projeto de exemplo, tente Use the SDK in an existing project.
Acesse a página API Debugging no OpenAPI Portal. Selecione um product de cloud e uma API. Este exemplo usa a API DescribeRegions do ECS. Insira DescribeRegions na barra de pesquisa e clique em no nome da API.
-
Na guia Parameter Settings, insira os parâmetros obrigatórios. A guia Document, à direita, fornece a descrição da API, observações, informações de faturamento e detalhes dos parâmetros.
A API DescribeRegions aceita três parâmetros:
Nome do parâmetro
Obrigatório
Descrição
InstanceChargeType
Opcional
As regiões suportadas variam conforme o método de faturamento. Padrão: PrePaid.
ResourceType
Opcional
As regiões suportadas variam conforme o tipo de recurso. Padrão: instance.
AcceptLanguage
Opcional
Idioma dos resultados retornados. Padrão: zh-CN.
-
Na guia SDK Sample Code, na coluna mais à direita, selecione uma linguagem de programação e clique em Download Project para baixe o projeto completo do sdk para o seu computador. Em seguida, descompacte o pacote.
Selecione SDK Version como V2.0 Recommended.
Abra o VS Code. Na barra de menus, clique em File > Open Folder. Selecione a pasta descompactada.
Na barra de menus do VS Code, clique em Terminal > New Terminal.
-
No Terminal, execute o comando a seguir para instale o TypeScript.
npm install -g typescript -
No Terminal, execute o comando abaixo para instale as dependências do projeto.
npm install -
No Terminal, execute o comando a seguir para compilar arquivos TypeScript em JavaScript. Os arquivos de saída são gerados no diretório
dist.tsc -
No Terminal, execute o comando a seguir para execute o código de exemplo.
node ./dist/client.js Verifique o resultado. Pressione
Ctrl+Fno Terminal e pesquise porstatusCode. Uma resposta com"statusCode": 200indica sucesso.
Uso do SDK em um projeto existente
Abra o VS Code. Clique em File > Open Folder e crie ou selecione uma pasta de projeto, como tssdkproject.
Na barra de menus do VS Code, clique em Terminal > New Terminal.
-
Obtenha o sdk.
Acesse o SDK Center. Selecione um product de cloud, como o ECS. Defina a SDK Version como V2.0 e Language como TypeScript.
Selecione a versão da API 2014-05-26. É necessário Node.js >= 8.x. Na seção de instalação, execute o comando NPM:
npm install --save @alicloud/ecs20140526@4.1.7. -
Instale o sdk.
Copie o comando de instalação no Terminal e pressione Enter para executá-lo.
Crie um arquivo. Ao lado do nome do projeto, clique em no ícone New File e insira um nome de arquivo, como ecsDescribeRegions.js.
-
Inicialize o cliente.
Inicialize um cliente ECS antes de chamar qualquer API do ECS.
ImportanteVocê deve usar um par de AccessKey para concluir a verificação de identidade ao inicializar o cliente. Nesse caso, obtenha previamente um par de AccessKey. Para mais informações sobre como obter um par de AccessKey, consulte Crie um AccessKey.
Após obter o par de AccessKey de um usuário RAM, configure-o nas variáveis de ambiente. Para mais detalhes, consulte Configure environment variables in Linux, macOS, and Windows.
Para saber mais sobre como configure o 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); -
Chame a API. Consulte a API Documentation da API desejada. O exemplo a seguir chama a API
DescribeRegionsdo ECS.NotaCada API possui um objeto de solicitação separado que segue a convenção 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); }) -
Trate exceções.
O SDK V2.0 para Node.js lança dois tipos de exceções: exceções de negócio (erros de service) e exceções de rede (lançadas após o número máximo de tentativas). O código de exemplo não faz distinção entre elas porque as classes de exceção não podem ser importadas de 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; }); -
Execute o código de exemplo.
Se o Code Runner estiver instalado, clique em com o botão direito no editor e selecione Run Code.
-
Execute o arquivo com o comando node, por exemplo,
node .\ecsDescribeRegions.js.O código completo do arquivo ecsDescribeRegions.js é apresentado a seguir.
// 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; });Exemplo de saída do terminal após a execução:
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' } } -
Clique em Run and Debug na barra lateral ou pressione
Ctrl+Shift+De, em seguida, clique em Run and Debug para executar o arquivo ativo.// 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 o código de exemplo do OpenAPI Portal para um arquivo e execute-o. Automatic SDK code generation.