

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# CREATE EXTERNAL SCHEMA
<a name="r_CREATE_EXTERNAL_SCHEMA"></a>

Crea un nuovo schema esterno nel database corrente. È possibile utilizzare questo schema esterno per connettersi al database Amazon RDS for PostgreSQL o al database Amazon Aurora Edizione compatibile con PostgreSQL. Puoi anche creare uno schema esterno che faccia riferimento a un database in un catalogo di dati esterno come AWS Glue Athena o a un database in un metastore Apache Hive, come Amazon EMR.

Il proprietario di questo schema è l'emittente del comando CREATE EXTERNAL SCHEMA. Per trasferire la proprietà di uno schema esterno, utilizza [ALTER SCHEMA](r_ALTER_SCHEMA.md) per cambiare il proprietario. Usa il comando [GRANT](r_GRANT.md) per concedere l'accesso allo schema ad altri utenti o gruppi di utenti. 

Non puoi utilizzare i comandi GRANT o REVOKE per le autorizzazioni su una tabella esterna. Puoi invece concedere o revocare le autorizzazioni per lo schema esterno. 

**Nota**  
Se attualmente si dispone di tabelle esterne Redshift Spectrum nel catalogo dati di Amazon Athena, è possibile migrare tale catalogo di Athena a un AWS Glue Data Catalog. Per utilizzare AWS Glue Data Catalog con Redshift Spectrum, potrebbe essere necessario modificare le policy AWS Identity and Access Management (IAM). Per ulteriori informazioni, consulta [Aggiornamento al AWS Glue Data Catalog nella Guida per l'utente](https://docs.aws.amazon.com/athena/latest/ug/glue-athena.html#glue-upgrade) di *Athena*.

Per visualizzare i dettagli degli schemi esterni, eseguire una query sulla vista di sistema [SVV\$1EXTERNAL\$1SCHEMAS](r_SVV_EXTERNAL_SCHEMAS.md). 

## Sintassi
<a name="r_CREATE_EXTERNAL_SCHEMA-synopsis"></a>

La sintassi seguente descrive il comando CREATE EXTERNAL SCHEMA utilizzato per fare riferimento ai dati utilizzando un catalogo dati esterno. Per ulteriori informazioni, consulta [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::<Account 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>:<Account 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 sintassi seguente descrive il comando CREATE EXTERNAL SCHEMA utilizzato per fare riferimento ai dati utilizzando una query federata su RDS POSTGRES o Aurora PostgreSQL. È inoltre possibile creare uno schema esterno che faccia riferimento a fonti di streaming, come Kinesis Data Streams. Per ulteriori informazioni, consulta [Esecuzione di query su dati con query federate in 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::<Account AWS-id>:role/<role-name>' ]
SECRET_ARN 'ssm-secret-arn'
```

La sintassi seguente descrive il comando CREATE EXTERNAL SCHEMA utilizzato per fare riferimento ai dati utilizzando una query federata su RDS MySQL o Aurora MySQL. Per ulteriori informazioni, consulta [Esecuzione di query su dati con query federate in 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::<Account AWS-id>:role/<role-name>' ]
SECRET_ARN 'ssm-secret-arn'
```

La sintassi seguente descrive il comando CREATE EXTERNAL SCHEMA utilizzato per fare riferimento ai dati in un flusso Kinesis. Per ulteriori informazioni, consulta [Importazione in streaming in una vista materializzata](materialized-view-streaming-ingestion.md).

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

La sintassi seguente descrive il comando CREATE EXTERNAL SCHEMA utilizzato per fare riferimento al cluster Streaming gestito da Amazon per Apache Kafka o Confluent Cloud e i relativi argomenti da cui importare dati. Per connetterti, fornisci l’URI del broker. Per ulteriori informazioni, consulta [Importazione in streaming in una vista materializzata](materialized-view-streaming-ingestion.md).

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

La sintassi seguente descrive il comando CREATE EXTERNAL SCHEMA utilizzato per fare riferimento ai dati utilizzando una query tra database.

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

## Parameters
<a name="r_CREATE_EXTERNAL_SCHEMA-parameters"></a>

IF NOT EXISTS  
Clausola che indica che se lo schema specificato esiste già, il comando non deve apportare modifiche e deve restituire un messaggio che lo schema esiste, piuttosto che terminare con un errore. Questa clausola è utile durante lo scripting, quindi lo script non fallisce se CREATE EXTERNAL SCHEMA tenta di creare uno schema già esistente. 

local\$1schema\$1name  
Il nome del nuovo schema esterno. Per ulteriori informazioni sui nomi validi, consultare [Nomi e identificatori](r_names.md).

FROM [ DATA CATALOG ] \$1 HIVE METASTORE \$1 POSTGRES \$1 MYSQL \$1 KINESIS \$1 MSK \$1 REDSHIFT   
Parola chiave che indica dove si trova il database esterno.   
DATA CATALOG indica che il database esterno è definito nel catalogo dati di Athena o AWS Glue Data Catalog.   
Se il database esterno è definito in un catalogo dati esterno in una regione AWS diversa, è necessario il parametro REGION. DATA CATALOG è il valore predefinito.  
HIVE METASTORE indica che il database esterno è definito in un metastore Apache Hive. Se è specificato HIVE METASTORE, l'URI è obbligatorio.   
POSTGRES indica che il database esterno è definito in RDS PostgreSQL o Aurora PostgreSQL.  
MYSQL indica che il database esterno è definito in RDS MySQL o Aurora MySQL.  
KINESIS indica che l'origine dati è un flusso di Kinesis Data Streams.  
MSK indica che l’origine dati è un cluster con provisioning o serverless Amazon MSK.  
KAFKA indica che l’origine dati è un cluster Kafka. Puoi utilizzare questa parola chiave sia per Amazon MSK che per Confluent Cloud.

FROM REDSHIFT  
Una parola chiave che indica che il database si trova in Amazon Redshift.

DATABASE '*nome\$1database\$1redshift*' SCHEMA '*nome\$1schema\$1redshift*'  
Il nome del database Amazon Redshift.   
*nome\$1schema redshift* indica lo schema in Amazon Redshift. Il valore di timeout di default per *nome\$1schema redshift* è `public`.

DATABASE '*nome\$1database\$1federato*'  
Una parola chiave che indica il nome del database esterno in un motore del database PostgreSQL o MySQL supportato. 

[SCHEMA '*nome\$1schema*']  
*nome\$1schema* indica lo schema in un motore del database PostgreSQL supportato. Lo *schema\$1name* predefinito è `public`.  
Non è possibile specificare uno SCHEMA quando si imposta una query federata su un motore di database MySQL supportato. 

REGION '*aws-region*'  
Se il database esterno è definito in un catalogo dati Athena o nella AWS Glue Data Catalog, la AWS regione in cui si trova il database. Questo parametro è obbligatorio se il database è definito in un catalogo dati esterno. 

URI [ 'hive\$1metastore\$1uri' [ PORT port\$1number ] \$1 'hostname' [ PORT port\$1number ] \$1 'Kafka bootstrap URI' ]  
L'URI del nome host e il numero di porta di un motore del database PostgreSQL o MySQL supportato. Il valore *hostname* è il nodo principale del set di repliche. L'endpoint deve essere raggiungibile (instradabile) dal cluster Amazon Redshift. Il port\$1number predefinito per PostgreSQL è 5432. Il port\$1number predefinito per MySQL è 3306.  
Il motore di database PostgreSQL o MySQL supportato deve trovarsi nello stesso VPC del cluster Amazon Redshift con un gruppo di sicurezza che colleghi Amazon Redshift e RDS url-rsPostgreSQL o Aurora PostgreSQL. Inoltre puoi utilizzare il routing VPC avanzato per configurare un caso d’uso tra VPC. Per ulteriori informazioni, consulta [Endpoint VPC gestiti da Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-cross-vpc.html).
**Specifica di un URI del metastore Hive**  
Se il database si trova in un metastore Hive, specifica l'URI e facoltativamente il numero di porta per il metastore. Il numero di porta predefinito è 9083.   
Un URI non contiene una specifica di protocollo ("http://"). Un URI valido esempio è `uri '172.10.10.10'`.   
**Specifica di un URI del broker per l’importazione di dati in streaming**  
L’inclusione dell’URI bootstrap-broker consente di connettersi a un cluster Amazon MSK o Confluent Cloud e ricevere i dati in streaming. Per ulteriori informazioni e un esempio, consulta [Nozioni di base sull’importazione dati in streaming da Streaming gestito da Amazon per Apache Kafka](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html).

IAM\$1ROLE [predefinito \$1 'SESSION' \$1 'arn:aws:iam: :role/ '] *<Account AWS-id>* *<role-name>*  
Utilizzare la parola chiave predefinita per fare in modo che Amazon Redshift utilizzi il ruolo IAM impostato come predefinito e associato al cluster quando viene eseguito il comando CREATE EXTERNAL SCHEMA.  
Utilizzare `'SESSION'` se ci si connette al cluster Amazon Redshift utilizzando un'identità federata e si accede alle tabelle dallo schema esterno creato con questo comando. Per ulteriori informazioni, consulta l'argomento relativo all'[utilizzo di un'identità federata per gestire l'accesso di Amazon Redshift alle risorse locali e alle tabelle esterne di Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/mgmt/authorization-fas-spectrum.html), che illustra come configurare l'identità federata. Si noti che questa configurazione, che utilizza `'SESSION'` al posto dell'ARN, può essere utilizzata solo se lo schema è stato creato utilizzando `DATA CATALOG`.   
L'Amazon Resource Name (ARN) per un ruolo IAM utilizzato dal cluster per l'autenticazione e l'autorizzazione. Come minimo, il ruolo IAM deve disporre dell'autorizzazione per eseguire un'operazione LIST sul bucket Amazon S3 a cui accedere e un'operazione GET sugli oggetti Amazon S3 contenuti nel bucket.  
Quanto segue mostra la sintassi per la stringa di parametro IAM\$1ROLE per un singolo ARN.  

```
IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-name>'
```
È possibile concatenare i ruoli in modo che il cluster possa presumere un altro ruolo IAM, possibilmente appartenente a un altro account. Puoi concatenare fino a 10 ruoli. Per un esempio di concatenamento di ruoli, vedi [Concatenazione di ruoli IAM per Amazon Redshift Spectrum](c-spectrum-iam-policies.md#c-spectrum-chaining-roles).   
 Per collegare a questo ruolo IAM una policy di autorizzazioni IAM simile alla seguente.    
****  

```
{
    "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": "*"
        }
    ]
}
```
Per la procedura per creare un ruolo IAM da utilizzare con la query federata, consultare [Creazione di un segreto e di un ruolo IAM per l'utilizzo di query federate](federated-create-secret-iam-role.md).   
Non includere spazi nell'elenco dei ruoli concatenati.
Quanto segue mostra la sintassi per concatenare tre ruoli.  

```
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>'
```

*ssm-secret-arn*SECRET\$1ARN ''  
L'Amazon Resource Name (ARN) di un segreto del motore di database PostgreSQL o MySQL supportato creato utilizzando. Gestione dei segreti AWS Per informazioni su come creare e recuperare un ARN per un segreto, consulta [Gestione dei segreti con Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) nella *Guida per l’utente di Gestione dei segreti AWS * e [Recupero del nome della risorsa Amazon (ARN) del segreto in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-secrets-manager-integration-retrieving-secret.html). 

CATALOG\$1ROLE ['SESSIONE' \$1] *catalog-role-arn-string*  
Utilizzare `'SESSION'` per la connessione al cluster Amazon Redshift utilizzando un'identità federata per l'autenticazione e l'autorizzazione al catalogo di dati. Per ulteriori informazioni sul completamento della procedura per l'identità federata, consulta l'argomento relativo all'[utilizzo di un'identità federata per gestire l'accesso di Amazon Redshift alle risorse locali e alle tabelle esterne di Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/mgmt/authorization-fas-spectrum.html). Si noti che il ruolo `'SESSION'` può essere utilizzato solo se lo schema viene creato in DATA CATALOG.  
Il nome della risorsa Amazon (ARN) per un ruolo IAM utilizzato dal cluster per l'autenticazione e l'autorizzazione del catalogo dati.   
Se CATALOG\$1ROLE non viene specificato, Amazon Redshift utilizza l'IAM\$1ROLE specificato. Il ruolo del catalogo deve disporre dell'autorizzazione per accedere al Data Catalog in AWS Glue o Athena. Per ulteriori informazioni, consulta [Policy IAM per Amazon Redshift Spectrum](c-spectrum-iam-policies.md).   
Quanto segue mostra la sintassi per la stringa di parametro CATALOG\$1ROLE per un singolo ARN.  

```
CATALOG_ROLE 'arn:aws:iam::<aws-account-id>:role/<catalog-role>'
```
È possibile concatenare i ruoli in modo che il cluster possa presumere un altro ruolo IAM, possibilmente appartenente a un altro account. Puoi concatenare fino a 10 ruoli. Per ulteriori informazioni, consulta [Concatenazione di ruoli IAM per Amazon Redshift Spectrum](c-spectrum-iam-policies.md#c-spectrum-chaining-roles).   
L'elenco di ruoli concatenati non deve includere spazi.
Quanto segue mostra la sintassi per concatenare tre ruoli.  

```
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  
Clausola che crea un database esterno con il nome specificato dall'argomento DATABASE, se il database esterno specificato non esiste. Se il database esterno specificato esiste, il comando non apporta modifiche. In questo caso, il comando restituisce un messaggio che il database esterno esiste, anziché terminare con un errore.  
CREATE EXTERNAL DATABASE IF NOT EXISTS non può essere usato con HIVE METASTORE.  
Per utilizzare CREATE EXTERNAL DATABASE IF NOT EXISTS con il catalogo dati abilitato per AWS Lake Formation, è necessaria l'autorizzazione `CREATE_DATABASE` sul catalogo dati. 

CATALOG\$1ID "*ID account Amazon Web Services contenente il database Glue o Lake Formation*"  
L'ID dell'account in cui è archiviato il database del catalogo dati.  
`CATALOG_ID` può essere specificato solo se si prevede di connettersi al cluster Amazon Redshift o ad Amazon Redshift Serverless utilizzando un'identità federata per l'autenticazione e l'autorizzazione al catalogo di dati configurando una delle seguenti impostazioni:   
+ `CATALOG_ROLE` Da a `'SESSION'`
+ `IAM_ROLE` su `'SESSION'` e `'CATALOG_ROLE'` impostati sul valore predefinito 
Per ulteriori informazioni sul completamento della procedura per l'identità federata, consulta l'argomento relativo all'[utilizzo di un'identità federata per gestire l'accesso di Amazon Redshift alle risorse locali e alle tabelle esterne di Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/mgmt/authorization-fas-spectrum.html). 

AUTHENTICATION  
Il tipo di autenticazione definito per l'importazione di dati in streaming. L'importazione di dati in streaming con i tipi di autenticazione funziona con Amazon Managed Streaming per Apache Kafka. I tipi di `AUTHENTICATION` sono i seguenti:  
+ **none**: specifica che non è richiesta alcuna autenticazione. Ciò corrisponde all’accesso non autenticato in MSK o al testo semplice con TLS in Apache Kafka.
+ **iam**: specifica l'autenticazione IAM. Quando scegli questa opzione, assicurati che il ruolo IAM disponga delle autorizzazioni per l'autenticazione IAM. Per ulteriori informazioni sulla definizione dello schema esterno, consulta [Nozioni di base sull’importazione in streaming da origini Apache Kafka](materialized-view-streaming-ingestion-getting-started-MSK.md).
+ **mtls**: specifica che il protocollo Transport Layer Security (TLS) reciproco fornisce comunicazioni sicure facilitando l’autenticazione tra client e server. In questo caso il client è Redshift e il server è Amazon MSK. Per ulteriori informazioni sulla configurazione dell’importazione in streaming con mTLS, consulta [Autenticazione con mTLS per l’importazione in streaming Redshift da origini Apache Kafka](materialized-view-streaming-ingestion-mtls.md).


AUTHENTICATION\$1ARN  
L'ARN del AWS Certificate Manager certificato utilizzato da Amazon Redshift per l'autenticazione mtls con Amazon MSK. L’ARN è disponibile nella console ACM quando scegli il certificato emesso.

CLUSTER\$1ARN  
Per l’importazione in streaming, CLUSTER\$1ARN è l’identificatore del cluster per il cluster Streaming gestito da Amazon per Apache Kafka da cui stai eseguendo lo streaming. Quando utilizzi CLUSTER\$1ARN, è necessaria una policy del ruolo IAM che includa l’autorizzazione `kafka:GetBootstrapBrokers`. Questa opzione viene fornita per la compatibilità con le versioni precedenti. Attualmente consigliamo di utilizzare l’opzione URI bootstrap-broker per connetterti ai cluster Streaming gestito da Amazon per Apache Kafka. Per ulteriori informazioni, consulta [Importazione dati in streaming](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html).

## Note per l’utilizzo
<a name="r_CREATE_EXTERNAL_SCHEMA_usage"></a>

Per i limiti per l'uso del catalogo di dati Athena, consulta [Limiti di Athena](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#amazon-athena-limits) in Riferimenti generali di AWS.

[Per i limiti relativi all'utilizzo di AWS Glue Data Catalog, consulta AWS Glue Limiti in.](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_glue) Riferimenti generali di AWS

Questi limiti non si applicano a un metastore Hive.

È presente un massimo di 9900 schemi per database. Per ulteriori informazioni, consulta [Quote e limiti](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) nella *Guida alla gestione di Amazon Redshift*.

Per annullare la registrazione dello schema, utilizzare il comando [DROP SCHEMA](r_DROP_SCHEMA.md). 

Per visualizzare i dettagli degli schemi esterni, eseguire una query sulle viste di sistema seguenti: 
+ [SVV\$1EXTERNAL\$1SCHEMAS](r_SVV_EXTERNAL_SCHEMAS.md) 
+ [SVV\$1EXTERNAL\$1TABLES](r_SVV_EXTERNAL_TABLES.md) 
+ [SVV\$1EXTERNAL\$1COLUMNS](r_SVV_EXTERNAL_COLUMNS.md) 

## Esempi
<a name="r_CREATE_EXTERNAL_SCHEMA_examples"></a>

L'esempio seguente crea uno schema esterno che utilizza un database in un catalogo dati denominato `sampledb` nella regione Stati Uniti occidentali (Oregon). Usa questo esempio con un catalogo dati 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';
```

L'esempio seguente crea uno schema esterno e un nuovo database esterno denominato `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;
```

L'esempio seguente crea uno schema esterno che utilizza un database metastore Hive denominato `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';
```

Nell'esempio seguente sono concatenati i ruoli per utilizzare il ruolo `myS3Role` per accedere ad Amazon S3 ed è utilizzato `myAthenaRole` per l'accesso al catalogo dati. Per ulteriori informazioni, consulta [Concatenazione di ruoli IAM per 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;
```

Nell'esempio seguente viene creato uno schema esterno che fa riferimento a un database 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'
```

Nell'esempio seguente viene creato uno schema esterno per fare riferimento al database sales\$1db importato nel cluster di consumer.

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

Nell'esempio seguente viene creato uno schema esterno che fa riferimento a un database 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'
```