Amazon Redshift 示例 - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API 参考指南详细描述了 AWS SDK for JavaScript 版本 3 (V3) 的所有 API 操作。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Redshift 示例

此示例使用一系列 Node.js 模块来创建、修改、描述 Amazon Redshift 集群的参数,然后使用 Redshift 客户端类的以下方法删除这些集群:

有关 Amazon Redshift 用户的更多信息,请参阅 Amazon Redshift 入门指南

先决条件任务

要设置和运行此示例,您必须先完成以下任务:

  • 设置项目环境以运行这些 Node TypeScript 示例,并安装所需的 AWS SDK for JavaScript 和第三方模块。请按照 GitHub 上的说明进行操作。

  • 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅《AWS SDK 和工具参考指南》中的共享配置和凭证文件

重要

这些示例演示了如何使用 ECMAScript6 (ES6) 导入/导出客户端服务对象和命令。

创建 Amazon Redshift 集群

此示例演示如何使用 AWS SDK for JavaScript 创建 Amazon Redshift 集群。有关更多信息,请参阅 CreateCluster

重要

您即将创建的集群将是活跃的(且不在沙盒中运行)。您需要为该集群支付标准 Amazon Redshift 使用费,直到删除它为止。如果您在创建集群的相同位置删除了集群,则产生的总费用其实是很少的。

创建一个 libs 目录,然后使用文件名 redshiftClient.js 创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。将 REGION 替换为您的 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 };

此示例代码可在 GitHub 上的此处找到。

创建文件名为 redshift-create-cluster.js 的 Node.js 模块。确保如前所示配置 SDK,包括安装所需的客户端和软件包。创建参数对象,指定要预置的节点类型,以及在集群中自动创建的数据库实例的主登录凭证,最后指定集群类型。

注意

CLUSTER_NAME 替换为集群的名称。对于 NODE_TYPE,请指定要预置的节点类型,例如 “dc2.large”。MASTER_USERNAMEMASTER_USER_PASSWORD 是集群中数据库实例的主用户的登录凭证。对于 CLUSTER_TYPE,输入集群的类型。如果指定 single-node,则不需要 NumberOfNodes 参数。其余参数均为可选参数。

// 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();

要运行示例,请在命令提示符中键入以下内容。

node redshift-create-cluster.js

此示例代码可在 GitHub 上的此处找到。

修改 Amazon Redshift 集群

此示例展示了如何使用 AWS SDK for JavaScript 修改 Amazon Redshift 集群的主用户密码。有关您可以修改的其他设置的更多信息,请参阅 ModifyCluster

创建一个 libs 目录,然后使用文件名 redshiftClient.js 创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。将 REGION 替换为您的 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 };

此示例代码可在 GitHub 上的此处找到。

创建文件名为 redshift-modify-cluster.js 的 Node.js 模块。确保如前所示配置 SDK,包括安装所需的客户端和软件包。指定 AWS 区域、要修改的集群名称和新的主用户密码。

注意

CLUSTER_NAME 替换为集群名称,将 MASTER_USER_PASSWORD 替换为新的主用户密码。

// 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();

要运行示例,请在命令提示符中键入以下内容。

node redshift-modify-cluster.js

此示例代码可在 GitHub 上的此处找到。

查看 Amazon Redshift 集群的详细信息

此示例说明了如何使用 AWS SDK for JavaScript 查看 Amazon Redshift 集群的详细信息。有关可选内容的更多信息,请参见 DescribeClusters

创建一个 libs 目录,然后使用文件名 redshiftClient.js 创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。将 REGION 替换为您的 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 };

此示例代码可在 GitHub 上的此处找到。

创建文件名为 redshift-describe-clusters.js 的 Node.js 模块。确保如前所示配置 SDK,包括安装所需的客户端和软件包。指定 AWS 区域、要修改的集群名称和新的主用户密码。

注意

CLUSTER_NAME 替换为集群的名称。

// 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();

要运行示例,请在命令提示符中键入以下内容。

node redshift-describe-clusters.js

此示例代码可在 GitHub 上的此处找到。

删除 Amazon Redshift 集群

此示例说明了如何使用 AWS SDK for JavaScript 查看 Amazon Redshift 集群的详细信息。有关您可以删除的其他设置的更多信息,请参阅 DeleteCluster

创建一个 libs 目录,然后使用文件名 redshiftClient.js 创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。将 REGION 替换为您的 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 };

此示例代码可在 GitHub 上的此处找到。

创建文件名为 redshift-delete-clusters.js 的 Node.js 模块。确保如前所示配置 SDK,包括安装所需的客户端和软件包。指定 AWS 区域、要修改的集群名称和新的主用户密码。指定是否要在删除集群之前保存集群的最终快照,如果是,则指定快照的 ID。

注意

CLUSTER_NAME 替换为集群的名称。对于 SkipFinalClusterSnapshot,请指定是否要在删除集群前对其创建最终快照。如果指定“false”,请在 CLUSTER_SNAPSHOT_ID 中指定最终集群快照的 ID。要获取此 ID,请单击集群仪表板上集群对应的快照列中的链接,然后滚动到快照窗格。请注意,词干 rs: 不是快照 ID 的一部分。

// 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();

要运行示例,请在命令提示符中键入以下内容。

node redshift-delete-cluster.js

此示例代码可在 GitHub 上的此处找到。