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 資料來源規格。

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 資料來源規格。

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:用於鏈結的建構工具。