Class DataSourceSpec

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.