Class DataSourceSpec

数据规范

访问现有数据源规范的常规设置。如需访问特定类型的数据源规范,请使用 as...() 方法。如需创建新的数据源规范,请使用 SpreadsheetApp.newDataSourceSpec()

请仅将此类与连接到数据库的数据搭配使用。

以下示例展示了如何从 BigQuery 数据源规范中获取信息。

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());
}

此示例展示了如何从 Looker 数据源规范中获取信息。使用 asLooker() 会返回 LookerDataSourceSpec 对象。

// 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());
}

方法

方法返回类型简介
asBigQuery()BigQueryDataSourceSpec获取 BigQuery 数据源的规范。
asLooker()LookerDataSourceSpec获取 Looker 数据源的规范。
copy()DataSourceSpecBuilder根据此数据源的设置创建 DataSourceSpecBuilder
getParameters()DataSourceParameter[]获取数据源的参数。
getType()DataSourceType获取数据源的类型。

详细文档

asBigQuery()

获取 BigQuery 数据源的规范。

返回

BigQueryDataSourceSpec - BigQuery 数据源规范。


asLooker()

获取 Looker 数据源的规范。

// 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();

返回

LookerDataSourceSpec - Looker 数据源规范。


copy()

根据此数据源的设置创建 DataSourceSpecBuilder

// 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();

返回

DataSourceSpecBuilder - 构建器。


getParameters()

获取数据源的参数。

// 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();

此方法仅适用于 BigQuery 数据源。

返回

DataSourceParameter[] - 参数列表。


getType()

获取数据源的类型。

// 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();

返回

DataSourceType - 数据源类型。