

 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/). 

# CREATE EXTERNAL SCHEMA
CREATE EXTERNAL SCHEMA

Crea un nuevo esquema externo en la base de datos actual. Puede utilizar este esquema externo para conectarse a las bases de datos de Amazon RDS for PostgreSQL o la Edición compatible con PostgreSQL de Amazon Aurora. También puede crear un esquema externo que referencie una base de datos en un catálogo de datos externo, como AWS Glue, Athena o una base de datos en un metastore de Apache Hive, como Amazon EMR.

El propietario de este esquema es el emisor del comando CREATE EXTERNAL SCHEMA. Para transferir la propiedad de un esquema externo, use [ALTER SCHEMA](r_ALTER_SCHEMA.md) para cambiar el propietario. Para conceder acceso al esquema a otros usuarios o grupos utilice el comando [GRANT](r_GRANT.md). 

No puede usar los comandos GRANT o REVOKE para los permisos en una tabla externa. En lugar de ello, conceda o revoque los permisos en el esquema externo. 

**nota**  
Si actualmente tiene tablas externas de Redshift Spectrum en el catálogo de datos de Amazon Athena, puede migrar el catálogo de datos de Athena a un AWS Glue Data Catalog. Para utilizar el catálogo de datos de AWS Glue con Redshift Spectrum, es posible que tenga que cambiar las políticas de AWS Identity and Access Management (IAM). Para obtener más información, consulte [Actualización al catálogo de datos de AWS Glue](https://docs.aws.amazon.com/athena/latest/ug/glue-athena.html#glue-upgrade) en la *Guía del usuario de Athena*.

Para ver detalles de los esquemas externos, consulte la vista del sistema [SVV\$1EXTERNAL\$1SCHEMAS](r_SVV_EXTERNAL_SCHEMAS.md). 

## Sintaxis
Sintaxis

La sintaxis siguiente describe el comando CREATE EXTERNAL SCHEMA utilizado para hacer referencia a datos mediante un catálogo de datos externo. Para obtener más información, consulte [Amazon Redshift Spectrum](c-using-spectrum.md).

```
CREATE EXTERNAL SCHEMA [IF NOT EXISTS] local_schema_name
FROM [ [ DATA CATALOG ] | HIVE METASTORE | POSTGRES | MYSQL | KINESIS | MSK | REDSHIFT | KAFKA ]
[ DATABASE 'database_name' ]
[ SCHEMA 'schema_name' ]
[ REGION 'aws-region' ]
[ IAM_ROLE [ default | 'SESSION' | 'arn:aws:iam::<Cuenta de AWS-id>:role/<role-name>' ] ]
[ AUTHENTICATION [ none | iam | mtls] ]
[ AUTHENTICATION_ARN 'acm-certificate-arn' | SECRET_ARN 'ssm-secret- arn' ]
[ URI ['hive_metastore_uri' [ PORT port_number ] | 'hostname' [ PORT port_number ] | 'Kafka bootstrap URL'] ] 
[ CLUSTER_ARN 'arn:aws:kafka:<region>:<Cuenta de AWS-id>:cluster/msk/<cluster uuid>' ]
[ CATALOG_ROLE [ 'SESSION' | 'catalog-role-arn-string' ] ]
[ CREATE EXTERNAL DATABASE IF NOT EXISTS ]
[ CATALOG_ID 'Amazon Web Services account ID containing Glue or Lake Formation database' ]
```

La siguiente sintaxis describe el comando CREATE EXTERNAL SCHEMA que se utiliza para referenciar datos mediante una consulta federada a RDS POSTGRES o Aurora PostgreSQL. También se puede crear un esquema externo que haga referencia a orígenes de streaming, como Kinesis Data Streams. Para obtener más información, consulte [Consulta de datos con consultas federadas en Amazon Redshift](federated-overview.md).

```
CREATE EXTERNAL SCHEMA [IF NOT EXISTS] local_schema_name
FROM POSTGRES
DATABASE 'federated_database_name' [SCHEMA 'schema_name']
URI 'hostname' [ PORT port_number ]
IAM_ROLE [ default | 'arn:aws:iam::<Cuenta de AWS-id>:role/<role-name>' ]
SECRET_ARN 'ssm-secret-arn'
```

La siguiente sintaxis describe el comando CREATE EXTERNAL SCHEMA que se utiliza para referenciar datos mediante una consulta federada a RDS MySQL o Aurora MySQL. Para obtener más información, consulte [Consulta de datos con consultas federadas en Amazon Redshift](federated-overview.md).

```
CREATE EXTERNAL SCHEMA [IF NOT EXISTS] local_schema_name
FROM MYSQL
DATABASE 'federated_database_name'
URI 'hostname' [ PORT port_number ]
IAM_ROLE [ default | 'arn:aws:iam::<Cuenta de AWS-id>:role/<role-name>' ]
SECRET_ARN 'ssm-secret-arn'
```

La siguiente sintaxis describe el comando CREATE EXTERNAL SCHEMA que se utiliza para hacer referencia a datos de un flujo de Kinesis. Para obtener más información, consulte [Ingesta de streaming a una vista materializada](materialized-view-streaming-ingestion.md).

```
CREATE EXTERNAL SCHEMA [IF NOT EXISTS] schema_name
FROM KINESIS
IAM_ROLE [ default | 'arn:aws:iam::<Cuenta de AWS-id>:role/<role-name>' ]
```

La siguiente sintaxis describe el comando CREATE EXTERNAL SCHEMA utilizado para hacer referencia al clúster de Amazon Managed Streaming para Apache Kafka o Confluent Cloud y los temas desde los cuales se incorpora. Para conectarse, debe proporcionar el URI del agente. Para obtener más información, consulte [Ingesta de streaming a una vista materializada](materialized-view-streaming-ingestion.md).

```
CREATE EXTERNAL SCHEMA [IF NOT EXISTS] schema_name
FROM KAFKA
[ IAM_ROLE [ default | 'arn:aws:iam::<Cuenta de AWS-id>:role/<role-name>' ] ]
URI 'Kafka bootstrap URI'
AUTHENTICATION [ none | iam | mtls ]
[ AUTHENTICATION_ARN 'acm-certificate-arn' | SECRET_ARN 'ssm-secret- arn' ];
```

La siguiente sintaxis describe el comando CREATE EXTERNAL SCHEMA que se utiliza para referenciar datos mediante una consulta entre distintas bases de datos.

```
CREATE EXTERNAL SCHEMA local_schema_name
FROM  REDSHIFT
DATABASE 'redshift_database_name' SCHEMA 'redshift_schema_name'
```

## Parameters
Parameters

IF NOT EXISTS  
Una cláusula que indica que si el esquema especificado ya existe, el comando no debe realizar cambios y debe devolver un mensaje en el que se indique que el esquema existe, en lugar de terminar con un error. Esta cláusula es útil cuando se realiza scripting, para que el script no produzca un error si CREATE EXTERNAL SCHEMA intenta crear un esquema que ya existe. 

nombre\$1de\$1esquema\$1local  
El nombre del nuevo esquema externo. Para obtener más información acerca de los nombres válidos, consulte [Nombres e identificadores](r_names.md).

FROM [ DATA CATALOG ] \$1 HIVE METASTORE \$1 POSTGRES \$1 MYSQL \$1 KINESIS \$1 MSK \$1 REDSHIFT   
Una palabra clave que indica dónde está ubicada la base de datos externa.   
DATA CATALOG indica que la base de datos externa se define en el catálogo de datos de Athena o en el AWS Glue Data Catalog.   
Si la base de datos externa se define en un catálogo de datos externo en una región de AWS diferente, el parámetro REGION es obligatorio. DATA CATALOG es el valor predeterminado.  
HIVE METASTORE indica que la base de datos externa está definida en un metaalmacén Apache Hive. Si se especifica HIVE METASTORE, se requiere el URI.   
POSTGRES indica que la base de datos externa está definida en RDS PostgreSQL o Aurora PostgreSQL.  
MYSQL indica que la base de datos externa está definida en RDS MySQL o Aurora MySQL.  
KINESIS indica que el origen de datos es un flujo de Kinesis Data Streams.  
MSK indica que el origen de datos es un clúster aprovisionado o sin servidor de Amazon MSK.  
KAFKA indica que el origen de datos es un clúster de Kafka. Puede utilizar esta palabra clave para Amazon MSK y Confluent Cloud.

FROM REDSHIFT  
Se trata de una palabra clave que indica que la base de datos se encuentra en Amazon Redshift.

DATABASE '*redshift\$1database\$1name*' SCHEMA '*redshift\$1schema\$1name*'  
Se trata del nombre de la base de datos de Amazon Redshift.   
El parámetro *redshift\$1schema\$1name* indica el esquema en Amazon Redshift. El parámetro *redshift\$1schema\$1name* predeterminado es `public`.

DATABASE '*federated\$1database\$1name*'  
Se trata de una palabra clave que indica el nombre de la base de datos externa en un motor de base de datos de PostgreSQL o MySQL compatible. 

[SCHEMA '*schema\$1name*']  
El parámetro *schema\$1name* indica el esquema en un motor de base de datos de PostgreSQL compatible. El valor predeterminado de *schema\$1name* es `public`.  
No se puede especificar un SCHEMA cuando se configura una consulta federada a un motor de base de datos de MySQL compatible. 

REGION '*aws-region*'  
Si la base de datos externa se define en un catálogo de datos de Athena o en el AWS Glue Data Catalog, esta es la región de AWS en la que se encuentra la base de datos. Este parámetro es obligatorio si la base de datos se define en un catálogo de datos externo. 

URI [ 'hive\$1metastore\$1uri' [ PORT port\$1number ] \$1 'hostname' [ PORT port\$1number ] \$1 'Kafka bootstrap URI' ]  
Se trata del URI del nombre del alojamiento y el port\$1number de un motor de base de datos de PostgreSQL o MySQL compatible. El *hostname* es el nodo principal del conjunto de réplicas. El punto de conexión debe ser accesible (enrutable) desde el clúster de Amazon Redshift. El port\$1number predeterminado de PostgreSQL es 5432. El port\$1number predeterminado para MySQL es 3306.  
El motor de base de datos de PostgreSQL o MySQL compatible debe estar en la misma VPC que el clúster de Amazon Redshift con un grupo de seguridad que vincule Amazon Redshift y RDS url-rsPostgreSQL o Aurora PostgreSQL. Además, puede usar el enrutamiento de VPC mejorado para configurar un caso de uso entre VPC. Para obtener más información, consulte [Puntos de conexión de VPC administrador por Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-cross-vpc.html).
**Especificación de un URI de metastore de hive**  
Si la base de datos está en un metaalmacén Hive, especifique el URI y, de manera opcional, el número de puerto para el metaalmacén. El número de puerto predeterminado es 9083.   
Un URI no contiene una especificación de protocolo (“http://”). Un ejemplo de URI válido es .: `uri '172.10.10.10'`.   
**Especificación de un URI de agente para la ingesta de streaming**  
La inclusión del URI de bootstrap-broker proporciona la capacidad de conectarse a un clúster de Amazon MSK o Confluent Cloud y recibir datos transmitidos. Para obtener más información y ver un ejemplo, consulte [Introducción a la ingesta de streaming de Amazon Managed Streaming para Apache Kafka](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html).

IAM\$1ROLE [ default \$1 'SESSION' \$1 'arn:aws:iam::*<Cuenta de AWS-id>*:role/*<role-name>*' ]  
Utilice la palabra clave predeterminada para que Amazon Redshift utilice el rol de IAM configurado como predeterminado y asociado al clúster cuando se ejecuta el comando CREATE EXTERNAL SCHEMA.  
Use `'SESSION'` si se conecta al clúster de Amazon Redshift mediante una identidad federada y acceda a las tablas desde el esquema externo creado con este comando. Para obtener más información, consulte [Uso de una identidad federada para administrar el acceso de Amazon Redshift a los recursos locales y a las tablas externas de Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/mgmt/authorization-fas-spectrum.html), lo que explica cómo configurar la identidad federada. Tenga en cuenta que esta configuración, con `'SESSION'` en lugar del ARN, solo se puede usar si el esquema se crea utilizando `DATA CATALOG`.   
Utilice el nombre de recurso de Amazon (ARN), de un rol de IAM que el clúster utiliza para la autenticación y la autorización. Como mínimo, el rol de IAM debe tener permiso para realizar una operación LIST en el bucket de Amazon S3 al que se accederá y una operación GET en los objetos de Amazon S3 que el bucket contiene.  
A continuación se muestra la sintaxis de la cadena del parámetro IAM\$1ROLE para un único ARN.  

```
IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-name>'
```
Puede encadenar roles para que el clúster pueda asumir otro rol de IAM, que posiblemente pertenezca a otra cuenta. Puede encadenar hasta 10 roles. Para ver un ejemplo de encadenamiento de roles, consulte [Encadenamiento de roles de IAM en Amazon Redshift Spectrum](c-spectrum-iam-policies.md#c-spectrum-chaining-roles).   
 Para este rol de IAM; asocie una política de permisos de IAM similar a la siguiente.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessSecret",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetResourcePolicy",
                "secretsmanager:GetSecretValue",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecretVersionIds"
            ],
            "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-rds-secret-VNenFy"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*"
        }
    ]
}
```
Para obtener información sobre los pasos para crear un rol de IAM que se utilizará con la consulta federada, consulte [Creación de un secreto y rol de IAM para utilizar consultas federadas](federated-create-secret-iam-role.md).   
No incluya espacios en la lista de roles encadenados.
A continuación se muestra la sintaxis para encadenar tres roles.  

```
IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-1-name>,arn:aws:iam::<aws-account-id>:role/<role-2-name>,arn:aws:iam::<aws-account-id>:role/<role-3-name>'
```

SECRET\$1ARN '*ssm-secret-arn*'  
Se trata del nombre de recurso de Amazon (ARN) de un secreto de motor de base de datos de PostgreSQL o MySQL compatible creado mediante AWS Secrets Manager. Para obtener información sobre cómo crear y recuperar un ARN para un secreto, consulte [Administrar secretos con AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) en la *Guía del usuario de AWS Secrets Manager*, y [Recuperar el nombre de recurso de Amazon (ARN) del secreto en Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-secrets-manager-integration-retrieving-secret.html). 

CATALOG\$1ROLE [ 'SESSION' \$1 *catalog-role-arn-string*]  
Use `'SESSION'` para conectarse al clúster de Amazon Redshift mediante una identidad federada para la autenticación y la autorización del catálogo de datos. Para obtener más información acerca de completar los pasos para la identidad federada, consulte [Uso de una identidad federada para administrar el acceso de Amazon Redshift a los recursos locales y a las tablas externas de Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/mgmt/authorization-fas-spectrum.html). Tenga en cuenta que el rol `'SESSION'` solo se puede usar si el esquema se crea en el CATÁLOGO DE DATOS.  
Utilice el nombre de recurso de Amazon (ARN), para un rol de IAM que el clúster utiliza para la autenticación y la autorización del catálogo de datos.   
Si no se especifica CATALOG\$1ROLE, Amazon Redshift utiliza el IAM\$1ROLE especificado. El rol del catálogo debe tener permiso para acceder al catálogo de datos en AWS Glue o Athena. Para obtener más información, consulte [Políticas de IAM para Amazon Redshift Spectrum](c-spectrum-iam-policies.md).   
A continuación se muestra la sintaxis de la cadena del parámetro CATALOG\$1ROLE para un único ARN.  

```
CATALOG_ROLE 'arn:aws:iam::<aws-account-id>:role/<catalog-role>'
```
Puede encadenar roles para que el clúster pueda asumir otro rol de IAM, que posiblemente pertenezca a otra cuenta. Puede encadenar hasta 10 roles. Para obtener más información, consulte [Encadenamiento de roles de IAM en Amazon Redshift Spectrum](c-spectrum-iam-policies.md#c-spectrum-chaining-roles).   
La lista de roles encadenados no debe incluir espacios.
A continuación se muestra la sintaxis para encadenar tres roles.  

```
CATALOG_ROLE 'arn:aws:iam::<aws-account-id>:role/<catalog-role-1-name>,arn:aws:iam::<aws-account-id>:role/<catalog-role-2-name>,arn:aws:iam::<aws-account-id>:role/<catalog-role-3-name>'
```


CREATE EXTERNAL DATABASE IF NOT EXISTS  
Una cláusula que crea una base de datos externa con el nombre especificado por el argumento DATABASE, si la base de datos externa especificada no existe. Si la base de datos externa especificada existe, el comando no realiza cambios. En este caso, el comando devuelve un mensaje en el que se indica que la base de datos externa existe, en lugar de terminar con un error.  
No puede utilizar CREATE EXTERNAL DATABASE IF NOT EXISTS con HIVE METASTORE.  
Para utilizar CREATE EXTERNAL DATABASE IF NOT EXISTS con un catálogo de datos habilitado para AWS Lake Formation, necesita tener el permiso `CREATE_DATABASE` en el catálogo de datos. 

CATALOG\$1ID "*ID de la cuenta de Amazon Web Services que contiene la base de datos de Glue o Lake Formation*"  
El ID de la cuenta donde se almacena la base de datos del catálogo de datos.  
`CATALOG_ID` solo se puede especificar si planea conectarse al clúster de Amazon Redshift o a Amazon Redshift sin servidor mediante una identidad federada para la autenticación y la autorización del catálogo de datos estableciendo una de las siguientes opciones:   
+ `CATALOG_ROLE` De a `'SESSION'`
+ `IAM_ROLE` a `'SESSION'` y `'CATALOG_ROLE'` configurado en su valor predeterminado 
Para obtener más información acerca de completar los pasos para la identidad federada, consulte [Uso de una identidad federada para administrar el acceso de Amazon Redshift a los recursos locales y a las tablas externas de Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/mgmt/authorization-fas-spectrum.html). 

AUTENTICACIÓN  
El tipo de autenticación que se ha definido para la ingesta de streaming. La ingesta de streaming con tipos de autenticación funciona con Amazon Managed Streaming para Apache Kafka. Los tipos de `AUTHENTICATION` son los siguientes:  
+ **ninguno**: especifica que no se requiere autenticación. Esto corresponde al acceso no autenticado en MSK o texto sin formato con TLS en Apache Kafka.
+ **iam**: especifica la autenticación de IAM. Al elegir esta opción, asegúrese de que el rol de IAM tenga permisos para la autenticación de IAM. Para obtener más información acerca de la definición del esquema externo, consulte [Introducción a la ingesta de transmisiones desde orígenes de Apache Kafka](materialized-view-streaming-ingestion-getting-started-MSK.md).
+ **mtls**: especifica que la seguridad de la capa de transporte mutua proporciona una comunicación segura al facilitar la autenticación entre un cliente y un servidor. En este caso, el cliente es Redshift y el servidor es Amazon MSK. Para obtener más información acerca de cómo configurar la ingesta de streaming con mTLS, consulte [Autenticación con mTLS para la ingesta de transmisiones de Redshift desde orígenes de Apache Kafka](materialized-view-streaming-ingestion-mtls.md).


AUTHENTICATION\$1ARN  
El ARN del certificado AWS Certificate Manager utilizado por Amazon Redshift para la autenticación mtls con Amazon MSK. El ARN está disponible en la consola de ACM al elegir el certificado emitido.

CLUSTER\$1ARN  
Para la ingesta de streaming, CLUSTER\$1ARN es el identificador del clúster de Amazon Managed Streaming para Apache Kafka desde el que está transmitiendo. Al utilizar CLUSTER\$1ARN, se requiere una política de rol de IAM que incluya el permiso `kafka:GetBootstrapBrokers`. Esta opción se proporciona por compatibilidad con versiones anteriores. Actualmente, recomendamos utilizar la opción de URI de bootstrap-broker para conectarse a clústeres de Amazon Managed Streaming para Apache Kafka. Para obtener más información, consulte [Ingesta de streaming](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html).

## Notas de uso


Para conocer los límites de uso del catálogo de datos de Athena, consulte [Límites de Athena](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#amazon-athena-limits) en la Referencia general de AWS.

Para conocer los límites cuando se utiliza el AWS Glue Data Catalog, consulte [Límites de AWS Glue](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_glue) en la Referencia general de AWS.

Estos límites no se aplican a un metaalmacén Hive.

Hay un máximo de 9 900 esquemas por base de datos. Para obtener más información, consulte [Cuotas y límites](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) en la *Guía de administración de Amazon Redshift*.

Para anular el registro del esquema, utilice el comando [DROP SCHEMA](r_DROP_SCHEMA.md). 

Para ver detalles de los esquemas externos, consulte las siguientes vistas del sistema: 
+ [SVV\$1EXTERNAL\$1SCHEMAS](r_SVV_EXTERNAL_SCHEMAS.md) 
+ [SVV\$1EXTERNAL\$1TABLES](r_SVV_EXTERNAL_TABLES.md) 
+ [SVV\$1EXTERNAL\$1COLUMNS](r_SVV_EXTERNAL_COLUMNS.md) 

## Ejemplos
Ejemplos

El siguiente ejemplo crea un esquema externo utilizando una base de datos en un catálogo de datos denominado `sampledb` en la región Oeste de EE. UU. (Oregón). Utilice este ejemplo con un catálogo de datos de Athena o AWS Glue.

```
create external schema spectrum_schema
from data catalog
database 'sampledb'
region 'us-west-2'
iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole';
```

En el siguiente ejemplo, se crean un esquema externo y una nueva base de datos externa denominada `spectrum_db`.

```
create external schema spectrum_schema
from data catalog
database 'spectrum_db'
iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole'
create external database if not exists;
```

En el siguiente ejemplo, se crea un esquema externo a través de una base de datos de metaalmacén Hive denominada `hive_db`.

```
create external schema hive_schema
from hive metastore
database 'hive_db'
uri '172.10.10.10' port 99
iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole';
```

En el siguiente ejemplo, se encadenan roles con el fin de utilizar el rol `myS3Role` para acceder a Amazon S3 y se utiliza `myAthenaRole` para acceder al catálogo de datos. Para obtener más información, consulte [Encadenamiento de roles de IAM en Amazon Redshift Spectrum](c-spectrum-iam-policies.md#c-spectrum-chaining-roles).

```
create external schema spectrum_schema
from data catalog
database 'spectrum_db'
iam_role 'arn:aws:iam::123456789012:role/myRedshiftRole,arn:aws:iam::123456789012:role/myS3Role'
catalog_role 'arn:aws:iam::123456789012:role/myAthenaRole'
create external database if not exists;
```

En el siguiente ejemplo, se crea un esquema externo que referencia una base de datos de Aurora PostgreSQL. 

```
CREATE EXTERNAL SCHEMA [IF NOT EXISTS] myRedshiftSchema
FROM POSTGRES
DATABASE 'my_aurora_db' SCHEMA 'my_aurora_schema'
URI 'endpoint to aurora hostname' PORT 5432  
IAM_ROLE 'arn:aws:iam::123456789012:role/MyAuroraRole'
SECRET_ARN 'arn:aws:secretsmanager:us-east-2:123456789012:secret:development/MyTestDatabase-AbCdEf'
```

En el siguiente ejemplo, se crea un esquema externo para referenciar la base de datos sales\$1db importada en el clúster consumidor.

```
CREATE EXTERNAL SCHEMA sales_schema FROM REDSHIFT DATABASE 'sales_db' SCHEMA 'public';
```

En el siguiente ejemplo, se crea un esquema externo que referencia una base de datos de Aurora MySQL. 

```
CREATE EXTERNAL SCHEMA [IF NOT EXISTS] myRedshiftSchema
FROM MYSQL
DATABASE 'my_aurora_db'
URI 'endpoint to aurora hostname'
IAM_ROLE 'arn:aws:iam::123456789012:role/MyAuroraRole'
SECRET_ARN 'arn:aws:secretsmanager:us-east-2:123456789012:secret:development/MyTestDatabase-AbCdEf'
```