Exemplos do Amazon Redshift - AWS SDK para JavaScript

O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3).

Exemplos do Amazon Redshift

Neste exemplo, uma série de módulos Node.js é usada para criar, modificar, descrever os parâmetros e, em seguida, excluir clusters do Amazon Redshift usando os seguintes métodos da classe de cliente do Redshift:

Para obter mais informações sobre usuários do Amazon Redshift, consulte o Guia de conceitos básicos do Amazon Redshift.

Tarefas de pré-requisito

Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:

  • Configure o ambiente do projeto para executar estes exemplos do Node TypeScript e instale os módulos do AWS SDK para JavaScript e de terceiros necessários. Siga as instruções no GitHub.

  • Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhado, consulte Arquivos de configuração e credenciais compartilhados no Guia de referência de ferramentas e SDKs da AWS.

Importante

Esses exemplos demonstram como importar/exportar objetos e comandos do serviço de cliente usando o ECMAScript6 (ES6).

Criação de um cluster do Amazon Redshift

Este exemplo demonstra como criar um cluster do Amazon Redshift usando o AWS SDK para JavaScript. Para obter mais informações, consulte CreateCluster.

Importante

O cluster que você está prestes a criar está ativo (e não está sendo executado em uma sandbox). Você será cobrado pelas taxas de uso padrão do Amazon Redshift para o cluster até que o exclua. Se você excluir o cluster na mesma sessão em que o criou, o valor total cobrado será mínimo.

Crie um diretório libs e um módulo Node.js com o nome de arquivoredshiftClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon Redshift. Substitua REGION pela sua região da AWS.

import { RedshiftClient } from "@aws-sdk/client-redshift"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create Redshift service object. const redshiftClient = new RedshiftClient({ region: REGION }); export { redshiftClient };

Esse código de exemplo pode ser encontrado aqui no GitHub.

Crie um módulo do Node.js com o nome de arquivo redshift-create-cluster.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. Crie um objeto de parâmetros, especificando o tipo de nó a ser provisionado, e as credenciais principais de login para a instância do banco de dados criada automaticamente no cluster e, finalmente, o tipo de cluster.

nota

Substitua CLUSTER_NAME pelo nome do cluster. Para NODE_TYPE, especifique o tipo de nó a ser provisionado, como 'dc2.large', por exemplo. MASTER_USERNAME e MASTER_USER_PASSWORD são as credenciais de login do usuário principal da sua instância de banco de dados no cluster. Para CLUSTER_TYPE, insira o tipo de cluster. Se você especificar single-node, não precisará do parâmetro NumberOfNodes. Todos os parâmetros restantes são opcionais.

// Import required AWS SDK clients and commands for Node.js import { CreateClusterCommand } from "@aws-sdk/client-redshift"; import { redshiftClient } from "./libs/redshiftClient.js"; const params = { ClusterIdentifier: "CLUSTER_NAME", // Required NodeType: "NODE_TYPE", //Required MasterUsername: "MASTER_USER_NAME", // Required - must be lowercase MasterUserPassword: "MASTER_USER_PASSWORD", // Required - must contain at least one uppercase letter, and one number ClusterType: "CLUSTER_TYPE", // Required IAMRoleARN: "IAM_ROLE_ARN", // Optional - the ARN of an IAM role with permissions your cluster needs to access other AWS services on your behalf, such as Amazon S3. ClusterSubnetGroupName: "CLUSTER_SUBNET_GROUPNAME", //Optional - the name of a cluster subnet group to be associated with this cluster. Defaults to 'default' if not specified. DBName: "DATABASE_NAME", // Optional - defaults to 'dev' if not specified Port: "PORT_NUMBER", // Optional - defaults to '5439' if not specified }; const run = async () => { try { const data = await redshiftClient.send(new CreateClusterCommand(params)); console.log( `Cluster ${data.Cluster.ClusterIdentifier} successfully created`, ); return data; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Para executar o exemplo, digite o seguinte no prompt de comando.

node redshift-create-cluster.js

Este código de exemplo pode ser encontrado aqui no GitHub.

Modificação de um cluster do Amazon Redshift

Este exemplo mostra como modificar a senha do usuário principal de um cluster do Amazon Redshift usando o AWS SDK para JavaScript. Para obter mais informações sobre quais outras configurações você pode modificar, consulte ModifyCluster.

Crie um diretório libs e um módulo Node.js com o nome de arquivoredshiftClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon Redshift. Substitua REGION pela sua região da AWS.

import { RedshiftClient } from "@aws-sdk/client-redshift"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create Redshift service object. const redshiftClient = new RedshiftClient({ region: REGION }); export { redshiftClient };

Esse código de exemplo pode ser encontrado aqui no GitHub.

Crie um módulo do Node.js com o nome de arquivo redshift-modify-cluster.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. Especifique a Região AWS, o nome do cluster que você deseja modificar e a nova senha do usuário principal.

nota

Substitua CLUSTER_NAME pelo nome do cluster e MASTER_USER_PASSWORD pela nova senha do usuário principal.

// Import required AWS SDK clients and commands for Node.js import { ModifyClusterCommand } from "@aws-sdk/client-redshift"; import { redshiftClient } from "./libs/redshiftClient.js"; // Set the parameters const params = { ClusterIdentifier: "CLUSTER_NAME", MasterUserPassword: "NEW_MASTER_USER_PASSWORD", }; const run = async () => { try { const data = await redshiftClient.send(new ModifyClusterCommand(params)); console.log("Success was modified.", data); return data; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Para executar o exemplo, digite o seguinte no prompt de comando.

node redshift-modify-cluster.js

Este código de exemplo pode ser encontrado aqui no GitHub.

Visualização de detalhes de um cluster do Amazon Redshift

Este exemplo mostra como visualizar os detalhes de um cluster do Amazon Redshift usando o AWS SDK para JavaScript. Para obter mais informações sobre opcionais, consulte DescribeClusters.

Crie um diretório libs e um módulo Node.js com o nome de arquivoredshiftClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon Redshift. Substitua REGION pela sua região da AWS.

import { RedshiftClient } from "@aws-sdk/client-redshift"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create Redshift service object. const redshiftClient = new RedshiftClient({ region: REGION }); export { redshiftClient };

Esse código de exemplo pode ser encontrado aqui no GitHub.

Crie um módulo do Node.js com o nome de arquivo redshift-describe-clusters.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. Especifique a Região AWS, o nome do cluster que você deseja modificar e a nova senha do usuário principal.

nota

Substitua CLUSTER_NAME pelo nome do cluster.

// Import required AWS SDK clients and commands for Node.js import { DescribeClustersCommand } from "@aws-sdk/client-redshift"; import { redshiftClient } from "./libs/redshiftClient.js"; const params = { ClusterIdentifier: "CLUSTER_NAME", }; const run = async () => { try { const data = await redshiftClient.send(new DescribeClustersCommand(params)); console.log("Success", data); return data; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Para executar o exemplo, digite o seguinte no prompt de comando.

node redshift-describe-clusters.js

Este código de exemplo pode ser encontrado aqui no GitHub.

Excluir um cluster do Amazon Redshift

Este exemplo mostra como visualizar os detalhes de um cluster do Amazon Redshift usando o AWS SDK para JavaScript. Para obter mais informações sobre quais outras configurações você pode modificar, consulte DeleteCluster.

Crie um diretório libs e um módulo Node.js com o nome de arquivoredshiftClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon Redshift. Substitua REGION pela sua região da AWS.

import { RedshiftClient } from "@aws-sdk/client-redshift"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create Redshift service object. const redshiftClient = new RedshiftClient({ region: REGION }); export { redshiftClient };

Esse código de exemplo pode ser encontrado aqui no GitHub.

Crie um módulo Node.js com o nome de arquivo redshift-delete-clusters.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. Especifique a Região AWS, o nome do cluster que você deseja modificar e a nova senha do usuário principal. Em seguida, especifique se você deseja salvar um snapshot final do cluster antes de excluí-lo e, em caso afirmativo, o ID do snapshot.

nota

Substitua CLUSTER_NAME pelo nome do cluster. Para o SkipFinalClusterSnapshot, especifique se deseja criar um snapshot final do cluster antes de excluí-lo. Se você especificar 'false', especifique o id do snapshot final do cluster em CLUSTER_SNAPSHOT_ID. Você pode obter esse ID clicando no link da coluna Snapshots do cluster no painel Clusters e rolando para baixo até o painel Snapshots. Observe que o radical rs: não faz parte do ID do snapshot.

// Import required AWS SDK clients and commands for Node.js import { DeleteClusterCommand } from "@aws-sdk/client-redshift"; import { redshiftClient } from "./libs/redshiftClient.js"; const params = { ClusterIdentifier: "CLUSTER_NAME", SkipFinalClusterSnapshot: false, FinalClusterSnapshotIdentifier: "CLUSTER_SNAPSHOT_ID", }; const run = async () => { try { const data = await redshiftClient.send(new DeleteClusterCommand(params)); console.log("Success, cluster deleted. ", data); return data; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Para executar o exemplo, digite o seguinte no prompt de comando.

node redshift-delete-cluster.js

Este código de exemplo pode ser encontrado aqui no GitHub.