Amazon Redshift 예 - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API 참조 가이드는 버전 3(V3)의 모든 API 작업에 대해 AWS SDK for JavaScript 자세히 설명합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Redshift 예

이 예에서는 일련의 Node.js 모듈에서 Redshift 클라이언트 클래스의 다음 메서드를 사용하여 Amazon Redshift 클러스터의 파라미터를 생성, 수정, 설명하고 클러스터를 삭제합니다.

Amazon Redshift 사용자에 관한 자세한 내용은 Amazon Redshift 시작 안내서를 참조하세요.

사전 필수 작업

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.

  • 이러한 노드 TypeScript 예제를 실행하도록 프로젝트 환경을 설정하고 필수 AWS SDK for JavaScript 및 타사 모듈을 설치합니다. 의 지침을 따릅니다 GitHub.

  • 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 보안 인증 파일 제공에 대한 자세한 내용은 AWS SDKs 및 도구 참조 가이드공유 구성 및 보안 인증 파일을 참조하세요.

중요

이 예제에서는 ECMAScript6 ()를 사용하여 클라이언트 서비스 객체 및 명령을 가져오거나 내보내는 방법을 보여줍니다ES6.

  • 따라서 Node.js 버전 13.x 이상이 필요합니다. 최신 버전의 Node.js를 다운로드하여 설치하려면 Node.js downloads를 참조하세요.

  • CommonJS 구문을 사용하려는 경우 JavaScript ES6/CommonJS 구문 단원을 참조하세요.

Amazon Redshift 클러스터 생성

이 예에서는 AWS SDK for JavaScript를 사용하여 Amazon Redshift 클러스터를 생성하는 방법을 보여줍니다. 자세한 내용은 CreateCluster를 참조하세요.

중요

생성하려는 클러스터가 활성화됩니다(샌드박스에서 실행되지 않음). 클러스터를 삭제할 때까지 클러스터에 대해 기본 Amazon Redshift 사용 요금이 청구됩니다. 클러스터를 생성할 때와 같은 작업 기간 내에 해당 클러스터를 삭제하면 총 청구 비용이 가장 적게 듭니다.

libs 디렉터리를 생성하고 파일 이름이 redshiftClient.js인 Node.js 모듈을 생성합니다. 이 모듈에 아래 코드를 복사하여 붙여 넣으면 Amazon Redshift 클라이언트 객체가 생성됩니다. Replace 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 대로 를 구성해야 합니다. 프로비저닝할 노드 유형, 클러스터에 자동으로 생성되는 데이터베이스 인스턴스의 마스터 로그인 보안 인증, 마지막으로 클러스터 유형을 지정하여 파라미터 객체를 생성합니다.

참고

Replace 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 클라이언트 객체가 생성됩니다. Replace 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 리전, 수정하려는 클러스터의 이름 및 새 마스터 사용자 암호를 지정합니다.

참고

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 클러스터의 세부 정보 보기

이 예에서는 AWS SDK for JavaScript를 사용하여 Amazon Redshift 클러스터의 세부 정보를 확인하는 방법을 보여줍니다. 옵션에 대한 자세한 내용은 섹션을 참조하세요DescribeClusters.

libs 디렉터리를 생성하고 파일 이름이 redshiftClient.js인 Node.js 모듈을 생성합니다. 이 모듈에 아래 코드를 복사하여 붙여 넣으면 Amazon Redshift 클라이언트 객체가 생성됩니다. Replace 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 리전, 수정하려는 클러스터의 이름 및 새 마스터 사용자 암호를 지정합니다.

참고

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 클러스터 삭제

이 예에서는 AWS SDK for JavaScript를 사용하여 Amazon Redshift 클러스터의 세부 정보를 확인하는 방법을 보여줍니다. 수정할 수 있는 다른 설정에 대한 자세한 내용은 섹션을 참조하세요DeleteCluster.

libs 디렉터리를 생성하고 파일 이름이 redshiftClient.js인 Node.js 모듈을 생성합니다. 이 모듈에 아래 코드를 복사하여 붙여 넣으면 Amazon Redshift 클라이언트 객체가 생성됩니다. Replace 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를 지정합니다.

참고

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 확인할 수 있습니다.