Scheduling queries

本頁面說明如何在 BigQuery 中排定週期性的查詢。

總覽

您可以排定週期性執行的查詢。排定的查詢必須以標準 SQL 編寫,以納入資料定義語言 (DDL)資料操縱語言 (DML) 陳述式。查詢字串和目的地資料表可參數化,讓您能依日期和時間整理查詢結果。

事前準備

建立排定的查詢前,請先完成下列事項:

  • 排定的查詢會使用 BigQuery 資料移轉服務的功能。請確認您已完成啟用 BigQuery 資料移轉服務中的一切必要動作。

  • 如果您使用傳統的 BigQuery 網頁版 UI 來建立排定的查詢,請允許瀏覽器顯示來自 bigquery.cloud.google.com 的彈出式視窗,好讓您能查看權限視窗。您必須授權 BigQuery 資料移轉服務管理您排定的查詢。

必要權限

在您排定查詢的執行時間之前,請先完成下列事項:

  • 確認建立移轉作業的人員在 BigQuery 中具有以下必要權限:

    • 建立移轉作業的 bigquery.transfers.update 權限
    • 目標資料集上的 bigquery.datasets.update 權限

    bigquery.admin 預先定義的 Cloud IAM 角色包括 bigquery.transfers.updatebigquery.datasets.update 權限。如要進一步瞭解 BigQuery 中的 Cloud IAM 角色,請參閱預先定義的角色與權限

設定選項

查詢字串

查詢字串必須有效,且必須以標準 SQL 編寫。排定的查詢每次執行時,都會收到下列查詢參數

如要在排程查詢之前手動以 @run_time@run_date 參數測試查詢字串,請使用指令列介面。

可用的參數

參數 標準 SQL 類型
@run_time TIMESTAMP 以世界標準時間 (UTC) 表示。對於定期的查詢,run_time 用以表示預定執行時間。舉例來說,如果排定的查詢時程設定為「每 24 小時」,則連續兩次查詢之間的 run_time 差異就是 24 小時整 (雖然實際執行時間可能會略有不同)。
@run_date DATE 代表邏輯日曆日期。

範例

在以下範例中,會查詢名為 hacker_news.stories 的公開資料集,而 @run_time 參數是該查詢字串的一部分。

SELECT @run_time AS time,
  title,
  author,
  text
FROM `bigquery-public-data.hacker_news.stories`
LIMIT
  1000

目的地資料表

您設定排定的查詢時,如果查詢結果的目的地資料表不存在,BigQuery 會嘗試建立目的地資料表。

如使用 DDL 或 DML 查詢:

  • 在 GCP Console 中選擇「Processing location」(處理位置) 或地區。DDL 或 DML 查詢需要處理位置來建立目的地資料表。
  • 在傳統 BigQuery 網頁版 UI 中,請將「Destination table」(目的地表格) 留白。

如果目標資料表存在,且您將資料欄新增至結構定義 (ALLOW_FIELD_ADDITION) 或是將某個資料欄的模式從 REQUIRED 放寬到 NULLABLE (ALLOW_FIELD_RELAXATION),則目的地資料表的結構定義可能會依據查詢結果更新。在所有其他情況下,在執行之間變更資料表結構定義,會導致排定的查詢失敗。

查詢可參照來自不同專案和不同資料集的資料表。設定排定的查詢時,資料表名稱無需包含目的地資料集。您要另外指定目的地資料集。

寫入偏好設定

您選取的寫入偏好設定,會決定查詢結果寫入現有目的地資料表的方式。

  • WRITE_TRUNCATE:如果資料表存在,BigQuery 會覆寫資料表資料。
  • WRITE_APPEND:如果資料表存在,BigQuery 會將資料附加至資料表。

如使用 DDL 或 DML 查詢:

  • 在 GCP Console 中不會顯示寫入偏好設定選項。
  • 在傳統 BigQuery 網頁版 UI 中,請將「Write preference」(寫入偏好設定) 留白。

唯有 BigQuery 成功完成查詢,才能建立、截斷或附加目的地資料表。建立、截斷或附加的動作是在工作完成時,以一次完整更新的形式進行。

分群法

如果資料表是由 DDL 陳述式 CREATE TABLE AS SELECT 製作而成,排程的查詢只能在新資料表上建立分群。請參閱使用資料定義語言陳述式頁面中從查詢結果建立分群資料表一節。

分區選項

排定的查詢可建立分區或非分區的目的地資料表。GCP Console 中不提供分區功能,但傳統 BigQuery 網頁版 UI、CLI 和 API 設定方法中提供此功能。如要使用分區功能進行 DDL 或 DML 查詢,請將「Partitioning field」(分區欄位) 留白。

BigQuery 中的資料表分區有兩種類型:

  • 依擷取時間分區的資料表:根據排定查詢的執行時間分區的資料表。
  • 依資料欄分區的資料表:依據 TIMESTAMPDATE 資料欄分區的資料表。

依資料欄分區的資料表:

  • 在傳統 BigQuery 網頁版 UI 中,如果目的地資料表會依資料欄分區,請於設定排定的查詢時,在「Partitioning Field」(分區欄位) 中指定資料欄名稱。對於擷取時間分區資料表和非分區資料表,請將「Partitioning Field」(分區欄位) 留空。

擷取時間分區資料表:

  • 在目的地資料表的名稱中指定日期分區。請參閱下方說明的資料表名稱範本語法。

分區範例

  • 無分區的資料表
    • 目的地資料表 - mytable
    • 分區欄位 - 保留空白
  • 擷取時間分區資料表
    • 目的地資料表 - mytable$YYYYMMDD
    • 分區欄位 - 保留空白
  • 資料欄分區資料表
    • 目的地資料表 - mytable
    • 分區欄位 - TIMESTAMPDATE 資料欄的名稱,用於對資料表進行分區

可用的參數

設定排定的查詢時,可使用執行階段參數,指定要以何種方式對目的地資料表進行分區。

參數 範本類型
run_time 格式化的時間戳記 採用世界標準時間,依照排程。對於定期的查詢,run_time 用以表示預定執行時間。舉例來說,如果排定的查詢時程設定為「每 24 小時」,則連續兩次查詢之間的 run_time 差異就是 24 小時整 (雖然實際執行時間可能會略有不同)。

請參閱 TransferRun.runTime 的說明。
run_date 日期字串 run_time 參數的日期格式如下:%Y%m%d;例如 20180101。這個格式可與擷取時間分區資料表相容。

範本系統

可使用範本語法讓排定的查詢支援目的地資料表名稱中的執行階段參數。

參數範本語法

範本語法支援基本字串範本和時區設定。參數會以下列格式參照:

  • {run_date}
  • {run_time[+\-offset]|"time_format"}
參數 目的
run_date 這個參數會由格式為 YYYYMMDD 的日期取代。
run_time 這個參數支援下列屬性:


offset
時區設定會依小時 (h)、分鐘 (m)、秒鐘 (s) 的順序表示。
不支援天 (d)。
可使用小數,例如:1.5h

time_format
格式設定字串。最常見的格式參數是年 (%Y)、月 (%m)、日 (%d)。
就分區資料表而言,YYYYMMDD 是必要的後置字串,相當於「%Y%m%d」。

進一步瞭解日期時間元素的格式設定

使用須知:
  • run_time、時區設定和時間格式之間不得有空格字元。
  • 如果字串要包含大括號,可以採用逸出符號:‘\{‘ and ‘\}’
  • 如果 time_format 要包含引號或分隔號,例如 “YYYY|MM|DD”,可以在格式字串採用逸出符號:‘\”’‘\|’

參數範本範例

以下範例說明如何以不同的時間格式指定目的地資料表名稱,以及如何設定執行時間時區。
run_time (世界標準時間) 範本參數 輸出目的地資料表名稱
2018-02-15 00:00:00 mytable mytable
2018-02-15 00:00:00 mytable_{run_time|"%Y%m%d"} mytable_20180215
2018-02-15 00:00:00 mytable_{run_time+25h|"%Y%m%d"} mytable_20180216
2018-02-15 00:00:00 mytable_{run_time-1h|"%Y%m%d"} mytable_20180214
2018-02-15 00:00:00 mytable_{run_time+1.5h|"%Y%m%d;%H"}

mytable_{run_time+90m|"%Y%m%d;%H"}
mytable_2018021501
2018-02-15 00:00:00 {run_time+97s|"%Y%m%d"}_mytable_{run_time|"%H%M%s"} 20180215_mytable_000137

設定排定的查詢

主控台

  1. 在 GCP Console 中開啟 BigQuery 網頁版 UI。

    前往 GCP Console

  2. 執行您有興趣的查詢。如您對查詢結果感到滿意,請按一下 [Schedule query] (已排定的查詢) 和 [Create new scheduled query] (建立新的排程查詢)

    BigQuery 網頁版 UI 中的排定查詢

  3. 已排定的查詢選項會在「New scheduled query」(新增排程查詢) 窗格中開啟。

  4. 在「New scheduled query」(新增排程查詢) 窗格中:

    • 在「Name for the scheduled query」(已排定查詢的名稱) 中輸入名稱,例如 My scheduled query。排定的查詢名稱可以是任何容易辨識的值,方便您日後在必要時進行修改。
    • (選用) 在「Schedule options」(排程選項) 中,您可保留預設值 [Daily] (每日) (即從建立時間開始,每 24 小時一次),或可按一下 [Schedule start time] (排定開始時間) 變更時間。時間間隔亦可改成 [Weekly] (每週)、[Monthly] (每月) 或 [Custom] (自訂)。如果選取 [Custom] (自訂),您應以類似 Cron 的表示方式輸入時間間隔,例如:every 3 hours。允許的最短週期是 15 分鐘。如需更多有效的 API 值,請參閱 TransferConfig 底下的 schedule 欄位說明。

      新排定查詢畫面上方

  5. 如為 DDL/DML 查詢,您可以選擇「Processing location」(處理位置) 或地區。

    新排定查詢 DDL/DML

  6. 如果是標準 SQL SELECT 查詢,請輸入目的地資料集的相關資訊。

    • 在「Dataset name」(資料集名稱) 部分選擇適當的目的地資料集。
    • 在「Table name」(資料表名稱) 部分,輸入目的地資料表的名稱。
      • 如果是 DDL 或 DML 查詢,此選項不會顯示。
    • 在「Destination table write preference」(目的地資料表寫入偏好設定) 中,選擇 WRITE_TRUNCATE 來覆寫目的地資料表,或是選擇 WRITE_APPEND 將資料附加至資料表。
      • 如果是 DDL 或 DML 查詢,此選項不會顯示。
    • (選用) 針對「Advanced options」(進階選項),如使用客戶管理的加密金鑰,即可在此處選取 [Customer-managed key] (客戶管理的金鑰),隨即會顯示可用的 CMEK 清單以供您選擇。

      新排定查詢畫面下方

  7. 針對所有查詢:

  8. 按一下 [Schedule] (排程)

  9. 如要查看排定查詢的狀態,請在導覽窗格中按一下 [Scheduled queries] (已排定的查詢),然後重新整理頁面,即可看到已排定查詢的最新狀態。只要按一下某個排定查詢,即可取得該查詢的詳細資訊。

    列出排定的查詢

傳統版 UI

  1. 使用傳統 BigQuery 網頁版 UI

    前往傳統 BigQuery 網頁版 UI

  2. 執行您有興趣的查詢。

    傳統 BigQuery 網頁版 UI 中的排定查詢

  3. 如您對查詢結果感到滿意,請按一下 [Schedule Query] (已排定的查詢)。排定的查詢選項會在查詢方塊底下開啟。

  4. 在「New Scheduled Query」(新增排程查詢) 頁面中:

    • 在「Destination dataset」(目的地資料集) 部分選擇適當的資料集。
    • 為「Display Name」(顯示名稱) 輸入排定查詢的名稱,例如 My scheduled query。排定的查詢名稱可以是任何容易辨識的值,方便您日後在必要時進行修改。
    • 針對「Destination table」(目的地表格)
      • 如果是標準 SQL 查詢,請輸入目的地資料表的名稱。
      • 如果是 DDL 或 DML 查詢,這個欄位請保留空白。
    • 針對「Write Preference」(寫入偏好設定)
      • 如果是標準 SQL 查詢,請選擇 WRITE_TRUNCATE 覆寫目的地資料表,或選擇 WRITE_APPEND 附加資料至資料表。
      • 如果是 DDL 或 DML 查詢,請選擇 [Unspecified] (未指定)
    • (選用) 針對「Partitioning Field」(分區欄位)

      • 如果是標準 SQL 查詢,而目的地資料表是資料欄分區資料表,請輸入資料表應分區的資料欄名稱。對於擷取時間分區資料表和非分區資料表,這個欄位請保留空白。
      • 如果是 DDL 或 DML 查詢,這個欄位請保留空白。
    • (選用) 針對「Destination table KMS key」(目的地表格 KMS 金鑰),如使用客戶管理的加密金鑰,即可在此處輸入客戶管理的加密金鑰。

      新的排定查詢

    • (選用) 在「Schedule」(排程) 部分,您可保留預設值 [Daily] (每日) (即從建立時間開始,每 24 小時一次),或可按一下 [Edit] (編輯) 變更時間。時間間隔亦可變更成 [Weekly] (每週)、[Monthly] (每月) 或 [Custom] (自訂)。如果選取 [Custom] (自訂),您應以類似 Cron 的表示方式輸入時間間隔,例如:every 3 hours。允許的最短週期是十五分鐘。如需更多有效的 API 值,請參閱 TransferConfig 底下的 schedule 欄位說明。

      查詢時間表

    • (選用) 展開「Advanced」(進階) 區段,然後設定通知

  5. 按一下 [Add] (新增)。

  6. 如要查看排定查詢的狀態,請在導覽窗格中按一下 [Scheduled queries] (已排定的查詢),然後重新整理頁面,即可看到已排定查詢的最新狀態。只要按一下某個排定查詢,即可取得該查詢的詳細資訊。

    列出排定的查詢

CLI

選項 1:使用 bq query 指令。

這個方法會將標記 destination_table (或 target_dataset)、--schedule--display_name 選項加到 bq query 指令,以建立排定的查詢。

bq query \
--display_name=name \
--destination_table=table \
--schedule=interval

其中:

  • 「name」是排定查詢的顯示名稱。顯示名稱可以是任何容易辨識排定查詢的值,方便您日後在必要時進行修改。
  • 「table」是查詢結果的目的地資料表。
    • 使用 DDL/DML 查詢時,--target_dataset 是為查詢結果命名目標資料集的另一種方式。
    • --destination_table--target_dataset 中擇一使用。
  • 「interval」bq query 搭配使用時,可將查詢設為重複發生的排定查詢。您必須排定執行查詢的頻率。範例:
    • --schedule='every 24 hours'
    • --schedule='every 3 hours'

選用標記:

  • --project_id 是您的專案 ID。如未指定 --project_id,則會使用預設專案。

  • --replace 會縮減目的地資料表並寫入每次排定查詢執行的新結果。

  • --append_table 會將結果附加到目的地資料表。

舉例來說,下列指令會使用簡易的查詢 SELECT 1 from mydataset.test 建立命名為 My Scheduled Query 的排定查詢。目的地資料表為資料集 mydataset 中的 mytable。排定的查詢會在預設的專案內建立:

    bq query \
    --use_legacy_sql=false \
    --destination_table=mydataset.mytable \
    --display_name='My Scheduled Query' \
    --replace=true \
    'SELECT
      1
    FROM
      mydataset.test'


選項 2:使用 bq mk 指令。

排定查詢是一種移轉。如要排定查詢,可使用 BigQuery 資料移轉服務 CLI 進行移轉設定。

排定查詢必須使用 StandardSQL 方言。

輸入 bq mk 指令並加上移轉建立標記 --transfer_config,也須加上以下標記:

  • --data_source
  • --target_dataset (DDL/DML 查詢為選用)。
  • --display_name
  • --params

選用標記:

  • --project_id 是您的專案 ID。如未指定 --project_id,則會使用預設專案。

  • --schedule 是您希望查詢執行的頻率。如未指定 --schedule,預設為依據建立時間的「每 24 小時」。

  • 如為 DDL/DML 查詢,您亦可加上 --location 標記,指定特定的地區進行處理。如未指定 --location,會使用全球各地的 Google Cloud Platform 地點。

bq mk \
--transfer_config \
--project_id=project_id \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data_source

其中:

  • 「dataset」是移轉設定的目標資料集。
    • 此為 DDL/DML 查詢的選用參數,是其他所有查詢的必要參數。
  • 「name」是移轉設定的顯示名稱。顯示名稱可以是任何容易辨識排定查詢 (移轉) 的值,方便您日後在必要時進行修改。
  • 「parameters」含有已建立移轉設定的 JSON 格式參數,例如:--params='{"param":"param_value"}'。針對排定的查詢,您必須提供 query 參數。
    • destination_table_name_template 參數是目的地資料表的名稱。
    • 此為 DDL/DML 查詢的選用參數,是其他所有查詢的必要參數。
    • 針對 write_disposition 參數,您可以選擇 WRITE_TRUNCATE 來縮減 (覆寫) 目的地資料表,或選擇 WRITE_APPEND 將查詢結果附加到目的地資料表。
      • 此為 DDL/DML 查詢的選用參數,是其他所有查詢的必要參數。
    • (選用) destination_table_kms_key 參數適用於客戶管理的加密金鑰
  • 「data_source」是資料來源:scheduled_query

例如,下列指令使用簡單的查詢 SELECT 1 from mydataset.test 建立命名為 My Scheduled Query 的排定查詢移轉設定。目的地資料表 mytable 會在每次寫入時縮減,而目標資料集為 mydataset。排定的查詢會在預設的專案內建立:

bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Scheduled Query' \
--params='{"query":"SELECT 1 from mydataset.test","destination_table_name_template":"mytable","write_disposition":"WRITE_TRUNCATE"}' \
--data_source=scheduled_query

首次執行指令時,您會收到類似以下的訊息:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

請按照訊息中的操作說明進行,在指令列中貼上驗證碼。

API

使用 projects.locations.transferConfigs.create 方法,並提供 TransferConfig 資源的執行個體。

Python

在嘗試此範例之前,請至 BigQuery 快速入門導覽課程:使用用戶端程式庫,按照 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件

    from google.cloud import bigquery_datatransfer_v1
    import google.protobuf.json_format

    client = bigquery_datatransfer_v1.DataTransferServiceClient()

    # TODO(developer): Set the project_id to the project that contains the
    #                  destination dataset.
    # project_id = "your-project-id"

    # TODO(developer): Set the destination dataset. The authorized user must
    #                  have owner permissions on the dataset.
    # dataset_id = "your_dataset_id"

    # TODO(developer): The first time you run this sample, set the
    # authorization code to a value from the URL:
    # https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=433065040935-hav5fqnc9p9cht3rqneus9115ias2kn1.apps.googleusercontent.com&scope=https://www.googleapis.com/auth/bigquery%20https://www.googleapis.com/auth/drive&redirect_uri=urn:ietf:wg:oauth:2.0:oob
    #
    # authorization_code = "_4/ABCD-EFGHIJKLMNOP-QRSTUVWXYZ"
    #
    # You can use an empty string for authorization_code in subsequent runs of
    # this code sample with the same credentials.
    #
    # authorization_code = ""

    # Use standard SQL syntax for the query.
    query_string = """
SELECT
  CURRENT_TIMESTAMP() as current_time,
  @run_time as intended_run_time,
  @run_date as intended_run_date,
  17 as some_integer
"""

    parent = client.project_path(project_id)

    transfer_config = google.protobuf.json_format.ParseDict(
        {
            "destination_dataset_id": dataset_id,
            "display_name": "Your Scheduled Query Name",
            "data_source_id": "scheduled_query",
            "params": {
                "query": query_string,
                "destination_table_name_template": "your_table_{run_date}",
                "write_disposition": "WRITE_TRUNCATE",
                "partitioning_field": "",
            },
            "schedule": "every 24 hours",
        },
        bigquery_datatransfer_v1.types.TransferConfig(),
    )

    response = client.create_transfer_config(
        parent, transfer_config, authorization_code=authorization_code
    )

    print("Created scheduled query '{}'".format(response.name))

針對過去日期設定手動執行

除了排定查詢於日後執行,您也可以手動觸發立即執行。如果您的查詢使用的是 run_date 參數,且在先前執行期間有發生問題,則可能需要觸發立即執行。

舉例來說,每天 09:00 您會在來源資料表中查詢符合目前日期的資料列。然而您發現系統在過去三天內,並未將這項資料加進來源資料表。在這種情況下,您可以將查詢設定為在指定日期範圍的歷史資料中執行。您的查詢在執行時,使用的 run_daterun-time 組合會對應到您在排定查詢中所設的日期。

設定排定的查詢後,請按照以下步驟使用歷史日期範圍來執行查詢:

主控台

按一下 [Schedule] (排程) 儲存您排定的查詢後,您可以按一下 [Scheduled queries] (已排定的查詢) 按鈕,查看目前排定的查詢清單。按一下任何顯示名稱可查看查詢排程的詳細資料。在頁面右上方,按一下 [Schedule backfill] (排程補充作業),即可指定歷史日期範圍。

[schedule backfill] (排程補充作業) 按鈕

所選的執行時間皆於您所選的範圍之內,包含初次執行日期並排除最後一次的日期。

設定過去日期

範例 1

排定的查詢設在太平洋時間的 every day 09:00 執行,而您缺少 1 月 1 日、1 月 2 日和 1 月 3 日的資料。請選擇下列歷史資料範圍:

Start Time = 1/1/19
End Time = 1/4/19

您的查詢會使用對應至下列時間的 run_daterun_time 參數執行:

  • 1/1/19 09:00 太平洋時間
  • 1/2/19 09:00 太平洋時間
  • 1/3/19 09:00 太平洋時間

範例 2

排定的查詢設在太平洋時間的 every day 23:00 執行,而您缺少 1 月 1 日、1 月 2 日和 1 月 3 日的資料。請選擇下列歷史日期範圍 (由於太平洋時間的 23:00 與世界標準時間的日期不同,因此系統已為您選擇較晚的日期):

Start Time = 1/2/19
End Time = 1/5/19

您的查詢會使用對應至下列時間的 run_daterun_time 參數執行:

  • 1/2/19 09:00 世界標準時間,或 1/1/2019 23:00 太平洋時間
  • 1/3/19 09:00 世界標準時間,或 1/2/2019 23:00 太平洋時間
  • 1/4/19 09:00 世界標準時間,或 1/3/2019 23:00 太平洋時間

設定手動執行後,請重新整理頁面查看執行時間的清單。

傳統版 UI

按一下 [Add] (新增) 儲存您排定的查詢後,畫面就會顯示排定的查詢詳細資料。在詳細資料下方,按一下 [Start Manual Runs] (啟動手動執行) 按鈕,指定過去日期範圍。

[start manual runs] (啟動手動執行) 按鈕

您可以進一步縮小日期範圍,指定開始時間和結束時間,或將時間欄位保持為 00:00:00

設定過去日期

範例 1

如果您排定的查詢設為 every day 14:00 執行,並且套用下列的過去日期範圍:

Start Time = 2/21/2018 00:00:00 AM
End Time = 2/24/2018 00:00:00 AM

您的查詢會在下列時間執行:

  • 2/21/2018 14:00:00
  • 2/22/2018 14:00:00
  • 2/23/2018 14:00:00

範例 2

如果您排定的查詢設為 every fri at 01:05 執行,並且套用下列的過去日期範圍:

Start Time = 2/1/2018 00:00:00 (星期四)
End Time = 2/24/2018 00:00:00 AM (也是星期四)

您的查詢會在下列時間執行:

  • 2/2/2018 01:05:00
  • 2/9/2018 01:05:00

CLI

如要針對歷史日期範圍手動執行查詢:

輸入 bq mk 指令並加上移轉執行標記 --transfer_run,也須加上以下標記:

  • --start_time
  • --end_time
bq mk \
--transfer_run \
--start_time='start_time' \
--end_time='end_time' \
resource_name

其中:

  • 「start_time」和「end_time」是以 Z 結尾或包含有效時區偏移的時間戳記。範例:
    • 2017-08-19T12:11:35.00Z
    • 2017-05-25T00:00:00+00:00
  • 「resource_name」是排定的查詢的 (或移轉的) 資源名稱。資源名稱也就是移轉設定。

例如,下列指令會對排定的查詢資源 (或移轉設定) 排定補充作業:projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

  bq mk \
  --transfer_run \
  --start_time 2017-05-25T00:00:00Z \
  --end_time 2017-05-25T00:00:00Z \
  projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

使用 projects.locations.transferConfigs.scheduleRun 方法並提供 TransferConfig 資源的路徑。

配額

排定的查詢會使用建立者的憑證和專案執行,就像是您親自執行查詢一樣。排定查詢和手動查詢都應遵循相同 BigQuery 配額與限制

定價

排定查詢的定價與手動 BigQuery 查詢相同。

已知問題和限制

地區

不支援跨地區查詢,排定查詢的目的地資料表必須跟查詢的資料位在同一地區。如要進一步瞭解單一地區與多地區,請參閱資料集位置一文。

Google 雲端硬碟

您可以在排定的查詢中查詢 Google 雲端硬碟資料。如果您排定的是既有的查詢,或許應在排定的查詢詳細資料畫面,按一下 [Update Credentials] (更新憑證)。變更需要 10 至 20 分鐘才會生效。您可能需要清除瀏覽器的快取。系統會自動為新的排定查詢更新憑證。

更新憑證

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁