

 O [Guia de referência da API do AWS SDK para JavaScript V3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3). 

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Exemplos do Amazon Redshift
<a name="redshift-examples"></a>

O Amazon Redshift é um serviço de data warehouse em escala de petabytes totalmente gerenciado na nuvem. Um data warehouse do Amazon Redshift é um conjunto de recursos de computação chamados *nós*, que são organizados em um grupo chamado *cluster*. Cada cluster executa um mecanismo do Amazon Redshift e contém um ou mais bancos de dados.

![\[Relação entre ambientes JavaScript, o SDK e o Amazon Redshift\]](http://docs.aws.amazon.com/pt_br/sdk-for-javascript/v3/developer-guide/images/code-samples-redshift.png)


A API JavaScript para Amazon Redshift é exposta por meio da classe de cliente do [Amazon Redshift](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/Redshift/).

**Topics**
+ [Exemplos do Amazon Redshift](redshift-examples-section.md)

# Exemplos do Amazon Redshift
<a name="redshift-examples-section"></a>

Neste exemplo, uma série de módulos Node.js é usada para criar, modificar, descrever os parâmetros e, em seguida, excluir clusters do Amazon Redshift usando os seguintes métodos da classe de cliente do `Redshift`:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/CreateClusterCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/CreateClusterCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/ModifyClusterCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/ModifyClusterCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/DescribeClustersCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/DescribeClustersCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/DeleteClusterCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/DeleteClusterCommand/)

Para obter mais informações sobre usuários do Amazon Redshift, consulte o [Guia de conceitos básicos do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html).

## Tarefas de pré-requisito
<a name="s3-example-configuring-buckets-prerequisites"></a>

Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:
+ Configure o ambiente do projeto para executar estes exemplos do Node TypeScript e instale os módulos do AWS SDK para JavaScript e de terceiros necessários. Siga as instruções no[ GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/redshift/README.md).
+ Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhado, consulte [Arquivos de configuração e credenciais compartilhados](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) no *Guia de referência de ferramentas e SDKs da AWS*.

**Importante**  
Esses exemplos demonstram como importar/exportar objetos e comandos do serviço de cliente usando o ECMAScript6 (ES6).  
Isso requer o Node.js versão 13.x ou superior. Para baixar e instalar a versão mais recente do Node.js, consulte [Downloads do Node.js](https://nodejs.org/en/download).
Se você preferir usar a sintaxe do CommonJS, consulte [Sintaxe ES6/CommonJS de JavaScript](sdk-example-javascript-syntax.md).

## Criação de um cluster do Amazon Redshift
<a name="redshift-create-cluster"></a>

Este exemplo demonstra como criar um cluster do Amazon Redshift usando o AWS SDK para JavaScript. Para obter mais informações, consulte [CreateCluster](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateCluster).

**Importante**  
*O cluster que você está prestes a criar está ativo (e não está sendo executado em uma sandbox). Você será cobrado pelas taxas de uso padrão do Amazon Redshift para o cluster até que o exclua. Se você excluir o cluster na mesma sessão em que o criou, o valor total cobrado será mínimo. * 

Crie um diretório `libs` e um módulo Node.js com o nome de arquivo`redshiftClient.js`. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon Redshift. Substitua *REGION* pela sua região da 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 };
```

Esse código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/libs/redshiftClient.js).

Crie um módulo do Node.js com o nome de arquivo `redshift-create-cluster.js`. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. Crie um objeto de parâmetros, especificando o tipo de nó a ser provisionado, e as credenciais principais de login para a instância do banco de dados criada automaticamente no cluster e, finalmente, o tipo de cluster.

**nota**  
Substitua *CLUSTER\$1NAME* pelo nome do cluster. Para *NODE\$1TYPE*, especifique o tipo de nó a ser provisionado, como 'dc2.large', por exemplo. *MASTER\$1USERNAME* e *MASTER\$1USER\$1PASSWORD* são as credenciais de login do usuário principal da sua instância de banco de dados no cluster. Para *CLUSTER\$1TYPE*, insira o tipo de cluster. Se você especificar `single-node`, não precisará do parâmetro `NumberOfNodes`. Todos os parâmetros restantes são opcionais. 

```
// 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();
```

Para executar o exemplo, digite o seguinte no prompt de comando.

```
node redshift-create-cluster.js  
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/redshift-create-cluster.js).

## Modificação de um cluster do Amazon Redshift
<a name="redshift-modify-cluster"></a>

Este exemplo mostra como modificar a senha do usuário principal de um cluster do Amazon Redshift usando o AWS SDK para JavaScript. Para obter mais informações sobre quais outras configurações você pode modificar, consulte [ModifyCluster](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyCluster.html).

Crie um diretório `libs` e um módulo Node.js com o nome de arquivo`redshiftClient.js`. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon Redshift. Substitua *REGION* pela sua região da 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 };
```

Esse código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/libs/redshiftClient.js).

Crie um módulo do Node.js com o nome de arquivo `redshift-modify-cluster.js`. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. Especifique a Região AWS, o nome do cluster que você deseja modificar e a nova senha do usuário principal.

**nota**  
Substitua *CLUSTER\$1NAME* pelo nome do cluster e *MASTER\$1USER\$1PASSWORD* pela nova senha do usuário principal. 

```
// 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();
```

Para executar o exemplo, digite o seguinte no prompt de comando.

```
node redshift-modify-cluster.js 
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/redshift-modify-cluster.js).

## Visualização de detalhes de um cluster do Amazon Redshift
<a name="redshift-describe-cluster"></a>

Este exemplo mostra como visualizar os detalhes de um cluster do Amazon Redshift usando o AWS SDK para JavaScript. Para obter mais informações sobre opcionais, consulte [DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html).

Crie um diretório `libs` e um módulo Node.js com o nome de arquivo`redshiftClient.js`. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon Redshift. Substitua *REGION* pela sua região da 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 };
```

Esse código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/libs/redshiftClient.js).

Crie um módulo do Node.js com o nome de arquivo `redshift-describe-clusters.js`. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. Especifique a Região AWS, o nome do cluster que você deseja modificar e a nova senha do usuário principal.

**nota**  
Substitua *CLUSTER\$1NAME* pelo nome do cluster. 

```
// 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();
```

Para executar o exemplo, digite o seguinte no prompt de comando.

```
node redshift-describe-clusters.js 
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/redshift-describe-clusters.js).

## Excluir um cluster do Amazon Redshift
<a name="redshift-delete-cluster"></a>

Este exemplo mostra como visualizar os detalhes de um cluster do Amazon Redshift usando o AWS SDK para JavaScript. Para obter mais informações sobre quais outras configurações você pode modificar, consulte [DeleteCluster](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteCluster.html).

Crie um diretório `libs` e um módulo Node.js com o nome de arquivo`redshiftClient.js`. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon Redshift. Substitua *REGION* pela sua região da 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 };
```

Esse código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/libs/redshiftClient.js).

Crie um módulo Node.js com o nome de arquivo `redshift-delete-clusters.js`. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. Especifique a Região AWS, o nome do cluster que você deseja modificar e a nova senha do usuário principal. Em seguida, especifique se você deseja salvar um snapshot final do cluster antes de excluí-lo e, em caso afirmativo, o ID do snapshot.

**nota**  
Substitua *CLUSTER\$1NAME* pelo nome do cluster. Para o *SkipFinalClusterSnapshot*, especifique se deseja criar um snapshot final do cluster antes de excluí-lo. Se você especificar 'false', especifique o id do snapshot final do cluster em *CLUSTER\$1SNAPSHOT\$1ID*. Você pode obter esse ID clicando no link da coluna **Snapshots** do cluster no painel **Clusters** e rolando para baixo até o painel **Snapshots**. Observe que o radical `rs:` não faz parte do ID do snapshot.

```
// 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();
```

Para executar o exemplo, digite o seguinte no prompt de comando.

```
node redshift-delete-cluster.js  
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/redshift-delete-cluster.js).