AI-generated Key Takeaways
-
DataSourceSpec
provides access to the general settings of an existing database-connected data source. -
To access type-specific settings, utilize the
as...()
methods (e.g.,asBigQuery()
,asLooker()
). -
You can create a new data source specification using
SpreadsheetApp.newDataSourceSpec()
. -
The
copy()
method facilitates creating aDataSourceSpecBuilder
to modify existing settings. -
Methods like
getParameters()
andgetType()
allow retrieval of data source parameters and type respectively.
Access the general settings of an existing data source spec. To access data source spec for
certain type, use as...()
method. To create a new data source spec, use Spreadsheet
.
Only use this class with data that's connected to a database.
This example shows how to get information from a BigQuery data source spec.
const dataSourceTable = SpreadsheetApp.getActive() .getSheetByName('Data Sheet 1') .getDataSourceTables()[0]; const spec = dataSourceTable.getDataSource().getSpec(); if (spec.getType() === SpreadsheetApp.DataSourceType.BIGQUERY) { const bqSpec = spec.asBigQuery(); Logger.log('Project ID: %s\n', bqSpec.getProjectId()); Logger.log('Raw query string: %s\n', bqSpec.getRawQuery()); }
This example shows how to get information from a Looker data source spec. Using as
returns a Looker
object.
// TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); const spec = ss.getDataSources()[0].getSpec().asLooker(); if (spec.getType() === SpreadsheetApp.DataSourceType.LOOKER) { const lookerSpec = spec.asLooker(); Logger.log('Looker instance URL: %s\n', lookerSpec.getInstanceUrl()); }
Methods
Method | Return type | Brief description |
---|---|---|
as | Big | Gets the spec for BigQuery data source. |
as | Looker | Gets the spec for Looker data source. |
copy() | Data | Creates a Data based on this data source's settings. |
get | Data | Gets the parameters of the data source. |
get | Data | Gets the type of the data source. |
Detailed documentation
asBigQuery()
Gets the spec for BigQuery data source.
Return
Big
— The BigQuery data source spec.
asLooker()
Gets the spec for Looker data source.
// TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); const spec = ss.getDataSources()[0].getSpec().asLooker();
Return
Looker
— The Looker data source spec.
copy()
Creates a Data
based on this data source's settings.
// TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); const spec = ss.getDataSources()[0].getSpec(); const newSpec = spec.copy();
Return
Data
— The builder.
getParameters()
Gets the parameters of the data source.
// TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); const spec = ss.getDataSources()[0].getSpec(); const parameters = spec.getParameters();
This method is only available for BigQuery data sources.
Return
Data
— The parameter list.
getType()
Gets the type of the data source.
// TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); const spec = ss.getDataSources()[0].getSpec(); const type = spec.getType();
Return
Data
— The data source type.