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();
方法
| 方法 | 返回类型 | 简介 |
|---|---|---|
as | Big | 获取 BigQuery 数据源的构建器。 |
as | Looker | 获取 Looker 数据源的构建器。 |
build() | Data | 根据此构建器中的设置构建数据源规范。 |
copy() | Data | 根据相应数据源的设置创建 Data。 |
get | Data | 获取数据源的参数。 |
get | Data | 获取数据源的类型。 |
remove | Data | 移除所有参数。 |
remove | Data | 移除指定的参数。 |
set | Data | 添加一个参数;如果具有相应名称的参数已存在,则更新其数据源规范构建器(类型为 Data)的源单元格。 |
详细文档
asBigQuery()
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');
参数
| 名称 | 类型 | 说明 |
|---|---|---|
parameter | String | 要移除的参数的名称。 |
返回
DataSourceSpecBuilder - 用于链接的构建器。
setParameterFromCell(parameterName, sourceCell)
添加一个参数;如果具有相应名称的参数已存在,则更新其数据源规范构建器(类型为 DataSourceType.BIGQUERY)的源单元格。
此方法仅适用于 BigQuery 数据源。
const specBuilder = SpreadsheetApp.newDataSourceSpec().asBigQuery(); specBuilder.setParameterFromCell('x', 'A1'); const bigQuerySpec = specBuilder.build();
参数
| 名称 | 类型 | 说明 |
|---|---|---|
parameter | String | 参数名称。 |
source | String | 源单元格,以 A1 符号表示法指定。 |
返回
DataSourceSpecBuilder - 用于链接的构建器。