

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Conectar-se a um cluster com o Amazon Redshift RSQL
<a name="rsql-query-tool-starting-tool-connection"></a>

Com o Amazon Redshift, você pode se conectar e interagir com um cluster usando o RSQL. Essa é uma ferramenta de linha de comandos que oferece uma forma segura para consultar dados, criar objetos de banco de dados e gerenciar clusters do Amazon Redshift. As seções a seguir orientam você pelas etapas para estabelecer uma conexão com seu cluster usando o RSQL com e sem um nome de fonte de dados (DSN).

## Conectar-se sem um DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-less-example"></a>

1. No console do Amazon Redshift, escolha o cluster ao qual você deseja se conectar e anote o endpoint, o banco de dados e a porta.

1. No prompt de comando, especifique as informações de conexão usando os parâmetros de linha de comando.

   ```
   rsql -h {{<endpoint>}} -U {{<username>}} -d {{<databasename>}} -p {{<port>}}
   ```

    Aqui, o seguinte se aplica: 
   +  {{<endpoint>}} é o **Endpoint** que você registrou na etapa anterior.
   +  {{<username>}} é o nome do usuário com as permissões para a conexão com o cluster.
   +  {{<databasename>}} é o **Nome do banco de dados** que você registrou na etapa anterior.
   +  {{<port>}} é a **porta** que você registrou na etapa anterior. {{<port>}} é um parâmetro opcional.

   Veja a seguir um exemplo.

   ```
   rsql -h testcluster.example.amazonaws.com -U user1 -d dev -p 5439
   ```

1.  No prompt da senha, digite a senha do usuário {{<username>}}.

   Uma resposta de conexão bem-sucedida tem a aparência a seguir.

   ```
   % rsql -h testcluster.example.com -d dev -U user1 -p 5349
   Password for user user1:
   DSN-less Connected
   DBMS Name: Amazon Redshift
   Driver Name: Amazon Redshift ODBC Driver
   Driver Version: 1.4.27.1000
   Rsql Version: 1.0.1
   Redshift Version: 1.0.29306
   Type "help" for help.
   
   (testcluster) user1@dev=#
   ```

O comando para conectar tem os mesmos parâmetros no Linux, Mac OS e Windows.

## Conectar-se com um DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-example"></a>

É possível conectar o RSQL ao Amazon Redshift usando um DSN para simplificar a organização das propriedades de conexão. Este tópico inclui instruções para instalação do driver ODBC e descrições das propriedades do DSN.

### Usar uma conexão DSN com uma senha
<a name="rsql-query-tool-starting-tool-connection-dsn-example-password"></a>

Veja a seguir um exemplo de uma configuração de conexão DSN que usa uma senha. O padrão `<path to driver>` para Mac OSX é `/opt/amazon/redshift/lib/libamazonredshiftodbc.dylib` e para Linux é `/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so`.

```
[testuser]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<database port>
Database=<dbname>
UID=<username>
PWD=<password>
sslmode=prefer
```

A saída a seguir é resultado de uma conexão bem-sucedida.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

### Usar o DSN de autenticação única
<a name="rsql-query-tool-starting-tool-connection-dsn"></a>

Você pode configurar um DSN para autenticação única. Veja a seguir um exemplo de configuração de conexão DSN que usa autenticação única do Okta.

```
[testokta]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-US
iam=1
plugin_name=<plugin name>
uid=<okta username>
pwd=<okta password>
idp_host=<idp endpoint>
app_id=<app id>
app_name=<app name>
preferred_role=<role arn>
```

Exemplo de saída de uma conexão bem-sucedida.

```
% rsql -D testokta 
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

Veja a seguir o exemplo de uma configuração de conexão DSN que usa autenticação única do Azure.

```
[testazure]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<cluster port>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-us
iam=1
plugin_name=<plugin name>
uid=<azure username>
pwd=<azure password>
idp_tenant=<Azure idp tenant uuid>
client_id=<Azure idp client uuid>
client_secret=<Azure idp client secret>
```

### Usar uma conexão DSN com um perfil do IAM
<a name="rsql-query-tool-starting-tool-connection-dsn-iam"></a>

Você pode se conectar ao Amazon Redshift usando seu perfil do IAM configurado. O perfil do IAM deve ter privilégios para chamar `GetClusterCredentials`. O exemplo a seguir mostra as propriedades DSN a serem usadas. Os parâmetros `ClusterID` e `Region` são obrigatórios somente se o `Host` não for um endpoint fornecido pela Amazon, como `examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com`.

```
[testiam]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Profile=default
```

O valor da chave `Profile` é o perfil nomeado que você escolhe a partir de suas credenciais AWS da CLI. Esse exemplo mostra as credenciais do perfil chamado `default`.

```
$ cat .aws/credentials
[default]
aws_access_key_id = ASIAIOSFODNN7EXAMPLE 
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

Veja a seguir a resposta da conexão.

```
$ rsql -D testiam
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Usar uma conexão DSN com um perfil da instância
<a name="rsql-query-tool-starting-tool-connection-dsn-instance"></a>

Você pode se conectar ao Amazon Redshift usando seu perfil de instância do Amazon EC2. O perfil da instância deve ter privilégios para chamar `GetClusterCredentials`. Veja o exemplo abaixo para saber quais propriedades DSN serão usadas. Os parâmetros `ClusterID` e `Region` são obrigatórios somente se o `Host` não for um endpoint fornecido pela Amazon, como `examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com`.

```
[testinstanceprofile]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Instanceprofile=1
```

Veja a seguir a resposta da conexão.

```
$ rsql -D testinstanceprofile
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Uso de uma conexão DSN com a cadeia de fornecedores de credenciais padrão
<a name="rsql-query-tool-starting-tool-connection-dsn-provider-chain"></a>

Para se conectar usando a cadeia de provedores de credenciais padrão, especifique apenas a propriedade do IAM, e o Amazon Redshift RSQL tentará adquirir credenciais na ordem descrita em [Trabalho com credenciais da AWS](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) no SDK da AWS para Java. Pelo menos um dos provedores da cadeia deve ter a permissão `GetClusterCredentials`. Isso é útil para se conectar a partir de contêineres ECS, por exemplo.

```
[iamcredentials]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
```