將 ServiceNow 資料載入 BigQuery

您可以使用 ServiceNow 的 BigQuery 資料移轉服務連接器,將資料從 ServiceNow 載入 BigQuery。您可以使用 BigQuery 資料移轉服務,安排週期性移轉工作,將 ServiceNow 的最新資料新增至 BigQuery。

限制

ServiceNow 資料移轉作業會受到下列限制:

  • 不建議在同一個 ServiceNow 執行個體上同時執行資料移轉作業。
  • 週期性資料移轉作業之間的最短間隔時間為 15 分鐘。重複轉帳的預設間隔為 24 小時。
  • 單一移轉設定在特定時間只能支援一次資料移轉作業。如果排定在第一次資料轉移完成前執行第二次資料轉移,則系統只會完成第一次資料轉移,並略過與第一次轉移重疊的任何其他資料轉移。
    • 為避免在單一轉移設定中略過轉移作業,建議您設定「重複頻率」,增加大型資料轉移作業之間的時間間隔。

事前準備

建立 ServiceNow 資料移轉作業前,請先為 ServiceNow 和 BigQuery 進行下列設定。

ServiceNow 先決條件

BigQuery 必要條件

須具備的 BigQuery 角色

如要取得建立移轉作業所需的權限,請要求管理員授予您 BigQuery 管理員 (roles/bigquery.admin) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備建立轉移作業所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要建立移轉作業,必須具備下列權限:

  • bigquery.transfers.update 使用者
  • bigquery.datasets.get 目標資料集
  • bigquery.datasets.update 目標資料集

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

設定 ServiceNow 資料移轉作業

如要將 ServiceNow 資料新增至 BigQuery,請使用下列任一方法設定移轉設定:

主控台

  1. 前往 Google Cloud 控制台的「資料移轉」頁面。

    前往「資料移轉」

  2. 按一下 「建立移轉作業」

  3. 在「Source type」(來源類型) 部分,「Source」(來源) 請選取「ServiceNow」

  4. 在「Data source details」(資料來源詳細資料) 部分執行下列操作:

    • 在「Instance ID」(執行個體 ID) 輸入 ServiceNow 執行個體 ID。您可以從 ServiceNow 網址取得這組 ID,例如 https://INSTANCE_ID.service-now.com
    • 在「Username」(使用者名稱) 輸入要用於連線的 ServiceNow 使用者名稱。
    • 在「Password」(密碼) 輸入 ServiceNow 密碼。
    • 在「Client ID」(用戶端 ID) 輸入 OAuth 憑證中的用戶端 ID。如要產生憑證,請參閱建立 OAuth 憑證的相關說明。
    • 在「Client secret」(用戶端密鑰) 輸入 OAuth 憑證中的用戶端密鑰。
    • 在「ServiceNow tables to transfer」(要移轉的 ServiceNow 資料表),輸入要移轉的 ServiceNow 資料表名稱,或是點選「Browse」(瀏覽) 並選取要移轉的資料表。
    • 在「Value type」(值類型) 選取下列其中一個選項:
      • 如要移轉資料庫中儲存的資料值,請選取「Actual」(實際)
      • 如要移轉資料欄的顯示值,請選取「Display」(顯示)
  5. 在「Destination settings」(目的地設定) 部分,「Dataset」(資料集) 請選取您為了儲存資料而建立的資料集。

  6. 在「Transfer config name」(轉移設定名稱) 部分,「Display name」(顯示名稱) 請輸入資料移轉作業名稱。

  7. 在「Schedule options」(排程選項) 部分執行下列操作:

    • 在「Repeat frequency」(重複頻率) 清單選取選項,指定這項資料移轉作業的執行頻率。如要指定自訂重複頻率,請選取「Custom」(自訂)。如果選取「On-demand」(隨選),這項資料移轉作業會在您手動觸發後執行。
    • 視情況選取「Start now」(立即開始) 或「Start at set time」(在所設時間開始執行),並提供開始日期和執行時間。
  8. 選用:在「Notification options」(通知選項) 專區,執行下列操作:

    • 如要啟用電子郵件通知,請點選「Email notification」(電子郵件通知) 切換按鈕。啟用這個選項之後,若移轉失敗,移轉作業管理員就會收到電子郵件通知。
    • 如要針對這項資料移轉作業啟用 Pub/Sub 移轉作業執行通知,請點選「Pub/Sub notifications」(Pub/Sub 通知) 切換按鈕。您可以選取主題名稱,也可以點選「Create a topic」(建立主題) 來建立主題。
  9. 按一下「儲存」

bq

輸入 bq mk 指令,並加上移轉建立標記 --transfer_config

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

更改下列內容:

  • PROJECT_ID (選用):您的 Google Cloud 專案 ID。 如未指定專案 ID,系統會使用預設專案。
  • DATA_SOURCE:資料來源 (例如 servicenow)。
  • DISPLAY_NAME:移轉設定的顯示名稱。資料移轉作業名稱可以是任意值,日後需要修改移轉作業時,能夠據此識別即可。
  • DATASET:移轉設定的目標資料集。
  • PARAMETERS:已建立移轉設定的 JSON 格式參數。例如:--params='{"param":"param_value"}'。以下是 ServiceNow 資料移轉的參數:

    ServiceNow 參數 必要或選填 說明
    connector.instanceId 必填 ServiceNow 執行個體的執行個體 ID
    connector.authentication.username 必填 憑證的使用者名稱
    connector.authentication.password 必填 憑證密碼
    connector.authentication.oauth.clientId 必填 產生的 OAuth 用戶端 ID
    connector.authentication.oauth.clientSecret 必填 產生的 OAuth 用戶端密鑰
    connector.valueType 選用 ActualDisplay (預設:Actual)

    舉例來說,下列指令會在預設專案中建立 ServiceNow 資料移轉作業,並提供所有必要參數:

      bq mk
        --transfer_config
        --target_dataset=mydataset
        --data_source=servicenow
        --display_name='My Transfer'
        --params='{"connector.authentication.oauth.clientId": "1234567890",
            "connector.authentication.oauth.clientSecret":"ABC12345",
            "connector.authentication.username":"user1",
            "connector.authentication.password":"abcdef1234",
            "connector.instanceId":"https://dev-instance.service-now.com"}'
    

API

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

儲存移轉設定後,ServiceNow 連接器會根據排程選項自動觸發移轉作業。每次執行移轉作業時,ServiceNow 連接器都會將 ServiceNow 中的所有可用資料移轉至 BigQuery。

如要在正常時間表以外手動執行資料轉移作業,可以啟動回填作業

資料類型對應

下表說明 ServiceNow 資料轉移作業中的資料類型對應方式:

ServiceNow 資料類型 BigQuery 資料類型
decimal FLOAT64
integer INTEGER
boolean BOOLEAN
glide_date DATE
glide_date_time DATETIME
glide_time INT64
reference
currency
sys_class_name
domain_id
domain_path
GUID
translated_html
journal
string
STRING

排解轉移程序的相關問題

詳情請參閱「排解移轉設定問題」。

啟用 ServiceNow 導致轉移失敗

如果未在 ServiceNow 中啟用「採購」、「產品目錄」或「合約管理」應用程式,就會發生問題,導致資料移轉失敗。如要修正這個問題,請啟用這三個應用程式。例如,啟用「採購」

轉移作業執行期間發生問題

發生問題,導致系統無法如預期建立移轉作業。如要解決這個問題,請按照下列步驟操作:

  • 確認 ServiceNow 帳戶憑證 (例如「使用者名稱」、「密碼」、「用戶端 ID」和「用戶端密鑰」值) 有效。
  • 確認執行個體 ID 是 ServiceNow 執行個體的有效 ID。

定價

這項功能在預覽期間,將 ServiceNow 資料移轉至 BigQuery 不會產生費用。

後續步驟