Redshift

Il connettore Redshift ti consente di eseguire operazioni di inserimento, eliminazione, aggiornamento e lettura sul database Redshift.

Prima di iniziare

Prima di utilizzare il connettore Redshift, svolgi le seguenti attività:

  • Nel tuo progetto Google Cloud:
    • Concedi il ruolo IAM roles/connectors.admin all'utente che configura il connettore.
    • Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per il connettore:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Un account di servizio è un tipo speciale di Account Google destinato a rappresentare un utente "non umano" che deve eseguire l'autenticazione ed essere autorizzato ad accedere ai dati nelle API Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni le informazioni, vedi Creazione di un account di servizio.

    • Attiva i seguenti servizi:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Per informazioni su come attivare i servizi, consulta Abilitazione dei servizi.

    Se questi servizi o autorizzazioni non sono stati abilitati in precedenza per il tuo progetto, ti viene chiesto di abilitarli durante la configurazione del connettore.

Configura il connettore

Per configurare il connettore devi creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Ciò significa che se hai molte origini dati, devi creare una connessione distinta per ciascuna. Per creare una connessione:

  1. Nella console Cloud, vai a Connettori di integrazione > Pagina Connessioni e poi selezionare o creare un progetto Google Cloud.

    Vai alla pagina Connessioni

  2. Fai clic su + CREA NUOVO per aprire la pagina Crea connessione.
  3. Nella sezione Località, scegli la località della connessione.
    1. Regione: seleziona una località dall'elenco a discesa.

      Per l'elenco di tutte le regioni supportate, consulta Località.

    2. Fai clic su AVANTI.
  4. Nella sezione Dettagli connessione, completa quanto segue:
    1. Connettore: seleziona Redshift dall'elenco a discesa dei connettori disponibili.
    2. Versione connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
    3. Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.

      I nomi delle connessioni devono soddisfare i seguenti criteri:

      • I nomi delle connessioni possono contenere lettere, numeri o trattini.
      • Le lettere devono essere minuscole.
      • I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
      • I nomi delle connessioni non possono contenere più di 49 caratteri.
    4. (Facoltativo) Inserisci una Descrizione per l'istanza di connessione.
    5. Se vuoi, attiva Cloud Logging e poi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su Error.
    6. Account di servizio: seleziona un account di servizio con i ruoli richiesti.
    7. Facoltativamente, configura le impostazioni del nodo di connessione:

      • Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
      • Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.

      Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, al contrario, meno nodi per elaborare meno transazioni. Per comprendere in che modo i nodi influiscono sui prezzi dei connettori, consulta Prezzi per i nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una maggiore disponibilità) e il numero massimo di nodi è impostato su 50.

    8. Database: il nome del database Amazon Redshift.
    9. Creazione automatica: specifica true per creare un utente del database con il nome specificato per Utente, se non ne esiste uno durante la connessione con le credenziali IAM. Consulta AuthScheme.
    10. Gruppi di database: un elenco delimitato da virgole dei nomi di uno o più gruppi di database esistenti a cui l'utente di database unisce per la sessione corrente quando si connette con le credenziali IAM. Consulta AuthScheme.
    11. BrowsableSchemas: questa proprietà limita gli schemi registrati a un sottoinsieme di quelli disponibili. Ad esempio BrowsableSchemas=SchemaA,SchemaB,SchemaC.
    12. Schemi ignorati: filtro di limitazione della visibilità utilizzato per nascondere l'elenco degli schemi tramite query sui metadati. Ad esempio, "information_schema, pg_catalog". I nomi degli schemi sono sensibili alle maiuscole.
    13. Includi tipi di tabella: se impostato su true, il provider eseguirà una query per i tipi di singole tabelle e viste.
    14. Rimuovi null: quando è impostato, i caratteri null vengono rimossi dai valori dei caratteri nelle operazioni collettive.
    15. Visibilità: limitazioni di visibilità utilizzate per filtrare i metadati esposti per le tabelle con privilegi concessi per l'utente corrente. Ad esempio "SELECT,INSERT" il filtro sta limitando la visibilità dei metadati solo per le tabelle a cui l'utente corrente può accedere per le operazioni SELECT e INSERT. I valori dei privilegi supportati sono SELECT, INSERT, UPDATE, DELETE, REFERENCES.
    16. Utilizza proxy: seleziona questa casella di controllo per configurare un server proxy per la connessione e imposta i seguenti valori:
      • Schema di autenticazione proxy: seleziona il tipo di autenticazione per l'autenticazione con il server proxy. Sono supportati i seguenti tipi di autenticazione:
        • Di base: autenticazione HTTP di base.
        • Digest: autenticazione HTTP Digest.
      • Utente proxy: un nome utente da utilizzare per l'autenticazione con il server proxy.
      • Password proxy: il segreto di Secret Manager della password dell'utente.
      • Tipo SSL proxy: il tipo di SSL da utilizzare per la connessione al server proxy. Sono supportati i seguenti tipi di autenticazione:
        • Automatica: l'impostazione predefinita. Se l'URL è un URL HTTPS, viene utilizzata l'opzione Tunnel. Se l'URL è HTTP, viene utilizzata l'opzione MAI.
        • Sempre: la connessione è sempre abilitata per SSL.
        • Mai: la connessione non è abilitata per SSL.
        • Tunnel: la connessione avviene attraverso un proxy di tunneling. Il server proxy apre una connessione all'host remoto e il traffico fluisce avanti e indietro attraverso il proxy.
      • Nella sezione Server proxy, inserisci i dettagli del server proxy.
        1. Fai clic su + Aggiungi destinazione.
        2. Seleziona un Tipo di destinazione.
          • Indirizzo host: specifica il nome host o l'indirizzo IP della destinazione.

            Se vuoi stabilire una connessione privata al tuo sistema di backend, segui questi passaggi:

    17. Se vuoi, fai clic su + AGGIUNGI ETIQUETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
    18. Fai clic su AVANTI.
  5. Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
    1. Tipo di destinazione: seleziona un Tipo di destinazione.
      • Seleziona Indirizzo host dall'elenco per specificare il nome host o l'indirizzo IP della destinazione.
      • Se vuoi stabilire una connessione privata ai tuoi sistemi di backend, seleziona Allegato endpoint dall'elenco, quindi seleziona l'allegato endpoint richiesto dall'elenco Allegato endpoint.

      Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con una maggiore sicurezza, puoi prendere in considerazione la configurazione di indirizzi IP statici in uscita per le tue connessioni, quindi configurare le regole del firewall in modo da inserire nella lista consentita solo gli indirizzi IP statici specifici.

      Per inserire destinazioni aggiuntive, fai clic su + AGGIUNGI DESTINAZIONE.

    2. Fai clic su AVANTI.
  6. Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
    1. Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.

      La connessione Redshift supporta i seguenti tipi di autenticazione:

      • Nome utente e password
    2. Per capire come configurare questi tipi di autenticazione, consulta Configurare l'autenticazione.

    3. Fai clic su AVANTI.
  7. Rivedi: controlla i dettagli di connessione e autenticazione.
  8. Fai clic su Crea.

Configura autenticazione

Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.

  • Nome utente e password
    • Nome utente: nome utente del connettore
    • Password: il secret di Secret Manager contenente la password associata al connettore.

Esempi di configurazione della connessione

Questa sezione elenca i valori di esempio per i vari campi che configuri durante la creazione della connessione Redshift.

Tipo di connessione autenticazione di base

Nella tabella seguente sono elencati i valori di esempio per i vari campi che configuri durante la creazione della connessione Redshift.

Campo Valore di esempio
Regione us-central1
Connettore Connettore Redshift
Versione del connettore 1
Nome connettore google-cloud-redshiftdb-basicauth-conn
Account di servizio SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Database dev
BrowsableSchemas public,test
Gruppi di DB NA
Rimuovi null
Visibilità SELEZIONA,INSERISCI
Numero minimo di nodi 02
Numero massimo di nodi 50
Indirizzo host redshift-cluster-xxx-integration.HOST_NAME.us-east-1.redshift.amazonaws.com
Autenticazione Password utente
Nome utente USERNAME
Password PASSWORD
Versione 1

Entità, operazioni e azioni

Tutti gli Integration Connectors forniscono un livello di astrazione per gli oggetti dell'applicazione collegata. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione ti viene esposta sotto forma di entità, operazioni e azioni.

  • Entità: un'entità può essere considerata un oggetto o una raccolta di proprietà nell'applicazione o nel servizio collegato. La definizione di un'entità varia da un connettore all'altro. Ad esempio, in un connettore di database le tabelle sono le entità, in un connettore di file server le cartelle sono le entità e in un connettore di sistema di messaggistica le code sono le entità.

    Tuttavia, è possibile che un connettore non supporti o non abbia entità, nel qual caso l'elenco Entities sarà vuoto.

  • Operazione: un'operazione è l'attività che puoi eseguire su un'entità. Puoi eseguire una qualsiasi delle seguenti operazioni su un'entità:

    La selezione di un'entità dall'elenco disponibile genera un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta operazioni relative a entità. Tuttavia, se un connettore non supporta nessuna delle operazioni sulle entità, queste operazioni non supportate non sono elencate nell'elenco Operations.

  • Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione. attraverso l'interfaccia del connettore. Un'azione ti consente di apportare modifiche a una o più entità e varia da un connettore all'altro. In genere, un'azione avrà alcuni parametri di input e un parametro di output. Tuttavia, è possibile che un connettore non supporti alcuna azione, nel qual caso l'elenco Actions sarà vuoto.

Limitazioni del sistema

Il connettore Redshift può elaborare 3 transazioni al secondo, per nodo, e limita le transazioni oltre questo limite. Per impostazione predefinita, Integration Connectors alloca 2 nodi (per una maggiore disponibilità) per una connessione.

Per informazioni sui limiti applicabili a Integration Connectors, vedi Limiti.

Esempi di azioni

Esempio: trovare il valore maggiore

Questo esempio mostra come eseguire una funzione definita dall'utente. find_greater in questo esempio, confronta due numeri interi e restituisce il numero intero maggiore.

  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione find_greater e fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload, quindi inserisci un valore simile al seguente nella Campo Default Value:
    {
    "$1": 1.0,
    "$2": 5.0
    }
  4. Se l'esecuzione dell'azione è riuscita, il campo connectorOutputPayload della task del connettore avrà un valore simile al seguente:

    [{
    "bignum": 5.0
    }]

Esempi di operazioni con entità

Esempio: elenca i record di un'entità

In questo esempio sono elencati i record dell'entità Users.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Users dall'elenco Entity.
  3. Seleziona l'operazione List e poi fai clic su Fine.
  4. Nella sezione Input dell'attività dell'attività Connettori, puoi impostare la clausola filterClause in base alle tue esigenze.

    Ad esempio, impostare la clausola di filtro su employeeCode='5100' and startDate='2010-01-01 00:00:00' elenca solo quei record il cui dipendenteCode è 5100 e startDate è 2010-01-01 00:00:00.

Esempio: recupero di un singolo record da un'entità

Questo esempio recupera un record dall'entità Users.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona User dall'elenco Entity.
  3. Seleziona l'operazione Get e poi fai clic su Fine.
  4. Nella sezione Input attività dell'attività Connettori, fai clic su entityId e quindi inserisci 103032 nel campo Valore predefinito.

    Qui, 103032 è il valore della chiave primaria dell'entità Users.

Esempio: elimina un record da un'entità

Questo esempio elimina un record dall'entità Users.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Users dall'elenco Entity.
  3. Seleziona l'operazione Delete e fai clic su Fine.
  4. Nella sezione Input dell'attività dell'attività Connettori, fai clic su entityId e poi inserisci 113132 nel campo Valore predefinito.

    In alternativa, se l'entità ha chiavi primarie composite, anziché specificare entityId, puoi impostare filterClause. Ad esempio: employeeCode='5100' and startDate='2010-01-01 00:00:00'.

Esempio: creare un record in un'entità

Questo esempio crea un record nell'entità Users.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Users dall'elenco Entity.
  3. Seleziona l'operazione Create e fai clic su Fine.
  4. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e poi inserisci un valore simile al seguente nel campo Default Value:
    {
    "employeeCode": "5100",
    "startDate": "2010-01-01 00:00:00.0",
    "country": "US"
    }
  5. Se l'integrazione ha esito positivo, il campo connectorOutputPayload dell'attività del connettore verrà contenente la risposta dell'operazione di creazione.

Esempio: aggiorna un record in un'entità

Questo esempio aggiorna un record nell'entità Users.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Users dall'elenco Entity.
  3. Seleziona l'operazione Update e fai clic su Fine.
  4. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload, quindi inserisci un valore simile al seguente nella Campo Default Value:
    {
    "country": "IN"
    }
  5. Nella sezione Input attività dell'attività Connettori, fai clic su entityId e quindi inserisci 113132 nel campo Valore predefinito.

    In alternativa, se l'entità ha chiavi primarie composte anziché specificare entityId, puoi Imposta il valore filterClause. Ad esempio: employeeCode='5100' and startDate='2010-01-01 00:00:00'.

  6. Se l'integrazione è riuscita, il campo connectorOutputPayload dell'attività del connettore conterrà la risposta dell'operazione di aggiornamento.

Utilizzare Terraform per creare connessioni

Puoi utilizzare il comando Terraform risorsa per creare una nuova connessione.

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Per visualizzare un modello Terraform di esempio per la creazione di connessioni, vedi il modello di esempio.

Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione di Terraform:

Nome parametro Tipo di dati Obbligatorio Descrizione
database STRING Vero Il nome del database Amazon Redshift.
browsable_schemas STRING Falso Questa proprietà limita gli schemi registrati a un sottoinsieme di quelli disponibili. Ad esempio BrowsableSchemas=SchemaA,SchemaB,SchemaC.
db_groups STRING Falso Un elenco delimitato da virgole dei nomi di uno o più gruppi di database esistenti a cui l'utente del database unisce per la sessione corrente quando si connette con le credenziali IAM. Consulta AuthScheme.
ignored_schemas STRING Falso Filtro per la restrizione della visibilità, utilizzato per nascondere l'elenco degli schemi in base alla query sui metadati. Ad esempio, "information_schema, pg_catalog". I nomi degli schemi sono sensibili alle maiuscole.
include_table_types BOOLEANO Falso Se impostato su true, il provider eseguirà una query sui tipi di singole tabelle e visualizzazioni.
strip_out_nulls BOOLEANO Falso Se impostato, i caratteri null vengono rimossi dai valori dei caratteri nelle operazioni collettive.
visibilità STRING Falso Limitazioni di visibilità utilizzate per filtrare i metadati esposti per le tabelle con privilegi concessi per l'utente corrente. Ad esempio, il filtro "SELECT,INSERT" limita la visibilità dei metadati solo per le tabelle a cui l'utente corrente può accedere per le operazioni SELECT e INSERT. I valori dei privilegi supportati sono SELECT, INSERT, UPDATE, DELETE, REFERENCES.

Utilizzare la connessione Redshift in un'integrazione

Una volta creata, la connessione diventa disponibile sia nell'integrazione Apigee sia nell'integrazione delle applicazioni. Puoi utilizzare la connessione in un'integrazione tramite l'attività Connettori.

  • Per capire come creare e utilizzare l'attività Connectors in Apigee Integration, vedi Attività connettori.
  • Per capire come creare e utilizzare l'attività Connettori in Application Integration, vedi Attività connettori.

Ricevi assistenza dalla community Google Cloud

Puoi pubblicare le tue domande e discutere di questo connettore nella community Google Cloud ai forum Cloud.

Passaggi successivi