Ejemplos de Amazon Redshift - AWS SDK para JavaScript

La Guía de referencia de la API de AWS SDK for JavaScript V3 describe en detalle todas las operaciones de la API para la versión 3 (V3) de AWS SDK for JavaScript.

Ejemplos de Amazon Redshift

En este ejemplo, se utilizan una serie de módulos de Node.js para crear, modificar, describir los parámetros y, a continuación, eliminar clústeres de Amazon Redshift mediante los siguientes métodos de la clase de cliente de Redshift:

Para obtener más información sobre los usuarios de Amazon Redshift, consulte la Guía de introducción de Amazon Redshift.

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:

  • Configure el entorno del proyecto para ejecutar estos ejemplos de Node TypeScript e instale los módulos necesarios de AWS SDK for JavaScript y de terceros. Siga las instrucciones en GitHub.

  • Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información sobre proporcionar un archivo de credenciales compartido, consulte Archivos de configuración y credenciales compartidos en la Guía de referencia de las herramientas y los SDK de AWS.

importante

Estos ejemplos muestran cómo importar/exportar comandos y objetos del servicio de cliente mediante ECMAScript6 (ES6).

Crea un clúster de Amazon Redshift.

En este ejemplo, se muestra cómo crear un clúster de Amazon Redshift con AWS SDK for JavaScript. Para obtener más información, consulte CreateCluster.

importante

El clúster que está a punto de lanzar se ejecutará en un entorno real (no en un entorno aislado). Debe pagar las tarifas de uso estándar de Amazon Redshift por el clúster hasta que lo elimine. Si elimina el clúster en la misma sesión en que lo creó, los cargos totales son mínimos.

Cree un directorio libs y cree un módulo Node.js con el nombre de archivo redshiftClient.js. Copie y pegue el siguiente código en él, para crear el objeto de cliente de Amazon Redshift. Sustituya REGION por su región de 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 };

Este código de ejemplo se puede encontrar aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo redshift-create-cluster.js. Asegúrese de configurar el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios. Cree un objeto de parámetros, especificando el tipo de nodo que se va a aprovisionar y las credenciales maestras de inicio de sesión de la instancia de base de datos creada automáticamente en el clúster y, por último, el tipo de clúster.

nota

Sustituya CLUSTER_NAME por el nombre de su clúster. En NODE_TYPE, especifique el tipo de nodo que se va a aprovisionar, como “dc2.large”, por ejemplo. MASTER_USERNAME y MASTER_USER_PASSWORD son las credenciales de inicio de sesión del usuario maestro de la instancia de base de datos en el clúster. En CLUSTER_TYPE, introduzca el tipo de clúster. Si especifica single-node, no necesitará el parámetro NumberOfNodes. El resto de los parámetros son opcionales.

// 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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node redshift-create-cluster.js

Este código de ejemplo se puede encontrar aquí en GitHub.

Modificación de un clúster de Amazon Redshift

En este ejemplo se muestra cómo modificar la contraseña de usuario maestro de un clúster de Amazon Redshift usando AWS SDK for JavaScript. Para obtener más información sobre qué otra configuración puede modificar, consulte ModifyCluster.

Cree un directorio libs y cree un módulo Node.js con el nombre de archivo redshiftClient.js. Copie y pegue el siguiente código en él, para crear el objeto de cliente de Amazon Redshift. Sustituya REGION por su región de 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 };

Este código de ejemplo se puede encontrar aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo redshift-modify-cluster.js. Asegúrese de configurar el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios. Especifique la región de AWS, el nombre del clúster que desea modificar y la nueva contraseña de usuario maestro.

nota

Sustituya CLUSTER_NAME por el nombre del clúster y MASTER_USER_PASSWORD por la nueva contraseña de usuario maestro.

// 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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node redshift-modify-cluster.js

Este código de ejemplo se puede encontrar aquí en GitHub.

Visualización de los detalles de un clúster de Amazon Redshift

En este ejemplo, se muestra cómo consultar los detalles de un clúster de Amazon Redshift con AWS SDK for JavaScript. Para obtener más información sobre lo opcional, consulte DescribecLusters.

Cree un directorio libs y cree un módulo Node.js con el nombre de archivo redshiftClient.js. Copie y pegue el siguiente código en él, para crear el objeto de cliente de Amazon Redshift. Sustituya REGION por su región de 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 };

Este código de ejemplo se puede encontrar aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo redshift-describe-clusters.js. Asegúrese de configurar el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios. Especifique la región de AWS, el nombre del clúster que desea modificar y la nueva contraseña de usuario maestro.

nota

Sustituya CLUSTER_NAME por el nombre de su clúster.

// 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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node redshift-describe-clusters.js

Este código de ejemplo se puede encontrar aquí en GitHub.

Eliminar un clúster de Amazon Redshift

En este ejemplo, se muestra cómo consultar los detalles de un clúster de Amazon Redshift con AWS SDK for JavaScript. Para obtener más información sobre qué otra configuración puede modificar, consulte DeleteCluster.

Cree un directorio libs y cree un módulo Node.js con el nombre de archivo redshiftClient.js. Copie y pegue el siguiente código en él, para crear el objeto de cliente de Amazon Redshift. Sustituya REGION por su región de 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 };

Este código de ejemplo se puede encontrar aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo redshift-delete-clusters.js. Asegúrese de configurar el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios. Especifique la región de AWS, el nombre del clúster que desea modificar y la nueva contraseña de usuario maestro. Especifique si desea guardar una instantánea final del clúster antes de eliminarlo y, de ser así, el ID de la instantánea.

nota

Sustituya CLUSTER_NAME por el nombre de su clúster. Para SkipFinalClusterSnapshot, especifique si desea crear una instantánea final del clúster antes de eliminarlo. Si especifica “false”, especifique el ID de la instantánea final del clúster en CLUSTER_SNAPSHOT_ID. Puede obtener este ID haciendo clic en el enlace de la columna Instantáneas del clúster en el panel de control Clústeres y desplazándose hacia abajo hasta el panel Instantáneas. Tenga en cuenta que la raíz rs: no forma parte del ID de la instantánea.

// 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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node redshift-delete-cluster.js

Este código de ejemplo se puede encontrar aquí en GitHub.