Questa pagina descrive come importare un file CSV in un database AlloyDB.
La procedura per eseguire l'importazione prevede le seguenti attività:
Carica il file CSV in un bucket Cloud Storage.
Prepara un host client per eseguire l'operazione di importazione.
Importa il file CSV nel database.
Esegui la pulizia delle risorse create per eseguire la procedura.
Prima di iniziare
- Devi disporre del ruolo IAM di base Proprietario (
roles/owner
) o Editor (roles/editor
) nel progetto Google Cloud che utilizzi oppure devi disporre di questi ruoli IAM predefiniti:- AlloyDB Admin (
roles/alloydb.admin
) o AlloyDB Viewer (roles/alloydb.viewer
) - Storage Admin (
roles/storage.admin
) - Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
)
- AlloyDB Admin (
Carica il file CSV
Per caricare il file CSV, crea un bucket Cloud Storage e poi carica il file CSV nel bucket.
Crea un bucket di archiviazione regionale di archiviazione standard nel progetto e nella regione in cui si trova il tuo database AlloyDB.
Carica il file CSV nel bucket di archiviazione che hai creato.
Preparare un host client
Per preparare un host client a eseguire l'operazione di importazione, crea una VM Compute Engine che possa connettersi all'istanza principale AlloyDB in cui si trova il tuo database e installa lo strumento psql
e il client CLI Google Cloud sulla VM.
Segui le istruzioni riportate in Collegare un client psql a un'istanza per creare una VM Compute Engine con la connettività corretta e lo strumento
psql
installato. Quando segui queste istruzioni, assicurati di allocare allo spazio di archiviazione locale della VM Compute Engine sufficiente spazio per il file CSV che stai importando.Installa gcloud CLI per fornire accesso da riga di comando al file CSV nel bucket Cloud Storage.
Importa il file CSV
Per importare il file CSV, ottieni l'indirizzo IP dell'istanza principale di AlloyDB in cui si trova il tuo database e utilizza lo strumento psql
per creare una tabella contenente i dati CSV e poi importarli.
- Per ottenere l'indirizzo IP dell'istanza principale di AlloyDB in cui si trova il tuo database, visualizza i dettagli.
- Accedi tramite SSH alla VM Compute Engine.
- Nella console Google Cloud, vai alla pagina Istanze VM.
- Nell'elenco delle istanze della macchina virtuale, fai clic su SSH nella riga dell'istanza che hai creato.
Utilizza il comando
gcloud compute ssh
per connetterti all'istanza che hai creato.gcloud compute ssh --project=
PROJECT_ID --zone=ZONE VM_NAME Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene l'istanza.ZONE
: il nome della zona in cui si trova l'istanza.VM_NAME
: il nome dell'istanza.
- Copia il file CSV nel file system locale dell'host client:
gcloud storage cp gs://
BUCKET_NAME /CSV_FILE_NAME . - Importa il file CSV:
- Esegui lo strumento client
psql
e poi, al prompt psql, connettiti al database:psql -h
IP_ADDRESS -U postgres \cDB_NAME Ti verrà chiesto di inserire la password dell'utente
postgres
.IP_ADDRESS
: l'indirizzo IP dell'istanza principale.DB_NAME
: il nome del database in cui vuoi memorizzare i dati CSV.
- Crea una tabella per contenere i dati CSV, ad esempio:
CREATE TABLE weather ( city varchar(80), temp_lo int, temp_hi int, prcp real, date date );
L'istruzione
CREATE TABLE
riportata sopra è solo a scopo illustrativo. Crea una tabella le cui colonne corrispondono ai dati CSV. - Importa i dati dal file CSV:
\copy
TABLE_NAME (COLUMN_LIST ) FROM 'CSV_FILE_NAME ' DELIMITER ',' CSV HEADER ;TABLE_NAME
: il nome della tabella creata nel passaggio precedente.(COLUMN_LIST)
: un elenco separato da virgole dei nomi delle colonne della tabella in cui importare i dati, nell'ordine in cui vengono visualizzati nel file CSV.CSV_FILE_NAME
: il file CSV.HEADER
: indica che il file CSV contiene una riga di intestazione da ignorare. In caso contrario, ometti questo parametro.
Il comando
\copy
inpsql
accetta le stesse opzioni e gli stessi argomenti del comandoCOPY
di PostgreSQL per controllare l'operazione di importazione dei dati. - Esegui lo strumento client
Liberare le risorse
Dopo aver importato correttamente il file CSV, puoi eliminare il bucket Cloud Storage e la VM Compute Engine che hai utilizzato durante la procedura di importazione.