Cloud SQL per MySQL

Il connettore MySQL consente di inserire, leggere, aggiornare ed eliminare righe in un database MySQL.

Versioni supportate

Versioni MySQL da 5.0 a 8.0

Prima di iniziare

Prima di utilizzare il connettore Cloud SQL per MySQL, esegui le seguenti attività:

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

      Un account di servizio è un tipo speciale di Account Google destinato a rappresentare una persona non umana utente che deve autenticarsi e avere l'autorizzazione ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, consulta Creare un account di servizio.

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

      Per informazioni su come abilitare i servizi, vedi Attivazione dei servizi.

    Se questi servizi o autorizzazioni non sono stati attivati in precedenza per il tuo progetto, ti verrà chiesto di attivarli durante la configurazione del connettore.

  • Attiva il servizio sqladmin.googleapis.com (API Cloud SQL Admin).

Configura il connettore

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

  1. Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni, quindi seleziona o crea un progetto Google Cloud.

    Vai alla pagina Connessioni

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

      Per l'elenco di tutte le aree geografiche supportate, consulta la sezione Località.

    2. Fai clic su AVANTI.
  4. Nella sezione Dettagli connessione, completa i seguenti passaggi:
    1. Connettore: seleziona Cloud SQL per MySQL 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. Facoltativamente, 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. (Facoltativo) 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 migliore disponibilità) e il numero massimo di nodi è impostato su 50.

    8. ID progetto: l'ID del progetto Google Cloud in cui si trova l'istanza Cloud SQL.
    9. Regione del database: il nome della regione in cui si trova l'istanza Cloud SQL.
    10. ID istanza: l'ID dell'istanza CloudSQL a cui connetterti.
    11. Nome database: il nome del database MySQL a cui connetterti.
    12. Se vuoi, fai clic su + AGGIUNGI ETIQUETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
    13. 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 altre destinazioni, 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 Cloud SQL per MySQL 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. Verifica: controlla i dettagli della connessione e dell'autenticazione.
  8. Fai clic su Crea.

Configura autenticazione

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

  • Nome utente e password
    • Nome utente: il nome utente Mysql da utilizzare per la connessione.
    • Password: il segreto Secret Manager contenente la password associata al nome utente MySQL.

Entità, operazioni e azioni

Tutti i connettori di integrazione forniscono un livello di astrazione per gli oggetti l'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione viene mostrata come entità, operazioni e azioni.

  • Entità: un'entità può essere considerata un oggetto o un insieme di proprietà nel un'applicazione o un servizio connesso. 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à:

    Selezionando un'entità dall'elenco disponibile, viene generato un elenco di le 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 all'integrazione tramite l'interfaccia del connettore. Un'azione consente di apportare modifiche a una o più entità variano da connettore a connettore. 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 di sistema

Il connettore Cloud SQL per MySQL può elaborare 10 transazioni al secondo per nodo e limita le transazioni che superano questo limite. Per impostazione predefinita, Integration Connectors alloca due nodi (per una migliore disponibilità) per una connessione.

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

Tipi di dati supportati

Di seguito sono riportati i tipi di dati supportati per questo connettore:

  • BIGINT
  • BINARY
  • BIT
  • BOOLEANO
  • CHAR
  • DATA
  • DECIMALE
  • DOPPIO
  • FLOAT
  • INTEGER
  • LONGN VARCHAR
  • VARCAR LUNGO
  • NCHAR
  • NUMERICO
  • NVARCHAR
  • REAL
  • INT PICCOLO
  • TEMPO
  • TIMESTAMP
  • TINY INT
  • VARBINARIO
  • VARCHAR

Azioni

Questo connettore supporta l'esecuzione delle seguenti azioni:

  • stored procedure e funzioni definite dall'utente. Se nel tuo backend sono presenti procedure e funzioni memorizzate, queste sono elencate nella colonna Actions della finestra di dialogo Configure connector task.
  • Query SQL personalizzate. Per eseguire query SQL personalizzate, il connettore fornisce l'azione Esegui query personalizzata.

    Per creare una query personalizzata:

    1. Segui le istruzioni dettagliate per aggiungere un'attività dei connettori.
    2. Quando configuri l'attività del connettore, seleziona Azioni nel tipo di azione che vuoi eseguire.
    3. Nell'elenco Azione, seleziona Esegui query personalizzata, quindi fai clic su Fine.

      immagine che mostra l'esecuzione di una query personalizzata immagine che mostra l'azione esegui-query-personalizzata

    4. Espandi la sezione Input attività, quindi procedi nel seguente modo:
      1. Nel campo Timeout dopo, inserisci il numero di secondi di attesa prima che la query venga eseguita.

        Valore predefinito: 180 secondi.

      2. Nel campo Numero massimo di righe, inserisci il numero massimo di righe da restituire dal database.

        Valore predefinito: 25.

      3. Per aggiornare la query personalizzata, fai clic su Modifica script personalizzato. Viene visualizzata la finestra di dialogo Editor di script.

        immagine che mostra custom-sql-query immagine che mostra la query SQL personalizzata

      4. Nella finestra di dialogo Editor di script, inserisci la query SQL e fai clic su Salva.

        Puoi utilizzare un punto interrogativo (?) in un'istruzione SQL per rappresentare un singolo parametro che deve essere specificato nell'elenco dei parametri di ricerca. Ad esempio, la seguente query SQL seleziona tutte le righe della tabella Employees che corrispondono ai valori specificati per la colonna LastName:

        SELECT * FROM Employees where LastName=?

      5. Se hai utilizzato dei punti interrogativi nella query SQL, devi aggiungere il parametro facendo clic su + Aggiungi nome parametro per ciascun punto. Durante l'esecuzione dell'integrazione, questi parametri sostituiscono in modo sequenziale i punti interrogativi (?) nella query SQL. Ad esempio, se hai aggiunto tre punti di domanda (?), devi aggiungere tre parametri in ordine di sequenza.

        immagine che mostra add-query-param immagine che mostra add-query-param

        Per aggiungere parametri di ricerca:

        1. Nell'elenco Tipo, seleziona il tipo di dati del parametro.
        2. Nel campo Valore, inserisci il valore del parametro.
        3. Per aggiungere più parametri, fai clic su + Aggiungi parametro di query.

Esempi di azioni

Esempio: trova 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 poi 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 ha esito positivo, il valore connectorOutputPayload dell'attività 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 attività dell'attività Connettori, puoi impostare il valore 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: ottieni 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 fai clic su Fine.
  4. Nella sezione Input dell'attività dell'attività Connettori, fai clic su entityId e poi inserisci 103032 nel campo Valore predefinito.

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

Esempio: eliminare 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 poi fai clic su Fine.
  4. 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 composite, anziché specificare entityId, puoi impostare filterClause. Ad esempio: employeeCode='5100' and startDate='2010-01-01 00:00:00'.

Esempio: crea 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 e poi inserisci un valore simile al seguente nel campo Default Value:
    {
    "country": "IN"
    }
  5. 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'.

  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 la risorsa Terraform 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
project_id STRING Vero ID del progetto che contiene l'istanza Cloud SQL. ad es. progetto.
database_region STRING Vero La regione cloud per l'istanza, ad esempio us-central1.
instance_id STRING Vero ID istanza database. Non è incluso l'ID progetto, ad esempio myinstance.
database_name STRING Vero Nome del database nell'istanza, ad esempio mydatabase.

Utilizzare la connessione Cloud SQL per MySQL 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 informazioni su come creare e utilizzare l'attività Connectors in Apigee Integration, consulta Attività Connectors.
  • Per capire come creare e utilizzare l'attività Connettori in Application Integration, vedi Attività connettori.

Inoltre, vedi il tutorial Eseguire operazioni CRUD su un database MySQL che mostra come creare una connessione MySQL e come utilizzare la connessione in un'integrazione per eseguire operazioni di lettura e scrittura.

Ricevere assistenza dalla community Google Cloud

Puoi pubblicare le tue domande e discutere di questo connettore in Google Cloud nei forum di Cloud.

Passaggi successivi