BigQuery 資料移轉服務執行通知
BigQuery 資料移轉服務執行通知可讓您自動追蹤排定的資料移轉作業狀態。您可以設定 Pub/Sub,在移轉作業成功或失敗時傳送機器可讀訊息,也可以設定電子郵件快訊,在作業失敗時接收人類可讀詳細資料,或同時使用這兩個選項。
Pub/Sub 通知
Pub/Sub 通知會將移轉作業執行的相關資訊傳送至 Pub/Sub 主題。Pub/Sub 通知是由下列狀態的已完成移轉作業觸發:
SUCCEEDEDFAILEDCANCELLED
只要是您有足夠權限的專案,您就能將通知傳送至其中的任何 Pub/Sub 主題。Pub/Sub 主題收到通知後,即可將結果訊息傳送給主題訂閱者 (數量不限)。
事前準備
設定 Pub/Sub 移轉作業執行通知前,請先完成下列事項:
為要接收通知的專案啟用 Pub/Sub API。
針對要接收通知的專案取得足夠的權限:
如果您擁有要接收通知的專案,表示您非常有可能已經具備必要權限。
如果您打算建立主題來接收通知,則應具備
pubsub.topics.create權限。無論您打算使用新的或現有的主題,都應具備
pubsub.topics.getIamPolicy和pubsub.topics.setIamPolicy權限。如果您建立主題,通常已具備該主題的權限。下列預先定義的 IAM 角色同時具備pubsub.topics.getIamPolicy和pubsub.topics.setIamPolicy權限:pubsub.admin。詳情請參閱「Pub/Sub 存取控管」。
具備現有的 Pub/Sub 主題,可接收通知。
通知格式
傳送至 Pub/Sub 主題的通知包含兩個部分:
- 屬性:用於說明事件的鍵/值組合。
- 酬載:含變更物件的中繼資料的字串。
屬性
屬性是鍵/值組合,包含在 BigQuery 資料移轉服務傳送至 Pub/Sub 主題的所有通知中。無論通知酬載為何,通知都會包含以下鍵值組合:
| 屬性名稱 | 範例 | 說明 |
|---|---|---|
| eventType | TRANSFER_RUN_FINISHED |
最新發生事件的類型,值一定是 TRANSFER_RUN_FINISHED。 |
| payloadFormat | JSON_API_V1 |
物件酬載的格式,值一定是 JSON_API_V1。 |
酬載
酬載是含移轉執行的中繼資料的字串。目前無法變更酬載類型,我們會因應日後的 API 版本變更配合提供相關功能。
| 酬載類型 | 說明 |
|---|---|
| JSON_API_V1 | 酬載會是 UTF-8 JSON 序列化字串,其中包含 TransferRun 的資源表示法。 |
電子郵件通知
如果移轉作業失敗,系統會傳送人類可讀的電子郵件通知。這些訊息會傳送至轉移管理員 (即設定轉移作業的帳戶) 的電子郵件地址。您無法設定訊息內容,也無法設定訊息收件者。
如果您使用服務帳戶驗證移轉設定,可能無法存取電子郵件,接收移轉作業通知電子郵件。在這種情況下,建議您設定 Pub/Sub 通知,以便接收移轉作業執行通知。
如要將移轉作業執行電子郵件通知傳送給更多使用者,請設定電子郵件轉送規則來發布訊息。如果您使用 Gmail,則可自動將 Gmail 郵件轉寄到其他帳戶。
電子郵件通知是由 BigQuery 資料移轉服務傳送,內含移轉設定和移轉作業的詳細資料,以及失敗作業的執行記錄連結。例如:
From: bigquery-data-transfer-service-noreply@google.com To: TRANSFER_ADMIN Title: BigQuery Data Transfer Service — Transfer Run Failure — DISPLAY_NAME Transfer Configuration Display Name: DISPLAY_NAME Source: DATA_SOURCE Destination: PROJECT_ID Run Summary Run: RUN_NAME Schedule Time: SCHEDULE_TIME Run Time: RUN_TIME View Run History Google LLC 1600 Amphitheatre Parkway, Mountain View, CA 94043 This email was sent because you indicated you are willing to receive Run Notifications from the BigQuery Data Transfer Service. If you do not wish to receive such emails in the future, click View Transfer Configuration and un-check the "Send E-mail Notifications" option.
開啟或編輯通知
如要開啟通知或編輯現有通知,請選擇下列其中一項:
控制台
前往 Google Cloud 控制台的「BigQuery」頁面。
點選導覽選單中的「資料移轉」。
如要為新的移轉作業啟用通知,請按一下 「Create transfer」(建立移轉作業)。如要調整現有移轉作業的通知,請按一下移轉作業名稱,然後按一下「Edit」(編輯)。
在「Notification options」(通知選項) 部分,按一下要啟用的通知類型旁的切換鈕。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱 BigQuery Java API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Python 設定操作說明進行操作。詳情請參閱 BigQuery Python API 參考文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行通知定價
如果設定 Pub/Sub 執行通知,則會產生 Pub/Sub 費用。詳情請參閱 Pub/Sub 定價頁面。
後續步驟
- 進一步瞭解 Pub/Sub。
- 進一步瞭解如何建立 Pub/Sub 主題。
- 進一步瞭解 BigQuery 資料移轉服務。