Class: BqFactory::Client
- Inherits:
-
Object
- Object
- BqFactory::Client
- Defined in:
- lib/bq_factory/client.rb
Instance Method Summary collapse
- #create_dataset!(dataset_name) ⇒ Object
- #create_table!(dataset_name, table_id, schema) ⇒ Object
- #create_view(dataset_name, table_id, query) ⇒ Object
- #delete_dataset!(dataset_name) ⇒ Object
- #delete_table!(dataset_name, table_id) ⇒ Object
- #fetch_schema(dataset_name, table_id) ⇒ Object
-
#initialize(project_id, keyfile_path) ⇒ Client
constructor
A new instance of Client.
- #query(query) ⇒ Object
Constructor Details
#initialize(project_id, keyfile_path) ⇒ Client
Returns a new instance of Client.
7 8 9 |
# File 'lib/bq_factory/client.rb', line 7 def initialize(project_id, keyfile_path) @gcloud = Gcloud.new project_id, keyfile_path end |
Instance Method Details
#create_dataset!(dataset_name) ⇒ Object
15 16 17 |
# File 'lib/bq_factory/client.rb', line 15 def create_dataset!(dataset_name) bigquery.create_dataset(dataset_name) end |
#create_table!(dataset_name, table_id, schema) ⇒ Object
19 20 21 |
# File 'lib/bq_factory/client.rb', line 19 def create_table!(dataset_name, table_id, schema) dataset(dataset_name).create_table(table_id, schema: { fields: schema }) end |
#create_view(dataset_name, table_id, query) ⇒ Object
11 12 13 |
# File 'lib/bq_factory/client.rb', line 11 def create_view(dataset_name, table_id, query) dataset(dataset_name).create_view(table_id, query) end |
#delete_dataset!(dataset_name) ⇒ Object
23 24 25 |
# File 'lib/bq_factory/client.rb', line 23 def delete_dataset!(dataset_name) dataset(dataset_name).delete(force: true) end |
#delete_table!(dataset_name, table_id) ⇒ Object
27 28 29 |
# File 'lib/bq_factory/client.rb', line 27 def delete_table!(dataset_name, table_id) dataset(dataset_name).table(table_id).delete(force: true) end |
#fetch_schema(dataset_name, table_id) ⇒ Object
31 32 33 |
# File 'lib/bq_factory/client.rb', line 31 def fetch_schema(dataset_name, table_id) table(dataset_name, table_id).schema["fields"] end |
#query(query) ⇒ Object
35 36 37 |
# File 'lib/bq_factory/client.rb', line 35 def query(query) bigquery.query(query) end |