將 PayPal 資料載入 BigQuery

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

PayPal 連接器支援正式環境和沙箱 PayPal 帳戶。

支援的物件

PayPal 物件類型 BigQuery 支援的物件 日期篩選器支援 轉移限制
交易 TransactionReports 支援 過去 3 年
TransactionReportsCartInfoItemDetails 支援
TransactionReportsIncentiveDetails 支援
爭議 爭議 支援 最近 6 個月
DisputeDetails 支援
DisputeTransactions 支援
付款 付款 支援 無
PaymentTransactions 支援
餘額 餘額 不支援 無
產品 產品 不支援 2,000,000 筆記錄
ProductDetails 不支援
帳單 帳單 支援 100,000 筆記錄

限制

PayPal 資料移轉作業有下列限制:

  • PayPal 交易可能需要幾小時,才會顯示在 PayPal API 中。
    • 建議您將後續資料移轉作業排定在較長的時間間隔 (每小時不超過一次),以免遺失資料。
  • PayPal 連接器僅支援過去 3 年的交易資料。
  • PayPal 連接器僅支援過去 6 個月的爭議資料。
  • PayPal 連接器最多只能移轉 100,000 筆應付憑據資料記錄。如果 PayPal 的應付憑據數量超過這個上限,轉移作業就會失敗。
  • PayPal 連接器最多只能移轉 2,000,000 筆目錄產品資料記錄。如果 PayPal 中的產品數量超過這項限制,轉移作業就會失敗。
  • PayPal API 會針對每個資料物件使用不同的頁面大小限制。PayPal 連接器會使用 PayPal 允許的資料移轉頁面大小上限。
    • 不過,某些物件 (例如 Payments 或 Payment Transactions) 的頁面大小限制較小。這可能會導致資料移轉速度變慢,尤其是在處理大型資料集時。
  • 如果網路連結是在與 Google Cloud 資料移轉專案不同的 Google Cloud 專案中建立,您必須將 compute.networkAttachments.get 和 compute.networkAttachments.update 權限授予 Google Cloud 資料移轉專案的服務代理。

事前準備

以下各節說明建立 PayPal 資料移轉作業前,必須採取的步驟。

PayPal 必要條件

如要啟用 PayPal 資料移轉作業,您必須具備下列條件:

  • 你必須擁有 PayPal 開發人員帳戶。詳情請參閱 PayPal Developer Program。
  • 建立 PayPal REST API 應用程式。詳情請參閱「開始使用 PayPal REST API」。
    • 在「Apps & Credentials」(應用程式和憑證) 部分,記下應用程式的用戶端 ID 和密鑰。
    • 在「Features」(功能) 部分,啟用「Transaction search」(交易搜尋) 和「Invoicing」(開立應付憑據) API 權限。

必要的 BigQuery 角色

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

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

所需權限

您必須具備下列權限,才能建立移轉作業:

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

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

BigQuery 事前準備

設定 PayPal 資料移轉作業

如要將 PayPal 資料新增至 BigQuery,請使用下列任一選項設定移轉設定:

控制台

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

    前往「資料移轉」

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

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

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

    • 在「Client Id」(用戶端 ID) 中,輸入 PayPal 用戶端 ID。詳情請參閱「PayPal 必要條件」。
    • 在「Client Secret」(用戶端密鑰) 部分,輸入 PayPal 用戶端密鑰。詳情請參閱「PayPal 必要條件」。
    • 如果您使用的是沙箱 PayPal 帳戶,請選取「Is Sandbox」。
    • 在「Start Date」(開始日期) 中,以 YYYY-MM-DD 格式輸入日期。資料移轉作業會從這個日期開始載入 PayPal 資料。
      • 如果這個欄位留空,這項移轉作業預設會擷取過去 3 年的資料。
      • 如要瞭解哪些物件支援開始日期篩選器,請參閱「支援的物件」。
    • 在「PayPal objects to transfer」(要移轉的 PayPal 物件),輸入要移轉的 PayPal 物件名稱,或是點選「Browse」(瀏覽) 並選取要移轉的物件。
  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。如未提供 --project_id 來指定特定專案,系統會使用預設專案。
  • DATA_SOURCE:資料來源 - paypal。
  • DISPLAY_NAME:資料移轉設定的顯示名稱。移轉作業名稱可以是任意值,日後需要修改移轉作業時,能夠據此識別即可。
  • DATASET:移轉設定的目標資料集。
  • PARAMETERS:JSON 格式的已建立移轉設定參數。例如:--params='{"param":"param_value"}'。以下是 PayPal 資料移轉的參數:

    • assets:要納入這項移轉作業的 PayPal 物件清單。
    • connector.authentication.clientId:PayPal 應用程式的用戶端 ID。
    • connector.authentication.clientSecret:PayPal 應用程式的用戶端密鑰。
    • connector.isSandbox:如果您使用沙箱 PayPal 帳戶,請將值設為 true;如果您使用正式版 PayPal 帳戶,請將值設為 false。
    • connector.createdStartDate:(選用) 輸入日期,格式為 YYYY-MM-DD。資料移轉作業會從這個日期開始載入 PayPal 資料。

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

  bq mk \
      --transfer_config \
      --target_dataset=mydataset \
      --data_source=PayPal \
      --display_name='My Transfer' \
      --params='{"assets":  ["Payments", "TransactionReports"],
          "connector.authentication.clientId": "112233445566",
          "connector.authentication.clientSecret":"123456789",
          "connector.isSandbox":"false",
          "connector.createdStartDate":  "2025-01-01"}'

使用 bq 指令列工具建立資料移轉作業時,移轉設定會每 8 小時排定一次資料移轉作業。

API

請使用 projects.locations.transferConfigs.create 方法,並提供 TransferConfig 資源的例項。

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

如要在排程時間以外手動執行資料移轉作業,可以啟動補充執行作業。

資料類型對應

下表列出 PayPal 資料類型與對應 BigQuery 資料類型的對應關係。

PayPal 資料類型 BigQuery 資料類型
String STRING
Decimal BIGNUMERIC
Boolean BOOL
Datetime TIMESTAMP

排解轉移設定問題

如果無法順利設定資料移轉作業,請參閱「PayPal 移轉問題」一文。

定價

這項功能目前為預先發布版,將 PayPal 資料移轉至 BigQuery 不會產生費用。

後續步驟