Class DataSourceSpecBuilder

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...() 在 build 之前指定数据源类型。

以下代码示例构建了一个 BigQuery DataSource Spec。

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 - 用于链接的构建器。