Ramsha Siddiqui
08/18/2023, 8:11 PM# encoding: utf-8
require 'gooddata'
require 'json'
input_data = JSON.parse(ARGV[0])
bigquery_ds_model = {
'dataSource' => {
'name' => input_data["dataSource"]["name"],
'alias' => input_data["dataSource"]["alias"],
'prefix' => input_data["dataSource"]["prefix"],
'connectionInfo' => {
'bigQuery' => {
'authentication' => {
'serviceAccount' => {
'clientEmail' => input_data["dataSource"]["authentication"]["clientEmail"],
'privateKey' => input_data["dataSource"]["authentication"]["privateKey"]
}
},
'project' => input_data["dataSource"]["project"]
}
}
}
}
client = GoodData.connect
bigquery_ds = client.create(GoodData::DataSource, bigquery_ds_model)
bigquery_ds.save
I get this error:
.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/gooddata-2.2.0/lib/gooddata/rest/client.rb109in `connect’: No username specified (ArgumentError)
am i supposed to pass clientEmail and privateKey to connect?Moises Morales
08/18/2023, 10:52 PM# encoding: utf-8
require 'gooddata'
bigquery_ds_model = {
'dataSource' => {
'name' => 'My Data Source',
'alias' => 'ds_alias',
'prefix' => 'ds_prefix_',
'connectionInfo' => {
'bigQuery' => {
'authentication' => {
'serviceAccount' => {
'clientEmail' => '<mailto:test@abc.com|test@abc.com>',
'privateKey' => '***'
}
},
'project' => 'project_test',
'schema' => 'schema_test'
}
}
}
}
client = GoodData.connect
bigquery_ds = client.create(GoodData::DataSource, bigquery_ds_model)
bigquery_ds.save
For example:
#!/usr/bin/env ruby
require 'rubygems'
require 'sequel'
require 'jdbc/dss'
Jdbc::DSS.load_driver
Java.com.gooddata.dss.jdbc.driver.DssDriver
# replace with your Data Warehouse instance:
dss_jdbc_url = 'jdbc:gdc:<datawarehouse://secure.gooddata.com/gdc/datawarehouse/instances/[DW_ID]>'
# replace with your GoodData platform login name:
username = '<mailto:joe.user@example.com|joe.user@example.com>'
# replace with your GoodData platform password:
password = 'MyPassword'
# example query
Sequel.connect dss_jdbc_url, :username => username, :password => password do |conn|
conn.run "CREATE TABLE IF NOT EXISTS my_first_table (id INT, value VARCHAR(255))"
conn.run "INSERT INTO my_first_table (id, value) VALUES (1, 'one')"
conn.run "INSERT INTO my_first_table (id, value) VALUES (2, 'two')"
conn.fetch "SELECT * FROM my_first_table WHERE id < ?", 3 do |row|
puts row
end
end
Ramsha Siddiqui
08/21/2023, 9:12 AMRamsha Siddiqui
08/21/2023, 9:13 AMclient = GoodData.connect
bigquery_ds = client.create(GoodData::DataSource, bigquery_ds_model)
bigquery_ds.save
even if i make the google cloud connection manually in the UI, username password doesnt show up under connection settings as it does in a mysql connectionRamsha Siddiqui
08/21/2023, 9:15 AMRamsha Siddiqui
08/21/2023, 9:21 AMMoises Morales
08/21/2023, 12:20 PMRamsha Siddiqui
08/22/2023, 3:45 PM