

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Conexión a un clúster con Amazon Redshift RSQL
<a name="rsql-query-tool-starting-tool-connection"></a>

Con Amazon Redshift, puede conectarse a un clúster e interactuar con él mediante RSQL. Se trata de una herramienta de línea de comandos que proporciona una forma segura de consultar datos, crear objetos de bases de datos y administrar el clúster de Amazon Redshift. Las siguientes secciones lo guían por los pasos para establecer una conexión con el clúster mediante RSQL con y sin un nombre de origen de datos (DSN).

## Conexión sin un DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-less-example"></a>

1. En la consola de Amazon Redshift, elija el clúster al que desea conectarse y anote el punto de conexión, la base de datos y el puerto.

1. En el símbolo del sistema, especifique la información de conexión usando los parámetros de línea de comando.

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

    A continuación, se aplica lo siguiente: 
   +  *<endpoint>* en el **punto de conexión** que registró en el paso anterior.
   +  *<username>* es el nombre de usuario con permisos para conectarse al clúster.
   +  *<databasename>* es el **nombre de base de datos** que registró en el paso anterior.
   +  *<port>* es el **puerto** que registró en el paso anterior. *<port>* es un parámetro opcional.

   Ejemplo:

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

1.  Cuando se le solicite la contraseña, ingrese la contraseña del usuario *<username>*.

   Una respuesta de conexión exitosa tendría el siguiente aspecto.

   ```
   % 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=#
   ```

El comando de conexión tiene los mismos parámetros en Linux, Mac OS y Windows.

## Conexión con un DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-example"></a>

Puede conectar RSQL a Amazon Redshift mediante un DSN para simplificar la organización de las propiedades de conexión. Este tema incluye instrucciones para la instalación del controlador ODBC y descripciones de las propiedades de DSN.

### Uso de una conexión DSN con contraseña
<a name="rsql-query-tool-starting-tool-connection-dsn-example-password"></a>

A continuación se muestra un ejemplo de configuración de conexión DSN que utiliza una contraseña. El `<path to driver>` predeterminado para Mac OSX es `/opt/amazon/redshift/lib/libamazonredshiftodbc.dylib` y para Linux es `/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
```

El siguiente es el resultado de una conexión correcta.

```
% 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=#
```

### Uso de DSN de inicio de sesión único
<a name="rsql-query-tool-starting-tool-connection-dsn"></a>

Puede configurar un DSN para la autenticación de inicio de sesión único. A continuación se muestra un ejemplo de una configuración de conexión DSN que utiliza el inicio de sesión único de 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>
```

Salida de ejemplo de una conexión correcta.

```
% 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=#
```

A continuación se muestra un ejemplo de una configuración de conexión DSN que utiliza el inicio de sesión único de 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>
```

### Uso de una conexión DSN con un perfil de IAM
<a name="rsql-query-tool-starting-tool-connection-dsn-iam"></a>

Puede conectarse a Amazon Redshift mediante el perfil de IAM configurado. El perfil de IAM debe tener privilegios para llamar a `GetClusterCredentials`. En el siguiente ejemplo, se muestran las propiedades de DSN que se utilizarán. Los parámetros `ClusterID` y `Region` son obligatorios solo si el `Host` no es un punto de conexión proporcionado por 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
```

El valor de la clave `Profile` es el perfil con nombre que elija de sus credenciales de la AWS CLI. En este ejemplo, se muestran las credenciales del perfil denominado `default`.

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

A continuación se muestra la respuesta de conexión.

```
$ 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=>
```

### Uso de una conexión DSN con un perfil de instancias
<a name="rsql-query-tool-starting-tool-connection-dsn-instance"></a>

Puede conectarse a Amazon Redshift mediante su perfil de instancia de Amazon EC2. El perfil de instancias debe tener privilegios para llamar a `GetClusterCredentials`. Consulte el siguiente ejemplo para ver las propiedades de DSN que se van a utilizar. Los parámetros `ClusterID` y `Region` son obligatorios solo si el `Host` no es un punto de conexión proporcionado por 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
```

A continuación se muestra la respuesta de conexión.

```
$ 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 una conexión DSN con la cadena predeterminada de proveedores de credenciales
<a name="rsql-query-tool-starting-tool-connection-dsn-provider-chain"></a>

Para conectarse mediante la cadena predeterminada de proveedores de credenciales, especifique solo la propiedad de IAM; Amazon Redshift RSQL intentará adquirir las credenciales en el orden descrito en [Uso de credenciales de AWS](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) en el AWS SDK para Java. Al menos uno de los proveedores de la cadena debe tener el permiso `GetClusterCredentials`. Eso resulta útil para conectarse desde contenedores de ECS, por ejemplo.

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