Class DataSourceSpecBuilder

DataSourceSpecBuilder

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

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

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

var 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 对象。

var 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 数据源的构建器。

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

返回

LookerDataSourceSpecBuilder - Looker 数据源规范构建器。


build()

通过此构建器中的设置构建数据源规范。必须先使用 as...() 指定数据源类型,然后才能构建。

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

var 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 DataSource 规范。

var lookerDataSourceSpecBuilder = SpreadsheetApp.newDataSourceSpec().asLooker();
var 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');
var spec = ss.getDataSources()[0].getSpec();

var 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');
var spec = ss.getDataSources()[0].getSpec();
var 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');
var spec = ss.getDataSources()[0].getSpec();
var type = spec.getType();

返回

DataSourceType - 数据源类型。


removeAllParameters()

移除所有参数。

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

返回

DataSourceSpecBuilder - 用于链接的构建器。


removeParameter(parameterName)

移除指定的参数。

var specBuilder = SpreadsheetApp.newDataSourceSpec();
specBuilder.removeParameter("x");

参数

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

返回

DataSourceSpecBuilder - 用于链接的构建器。


setParameterFromCell(parameterName, sourceCell)

添加参数;如果存在具有该名称的参数,则更新其源单元格以获取数据 DataSourceType.BIGQUERY 类型的源代码规范构建器。

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

var specBuilder = SpreadsheetApp.newDataSourceSpec().asBigQuery();
specBuilder.setParameterFromCell("x", "A1");
var bigQuerySpec = specBuilder.build();

参数

名称类型说明
parameterNameString参数名称。
sourceCellString源单元格,采用 A1 表示法表示。

返回

DataSourceSpecBuilder - 用于链接的构建器。