Class DataSourceSpecBuilder Stay organized with collections Save and categorize content based on your preferences.
Page Summary
DataSourceSpecBuilder is used to create a specification for data sources connected to a database.
To start building a specification, use SpreadsheetApp.newDataSourceSpec().
Specific database types like BigQuery and Looker have dedicated builder methods like asBigQuery() and asLooker().
The build() method is used to finalize the specification from the builder's settings.
The builder forData. To create a specification for certain type, useas...() method. To create a new builder, useSpreadsheet. To use the specification, seeData.
Only use this class with data that's connected to a database.
This example shows how to build a BigQuery data source specification.
constspec=SpreadsheetApp.newDataSourceSpec().asBigQuery().setProjectId('big_query_project').setRawQuery('select @FIELD from table limit @LIMIT').setParameterFromCell('FIELD','Sheet1!A1').setParameterFromCell('LIMIT','namedRangeCell').build();
This example shows how to build a Looker data source specification. It returns aLooker object after usingbuild().
constspec=SpreadsheetApp.newDataSourceSpec().asLooker().setInstanceUrl('https://looker_instance_url.com').setModelName('model_name').setExploreName('explore_name').build();
Methods
| Method | Return type | Brief description |
|---|---|---|
as | Big | Gets the builder for BigQuery data source. |
as | Looker | Gets the builder for Looker data source. |
build() | Data | Builds a data source specification from the settings in this builder. |
copy() | Data | Creates aData 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. |
remove | Data | Removes all the parameters. |
remove | Data | Removes the specified parameter. |
set | Data | Adds a parameter, or if the parameter with the name exists, updates its source cell for datasource spec builders of typeData. |
Detailed documentation
asBigQuery()
Gets the builder for BigQuery data source.
Return
Big — The BigQuery data source specification builder.
asLooker()
Gets the builder for Looker data source.
constspec=SpreadsheetApp.newDataSourceSpec().asLooker().setInstanceUrl('https://looker_instance_url.com').setModelName('model_name').setExploreName('explore_name').build();
Return
Looker — The Looker data source specification builder.
build()
Builds a data source specification from the settings in this builder. Must useas...()to specify a data source type before building.
The following code sample builds a BigQuery DataSource Spec.
constbigQueryDataSourceSpec=SpreadsheetApp.newDataSourceSpec().asBigQuery();// TODO(developer): Replace with the required dataset, project and table IDs.bigQueryDataSourceSpec.setDatasetId('my data set id');bigQueryDataSourceSpec.setProjectId('my project id');bigQueryDataSourceSpec.setTableId('my table id');bigQueryDataSourceSpec.build();
The following code sample builds a Looker DataSource Spec.
constlookerDataSourceSpecBuilder=SpreadsheetApp.newDataSourceSpec().asLooker();constlookerSpec=lookerDataSourceSpecBuilder.setExploreName('my explore name').setInstanceUrl('my instance url').setModelName('my model name').build();
Return
Data — The data source specification.
copy()
Creates aData based on this data source's settings.
// TODO(developer): Replace the URL with your own.constss=SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit',);constspec=ss.getDataSources()[0].getSpec();constnewSpec=spec.copy();
Return
Data — The builder.
getParameters()
Gets the parameters of the data source.
// TODO(developer): Replace the URL with your own.constss=SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit',);constspec=ss.getDataSources()[0].getSpec();constparameters=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.constss=SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit',);constspec=ss.getDataSources()[0].getSpec();consttype=spec.getType();
Return
Data — The data source type.
removeAllParameters()
Removes all the parameters.
constspecBuilder=SpreadsheetApp.newDataSourceSpec();specBuilder.removeAllParameters();
Return
Data — The builder, for chaining.
removeParameter(parameterName)
Removes the specified parameter.
constspecBuilder=SpreadsheetApp.newDataSourceSpec();specBuilder.removeParameter('x');
Parameters
| Name | Type | Description |
|---|---|---|
parameter | String | The name of the parameter to remove. |
Return
Data — The builder, for chaining.
setParameterFromCell(parameterName, sourceCell)
Adds a parameter, or if the parameter with the name exists, updates its source cell for datasource spec builders of typeData.
This method is only available for BigQuery data sources.
constspecBuilder=SpreadsheetApp.newDataSourceSpec().asBigQuery();specBuilder.setParameterFromCell('x','A1');constbigQuerySpec=specBuilder.build();
Parameters
| Name | Type | Description |
|---|---|---|
parameter | String | The parameter name. |
source | String | The source cell, as specified in A1 notation. |
Return
Data — The builder, for chaining.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-11 UTC.