CloudSQL import data from GS

Step 1: Connect thru web console to create database and table

screenshot

SHOW DATABASES;

CREATE DATABASE vacrecom CHARACTER SET utf8 COLLATE utf8_general_ci;

USE vacrecom;

SHOW TABLES;

CREATE TABLE vacrecom (
  uid int not null,
  vid int not null,
  rating float not null
);

Step 2: ACLs

gcloud sql instances describe db | grep serviceAccountEmailAddress

Will output something like:

serviceAccountEmailAddress: [serviceaccount@contoso.iam.gserviceaccount.com](mailto:serviceaccount@contoso.iam.gserviceaccount.com)

gsutil acl ch -u [serviceaccount@contoso.iam.gserviceaccount.com](mailto:serviceaccount@contoso.iam.gserviceaccount.com):W gs://ruaml

gsutil acl ch -u [serviceaccount@contoso.iam.gserviceaccount.com](mailto:serviceaccount@contoso.iam.gserviceaccount.com):R gs://ruaml/foo.csv

Step 3: Import

gcloud beta sql import csv db gs://ruaml/foo.csv --database=vacrecom --table=vacrecom --columns=uid,vid,rating

For cronjobs:

gcloud beta sql import csv db gs://ruaml/foo.csv --database=vacrecom --table=vacrecom **\--async** --columns=uid,vid,rating **\-q**

Links: