Class DataSourceSpec

  • 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 a DataSourceSpecBuilder to modify existing settings.

  • Methods like getParameters() and getType() allow retrieval of data source parameters and type respectively.

DataSourceSpec

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 SpreadsheetApp.newDataSourceSpec().

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 asLooker() returns a LookerDataSourceSpec 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

MethodReturn typeBrief description
asBigQuery()BigQueryDataSourceSpecGets the spec for BigQuery data source.
asLooker()LookerDataSourceSpecGets the spec for Looker data source.
copy()DataSourceSpecBuilderCreates a DataSourceSpecBuilder based on this data source's settings.
getParameters()DataSourceParameter[]Gets the parameters of the data source.
getType()DataSourceTypeGets the type of the data source.

Detailed documentation

asBigQuery()

Gets the spec for BigQuery data source.

Return

BigQueryDataSourceSpec — 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

LookerDataSourceSpec — The Looker data source spec.


copy()

Creates a DataSourceSpecBuilder 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

DataSourceSpecBuilder — 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

DataSourceParameter[] — 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

DataSourceType — The data source type.