Inizia a utilizzare le query federate su Postgre con SQL AWS CloudFormation - Amazon Redshift

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à.

Inizia a utilizzare le query federate su Postgre con SQL AWS CloudFormation

È possibile utilizzare query federate per eseguire query su database operativi. In questa guida introduttiva, puoi automatizzare la configurazione utilizzando uno AWS CloudFormation stack di esempio per abilitare una query federata da un cluster Amazon Redshift a un database serverless Aurora Postgre. SQL Puoi essere subito operativo senza dover eseguire istruzioni per il provisioning delle risorse. SQL

Lo stack crea uno schema esterno, che fa riferimento all'istanza di Aurora Postgre, che include tabelle con dati di SQL esempio. È possibile eseguire query sulle tabelle nello schema esterno dal cluster Redshift.

Se invece desideri iniziare con le query federate eseguendo SQL istruzioni per configurare uno schema esterno, senza utilizzare, consulta. CloudFormation Guida introduttiva all'utilizzo di query federate su Postgre SQL

Prima di eseguire lo CloudFormation stack per le query federate, assicurati di disporre di un database serverless Amazon Aurora Postgre SQL -Compatible Edition con i dati attivati. API Puoi attivare i dati nelle proprietà del database. API Se non riesci a trovare l'impostazione, ricontrolla che sia in esecuzione un'istanza serverless di Aurora Postgre. SQL Assicurati inoltre di disporre di un cluster Amazon Redshift che utilizza RA3 nodi. Consigliamo che sia il cluster Redshift che l'istanza serverless Aurora SQL Postgre si trovino nello stesso cloud privato virtuale () e nello stesso gruppo di sottoreti. VPC In questo modo, puoi aggiungere il gruppo di sicurezza per il cluster Amazon Redshift alle regole in entrata del gruppo di sicurezza per la tua istanza di database Aurora Postgre. SQL

Per ulteriori informazioni su come iniziare a configurare un cluster Amazon Redshift, consulta la sezione Introduzione ai data warehouse con provisioning di Amazon Redshift. Per ulteriori informazioni sulla configurazione delle risorse con CloudFormation, consulta What is? AWS CloudFormation . Per ulteriori informazioni sulla configurazione di un database cluster Aurora DB, vedere Creazione di un cluster Aurora DB Serverless v1 DB cluster.

Avvio di uno CloudFormation stack per le query federate di Redshift

Utilizza la seguente procedura per avviare lo CloudFormation stack per Amazon Redshift e abilitare le query federate. Prima di farlo, assicurati di aver configurato il cluster Amazon Redshift e l'istanza serverless SQL Aurora Postgree.

Per avviare lo stack per le query federate CloudFormation
  1. Fai clic su Launch CFN stack qui per avviare il servizio in CloudFormation. AWS Management Console

    Se ti viene richiesto, effettua l'accesso.

    Viene avviato il processo di creazione dello stack, facendo riferimento a un file CloudFormation modello archiviato in Amazon S3. Un CloudFormation modello è un file di testo in JSON formato che dichiara AWS le risorse che compongono uno stack.

  2. Scegliere Successivo per inserire i dettagli della pila.

  3. In Parametri, per il cluster, immettere quanto segue:

    • Il nome del cluster Amazon Redshift, ad esempio ra3-consumer-cluster

    • Un nome di database specifico, ad esempio dev

    • Il nome utente di database, ad esempio consumeruser

    Immettete anche i parametri per il database del cluster Aurora DB, inclusi l'utente, il nome del database, la porta e l'endpoint. Si consiglia di utilizzare un cluster di prova e testare il database serverless, poiché la pila crea diversi oggetti di database.

    Scegli Next (Successivo).

    Vengono visualizzate le opzioni della pila.

  4. Scegliere Successivo per accettare le impostazioni predefinite.

  5. In Capacità, scegli Riconosco che AWS CloudFormation potrebbe creare IAM risorse.

  6. Seleziona Crea stack.

Scegli Crea pila. CloudFormation effettua il provisioning delle risorse del modello, operazione che richiede circa 10 minuti, e crea uno schema esterno.

Se si verifica un errore durante la creazione della pila, procedere come segue:

  • Visualizza la scheda CloudFormation Eventi per informazioni che possono aiutarti a risolvere l'errore.

  • Assicurarsi di aver immesso il nome, il nome del database e il nome utente del database corretti per il cluster Redshift. Controlla anche i parametri per l'istanza Aurora SQL Postgre.

  • Assicurati che il tuo cluster abbia dei nodi. RA3

  • Assicurati che il database e il cluster Redshift si trovino nella stessa sottorete e gruppo di sicurezza.

Interrogazione di dati dallo schema esterno

Per utilizzare la procedura seguente, assicurarsi di disporre delle autorizzazioni necessarie per l'esecuzione di query sul cluster e sul database descritto.

Per eseguire query su un database esterno con query federata
  1. Connettersi al database Redshift immesso al momento della creazione della pila, utilizzando uno strumento client come l'editor di query Redshift.

  2. Interrogazione dello schema esterno creato dalla pila.

    select * from svv_external_schemas;

    La visualizzazione SVV_EXTERNAL_SCHEMAS restituisce informazioni sugli schemi esterni disponibili. In questo caso, viene restituito lo schema esterno creato dalla pila, myfederated_schema. È possibile che vengano restituiti anche altri schemi esterni, se avete delle impostazioni attive. La vista restituisce anche il database associato allo schema. Il database è il database cluster Aurora DB che hai inserito quando hai creato lo stack. Lo stack aggiunge una tabella al database del cluster Aurora DB, category chiamata, e un'altra tabella chiamata. sales

  3. Esegui SQL interrogazioni su tabelle nello schema esterno che fa riferimento al tuo database Aurora SQL Postgre. Il seguente esempio mostra una query.

    SELECT count(*) FROM myfederated_schema.category;

    La tabella category restituisce diversi registri. È inoltre possibile restituire i registri dalla tabella sales.

    SELECT count(*) FROM myfederated_schema.sales;

    Per ulteriori esempi, consulta Esempio di utilizzo di una query federata.