Amazon Redshiftの例 - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API リファレンスガイドでは、AWS SDK for JavaScript バージョン3 (V3) のすべての API オペレーションについて詳しく説明します。

Amazon Redshiftの例

この例では、一連の Node.js モジュールを使用して、パラメーターの作成、変更、記述をします。次の Redshiftクライアントクラス方法を使ってAmazon Redshift クラスターを削除します。

Amazon Redshift ユーザーの詳細については、「 Amazon Redshift getting started guide  」を参照下さい。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。

  • これらの Node TypeScript の例を実行するようにプロジェクト環境を設定し、必要な AWS SDK for JavaScript とサードパーティーのモジュールをインストールします。「GitHub」の指示に従います。 

  • ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、「AWS SDK とツールのリファレンスガイド」の「共有設定ファイルおよび認証情報ファイル」を参照してください。

重要

これらの例は、ECMAScript6 (ES6) を使用してクライアントサービスオブジェクトとコマンドをimport/export する方法を示します。

  • これには Node.js バージョン13.x以降が必要です。Node.js の最新バージョンをダウンロードしてインストールするには、「Node.js ダウンロード」を参照してください。

  • CommonJS 構文を使用する場合は、「JavaScript ES6/CommonJS 構文」を参照してください。

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_USERNAME そして MASTER_USER_PASSWORD は、クラスターの DB インスタンスのマスターユーザーのサインイン認証情報です。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は、[Clusters]ダッシュボードのクラスターで [Snapshots]のクラスタ列にあるリンクをクリックして、そして[Snapshots]ペインまでスクロールします。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にあります。