Amazon Redshift 示例 - AWS SDK for JavaScript

帮助我们改进AWS SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub.

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

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

Amazon Redshift 示例

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

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

先决任务

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

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

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

重要

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

创建 Amazon Redshift 集群

此示例演示如何使用AWS SDK for JavaScript. 有关更多信息,请参阅 。CreateCluster.

重要

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

创建libs目录,并创建文件名为的 Node.js 模块redshiftClient.js. 将下面的代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。Replace领域和您的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 模块。确保按前面所示配置开发工具包,包括安装所需的客户端和软件包。创建一个参数对象,指定要置备的节点类型,以及在集群中自动创建的数据库实例的主用户名和密码,最后是集群类型。

注意

ReplaceCLUSTER ER_NAME用集群的名称进行操作。适用于NODE_TYPE例如,指定要置备的节点类型,例如 'dc2.large'。MASTER_USERNAMEMASTER_USER_PASSWORD是集群中您的数据库实例的主用户名和密码。适用于CLUSTER ER_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 Redshift 用AWS SDK for JavaScript. 有关您可以修改其他设置的更多信息,请参阅ModifyCluster.

创建libs目录,并创建文件名为的 Node.js 模块redshiftClient.js. 将下面的代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。Replace领域和您的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 模块。确保按前面所示配置开发工具包,包括安装所需的客户端和软件包。指定AWSRegion、您要修改的集群的名称和新的主用户密码。

注意

ReplaceCLUSTER ER_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. 有关可选的更多信息,请参阅DescribeClusters.

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

注意

ReplaceCLUSTER ER_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. 有关您可以修改其他设置的更多信息,请参阅DeleteCluster.

创建libs目录,并创建文件名为的 Node.js 模块redshiftClient.js. 将下面的代码复制并粘贴到其中,这将创建 Amazon Redshift 客户端对象。Replace领域和您的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 上的这里.

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

注意

ReplaceCLUSTER ER_NAME用集群的名称进行操作。对于跳过最终集群快照,指定是否在删除集群前创建其最终快照。如果指定 “false”,请在中指定最终集群快照的 IDCLUSTER ER_SNAPSHOT_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 上的此处找到。