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

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

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

Amazon Redshift

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

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

必备任务

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

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

  • 使用用户凭证创建共享配置文件。有关提供凭证 JSON 文件的更多信息,请参阅从共享凭证文件加载 Node.js 中的凭证

重要

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

Amazon Redshift 集群

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

重要

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

创建一个libs目录,然后使用文件名创建 Node.js 模块redshiftClient.js。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。将区域替换为您的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,包括安装所需的客户端和软件包。创建参数对象,指定要配置的节点类型,以及在集群中自动创建的数据库实例的主登录凭据,最后指定集群类型。

注意

CLUSTER_NAM E 替换为集群的名称。对于 NODE_T YPE,指定要配置的节点类型,例如 “dc2.large”。MASTER_ USERNAME 和 MASTER_USER_P ASSWORD 是集群中数据库实例主用户的登录凭证。对于 CLUSTER_T YPE,输入集群的类型。如果您指定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 Redshift 集群的主用户密码Amazon SDK for JavaScript。有关您可以修改哪些其他设置的更多信息,请参阅ModifyCluster

创建一个libs目录,然后使用文件名创建 Node.js 模块redshiftClient.js。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。将区域替换为您的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区域、要修改的集群的名称和新的主用户密码。

注意

CLUSTER_NAM E 替换为集群名称,将 MASTER_USER_P ASSWORD 替换为新的主用户密码。

// 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 ft 集群的详细信息

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

创建一个libs目录,然后使用文件名创建 Node.js 模块redshiftClient.js。将以下代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。将区域替换为您的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-descibe-clusters.js 的 Node.js 模块。确保按照前面所示配置 SDK,包括安装所需的客户端和软件包。指定Amazon区域、要修改的集群的名称和新的主用户密码。

注意

CLUSTER_NAM E 替换为集群的名称。

// 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 Redshift 集群查看 Amazon Redshift 集群的详细信息Amazon SDK for JavaScript。有关您可以修改哪些其他设置的更多信息,请参阅DeleteCluster

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

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

注意

CLUSTER_NAM E 替换为集群的名称。对于 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。