Class DataSourceSpecBuilder

数据规范构建器

DataSourceSpec 的构建器。如需为特定类型创建规范,请使用 as...() 方法。如需创建新的构建器,请使用 SpreadsheetApp.newDataSourceSpec()。如需使用该规范,请参阅 DataSourceTable

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

以下示例展示了如何构建 BigQuery 数据源规范。

const spec = SpreadsheetApp.newDataSourceSpec()
                 .asBigQuery()
                 .setProjectId('big_query_project')
                 .setRawQuery('select @FIELD from table limit @LIMIT')
                 .setParameterFromCell('FIELD', 'Sheet1!A1')
                 .setParameterFromCell('LIMIT', 'namedRangeCell')
                 .build();

此示例展示了如何构建 Looker 数据源规范。它会在使用 build() 后返回一个 LookerDataSourceSpec 对象。

const spec = SpreadsheetApp.newDataSourceSpec()
                 .asLooker()
                 .setInstanceUrl('https://looker_instance_url.com')
                 .setModelName('model_name')
                 .setExploreName('explore_name')
                 .build();

方法

方法返回类型简介
asBigQuery()BigQueryDataSourceSpecBuilder获取 BigQuery 数据源的构建器。
asLooker()LookerDataSourceSpecBuilder获取 Looker 数据源的构建器。
build()DataSourceSpec根据此构建工具中的设置构建数据源规范。
copy()DataSourceSpecBuilder根据此数据源的设置创建 DataSourceSpecBuilder
getParameters()DataSourceParameter[]获取数据源的参数。
getType()DataSourceType获取数据源的类型。
removeAllParameters()DataSourceSpecBuilder移除所有参数。
removeParameter(parameterName)DataSourceSpecBuilder移除指定的参数。
setParameterFromCell(parameterName, sourceCell)DataSourceSpecBuilder添加参数;如果存在具有相应名称的参数,则更新类型为 DataSourceType.BIGQUERY 的数据源规范构建器的来源单元格。

详细文档

asBigQuery()

获取 BigQuery 数据源的构建器。

返回

BigQueryDataSourceSpecBuilder - BigQuery 数据源规范构建器。


asLooker()

获取 Looker 数据源的构建器。

const spec = SpreadsheetApp.newDataSourceSpec()
                 .asLooker()
                 .setInstanceUrl('https://looker_instance_url.com')
                 .setModelName('model_name')
                 .setExploreName('explore_name')
                 .build();

返回

LookerDataSourceSpecBuilder - Looker 数据源规范构建工具。


build()

根据此构建工具中的设置构建数据源规范。必须先使用 as...() 指定数据源类型,然后才能进行构建。

以下代码示例会构建 BigQuery DataSource 规范。

const bigQueryDataSourceSpec = 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();

以下代码示例会构建 Looker 数据源规范。

const lookerDataSourceSpecBuilder =
    SpreadsheetApp.newDataSourceSpec().asLooker();
const lookerSpec = lookerDataSourceSpecBuilder.setExploreName('my explore name')
                       .setInstanceUrl('my instance url')
                       .setModelName('my model name')
                       .build();

返回

DataSourceSpec - 数据源规范。


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 - 数据源类型。


removeAllParameters()

移除所有参数。

const specBuilder = SpreadsheetApp.newDataSourceSpec();
specBuilder.removeAllParameters();

返回

DataSourceSpecBuilder - 用于链接的构建器。


removeParameter(parameterName)

移除指定的参数。

const specBuilder = SpreadsheetApp.newDataSourceSpec();
specBuilder.removeParameter('x');

参数

名称类型说明
parameterNameString要移除的参数的名称。

返回

DataSourceSpecBuilder - 用于链接的构建器。


setParameterFromCell(parameterName, sourceCell)

添加参数;如果具有该名称的参数已存在,则更新类型为 DataSourceType.BIGQUERY 的数据源规范构建器的来源单元格。

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

const specBuilder = SpreadsheetApp.newDataSourceSpec().asBigQuery();
specBuilder.setParameterFromCell('x', 'A1');
const bigQuerySpec = specBuilder.build();

参数

名称类型说明
parameterNameString参数名称。
sourceCellString源单元格,如 A1 表示法中所指定。

返回

DataSourceSpecBuilder - 用于链接的构建器。