Amazon Redshift 示例 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

Amazon Redshift 示例

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

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

先决条件任务

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

重要

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

创建 Amazon Redshift 集群

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

重要

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

创建一个 libs 目录,然后使用文件名 redshiftClient.js 创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。Replace(替换) REGION 与您所在 Amazon 的地区。

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所示进行配置,包括安装所需的客户端和软件包。创建参数对象,指定要预置的节点类型,以及在集群中自动创建的数据库实例的主登录凭证,最后指定集群类型。

注意

Replace(替换) CLUSTER_NAME 使用集群的名称。对于 NODE_TYPE 指定要配置的节点类型,例如 'dc2.large'。MASTER_USERNAME 以及 MASTER_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 集群

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

创建一个 libs 目录,然后使用文件名 redshiftClient.js 创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。Replace(替换) REGION 与您所在 Amazon 的地区。

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所示进行配置,包括安装所需的客户端和软件包。指定 Amazon 区域、要修改的集群名称和新的主用户密码。

注意

Replace(替换) 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 集群的详细信息

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

创建一个 libs 目录,然后使用文件名 redshiftClient.js 创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。Replace(替换) REGION 与您所在 Amazon 的地区。

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所示进行配置,包括安装所需的客户端和软件包。指定 Amazon 区域、要修改的集群名称和新的主用户密码。

注意

Replace(替换) 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 集群

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

创建一个 libs 目录,然后使用文件名 redshiftClient.js 创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。Replace(替换) REGION 与您所在 Amazon 的地区。

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所示进行配置,包括安装所需的客户端和软件包。指定 Amazon 区域、要修改的集群名称和新的主用户密码。指定是否要在删除集群之前保存集群的最终快照,如果是,则指定快照的 ID。

注意

Replace(替换) CLUSTER_NAME 使用集群的名称。对于 SkipFinalClusterSnapshot,指定是否在删除集群之前创建集群的最终快照。如果指定 “false”,请在中指定最终集群快照的 ID CLUSTER_SNAPSHOT_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。