將 Stripe 資料載入 BigQuery
您可以使用 BigQuery 資料移轉服務的 Stripe 連接器,將資料從 Stripe 載入至 BigQuery。使用 Stripe 連接器,即可安排週期性移轉工作,將 Stripe 的最新資料新增至 BigQuery。
限制
Stripe 資料轉移作業有以下限制:
- Stripe 資料移轉會根據 Stripe 的最小單位載入幣別。詳情請參閱「API 金額中的最小單位」。
- Stripe 連接器只會轉移每個 Stripe 帳戶預先產生的報表。Stripe 連接器不會根據新的 Stripe 資料產生新報表。
- 如要轉移最新報表,請先在 Stripe 資訊主頁中手動產生報表,再開始轉移 Stripe 資料。
- 詳情請參閱「Stripe 報表」。
- Stripe 連接器不支援以 Webhook 為基礎的事件、即時更新或 Stripe Sigma。
- 從預先發布的 Stripe 區域移轉 Stripe 資料時,可能會遇到資料移轉問題:
- 在 Stripe 預覽區域,篩選選項會受到限制或無法使用。
- Stripe 預先發布區域不支援有條件的資料轉移和查詢。
- 從 Stripe 預覽地區轉移資料時,資料轉移作業可能需要較長時間。
- Stripe 連接器支援使用
StartDate
篩選器篩選部分物件。StartDate
篩選條件的必要格式為YYYY-MM-DD
。如未提供開始日期,連接器會預設為目前日期的三年前。如果提供的日期早於 2011 年 1 月 1 日,連接器會自動使用 2011 年 1 月 1 日。- 如需支援的物件清單,請參閱「支援
StartDate
篩選器的物件」。
- 單一移轉設定在特定時間只能支援一次資料移轉作業。如果排定在第一次資料轉移完成前執行第二次資料轉移,則系統只會完成第一次資料轉移,並略過與第一次轉移重疊的任何其他資料轉移。
- 為避免在單一轉移設定中略過轉移作業,建議您設定「重複頻率」,增加大型資料轉移作業之間的時間間隔。
事前準備
下列各節說明建立 Stripe 資料轉移作業前必須採取的步驟。
Stripe 必備條件
- 您必須擁有 Stripe 開發人員帳戶,才能授權轉移 Stripe 資料。如要註冊 Stripe 帳戶,請參閱「Stripe 註冊」。
- 請按照下列步驟設定 Stripe 平台應用程式:
- 前往 Stripe 資訊主頁的「開發人員」部分。
- 在「連結」下方,設定平台以支援「標準」和「快速」帳戶。
- 如要建立 Stripe 資料轉移作業,請提供下列資訊:
- 如要從連結帳戶轉移資料,請確認平台已設定 Stripe Connect,並具備必要的帳戶功能存取權。如要進一步瞭解 Stripe Connect,請參閱「Platforms and marketplaces with Stripe Connect」。
- 如要進一步瞭解連結的帳戶,請參閱「連結帳戶類型」。
須具備的 BigQuery 角色
如要取得建立移轉作業所需的權限,請要求管理員授予您專案的 BigQuery 管理員 (roles/bigquery.admin
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色具備建立轉移作業所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立移轉作業,必須具備下列權限:
-
bigquery.transfers.update
使用者 -
bigquery.datasets.get
目標資料集 -
bigquery.datasets.update
目標資料集
BigQuery 必要條件
- 確認您已完成啟用 BigQuery 資料移轉服務的一切必要動作。
- 請建立 BigQuery 資料集來儲存您的資料。
- 如要為 Pub/Sub 設定移轉作業執行通知,請確認您擁有
pubsub.topics.setIamPolicy
身分與存取權管理 (IAM) 權限。如果您只想設定電子郵件通知,則不需要擁有 Pub/Sub 權限。詳情請參閱 BigQuery 資料移轉服務執行通知一文。
Stripe 帳戶類型
Stripe 連接器支援 Stripe 平台帳戶和 Stripe 已連結帳戶。詳情請參閱「連結帳戶類型」。
連結平台帳戶
如要只從一個平台帳戶執行 Stripe 資料轉移作業,請在設定轉移設定時,按照下列步驟操作:
- 在「帳戶 ID」欄位中,輸入平台帳戶的平台帳戶 ID。
- 在「Secret/API Key」(密鑰/API 金鑰) 欄位中,輸入平台帳戶的密鑰或受限金鑰。
- 在「SyncAllConnectedAccounts」部分,選取「False」。
如要為多個帳戶 (例如與已連結帳戶連結的平台帳戶) 執行 Stripe 資料移轉,請在設定移轉設定時執行下列操作:
- 在「帳戶 ID」欄位中,輸入平台帳戶的平台帳戶 ID。
- 在「Secret/API Key」(密鑰/API 金鑰) 欄位中,輸入平台帳戶的密鑰或受限金鑰。
- 針對 SyncAllConnectedAccounts,選取「True」。
連結至已連結帳戶
連結帳戶是指透過 Stripe Connect 連結至 Stripe 的 Stripe 帳戶。
如要從已連結的帳戶執行 Stripe 資料轉移,請在設定轉移設定時,按照下列步驟操作:
- 在「帳戶 ID」欄位中,輸入已連結帳戶的平台帳戶 ID。
- 在「Secret/API Key」(密鑰/API 金鑰) 欄位中,輸入連結帳戶所連線平台帳戶的密鑰或受限金鑰。
- 在「SyncAllConnectedAccounts」部分,選取「False」。
設定 Stripe 資料移轉
如要將 Stripe 資料新增至 BigQuery,請使用下列任一方法設定移轉作業:
主控台
前往 Google Cloud 控制台的「資料移轉」頁面。
按一下
「建立轉移作業」。在「Source type」(來源類型) 部分,「Source」(來源) 請選取「Stripe」。
在「Data source details」(資料來源詳細資料) 部分執行下列操作:
- 在「Platform/Connected Account ID」(平台/已連結帳戶 ID) 專區中輸入 Stripe 帳戶 ID。詳情請參閱「Stripe 先決條件」。
- 在「Stripe Secret Key」(Stripe 私密金鑰) 部分,輸入 Stripe 帳戶的 API 金鑰。詳情請參閱「Stripe 先決條件」。
- 在「開始日期」中,以
YYYY-MM-DD
格式輸入日期。資料轉移作業會從這個日期開始載入 Stripe 資料。 - 選取「同步處理所有連結的帳戶」,即可同步處理所有連結的帳戶。
- 在「Stripe objects to transfer」(要移轉的 Stripe 物件),輸入要移轉的 Stripe 物件名稱,或是點選「Browse」(瀏覽) 並選取要移轉的物件。
在「Destination settings」(目的地設定) 部分,「Dataset」(資料集) 請選取您為了儲存資料而建立的資料集。
在「Transfer config name」(轉移設定名稱) 部分,「Display name」(顯示名稱) 請輸入資料移轉作業的名稱。
在「Schedule options」(排程選項) 部分執行下列操作:
- 在「Repeat frequency」(重複頻率) 清單選取選項,指定這項資料移轉作業的執行頻率。如要指定自訂重複頻率,請選取「Custom」(自訂)。如果選取「On-demand」(隨選),這項移轉作業會在您手動觸發後執行。
- 視情況選取「Start now」(立即開始) 或「Start at set time」(在所設時間開始執行),並提供開始日期和執行時間。
選用:在「Notification options」(通知選項) 專區,執行下列操作:
- 如要啟用電子郵件通知,請點選「Email notification」(電子郵件通知) 切換按鈕。啟用這個選項之後,若移轉失敗,移轉作業管理員就會收到電子郵件通知。
- 如要針對這項移轉作業啟用 Pub/Sub 移轉作業執行通知,請點選「Pub/Sub notifications」(Pub/Sub 通知) 切換按鈕。您可以選取主題名稱,或點選「Create a topic」(建立主題) 來建立主題。
按一下 [儲存]。
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:資料來源 -
stripe
。 - DISPLAY_NAME:資料移轉設定的顯示名稱。移轉作業名稱可以是任意值,日後需要修改移轉作業時,能夠據此識別即可。
- DATASET:移轉設定的目標資料集。
PARAMETERS:已建立移轉設定的 JSON 格式參數。例如:
--params='{"param":"param_value"}'
。以下是 Stripe 資料移轉的參數:assets
:要納入這筆轉帳的 Stripe 物件清單。connector.accountId
:Stripe 帳戶 ID。connector.secretKey
:Stripe 帳戶的 API 金鑰。connector.syncAllConnectedAccounts
:指定true
即可同步處理所有已連結的帳戶。connector.startDate
:以YYYY-MM-DD
格式輸入日期。資料轉移作業會從這個日期開始載入 Stripe 資料。
舉例來說,下列指令會在預設專案中建立 Stripe 資料移轉作業,並提供所有必要參數:
bq mk \ --transfer_config \ --target_dataset=mydataset \ --data_source=stripe \ --display_name='My Transfer' \ --params= ' { "assets" : [ "Customers" , "Accounts", "BalanceSummaryReport"] , "connector.accountId" : "acct_000000000000", "connector.secretKey" : "sk_test_000000000", "connector.syncAllConnectedAccounts" : "true", "connector.startDate": "2025-05-20" }'
API
請使用 projects.locations.transferConfigs.create
方法,並提供 TransferConfig
資源的執行個體。
如要在正常時間表以外手動執行資料轉移作業,可以啟動回填作業。
資料類型對應
下表列出 Stripe 資料類型與對應 BigQuery 資料類型的對應關係。
Stripe 資料類型 | BigQuery 資料類型 | 附註 |
---|---|---|
String |
STRING |
|
Dictionary |
STRING |
巢狀物件載入 BigQuery 時,會轉換為扁平化物件。這個扁平化物件隨後會儲存為資料表中的單一常值字串。 |
Integer |
INT64 |
|
Double |
DOUBLE |
|
Float |
FLOAT |
|
Decimal |
BIGNUMERIC |
|
BigInt (long) |
BIGNUMERIC |
|
Boolean |
BOOL |
|
Datetime |
TIMESTAMP |
|
Unix timestamp |
TIMESTAMP |
支援 StartDate
篩選器的物件
下列 Stripe 物件支援 StartDate
篩選器,可讓您載入以時間為準的資料:
- 帳戶
- ApplicationFees
- BalanceTransactions
- 持卡人
- 收費金額
- 優待券
- 客戶
- 爭議
- EarlyFraudWarnings
- 活動
- FileLinks
- 檔案
- InvoiceItems
- 應付憑據
- IssuingCards
- IssuingDisputes
- PaymentIntent
- 款項撥付
- 方案
- 價格
- 產品
- PromotionCodes
- 退款
- 評論
- ShippingRates
- 訂閱
- TaxRates
- TopUps
- 移轉
- ValueListItems
- ValueLists
排解轉移設定問題
如果無法順利設定資料移轉作業,請參閱「Stripe 移轉問題」。
定價
這項功能處於預覽階段時,將 Stripe 資料移轉至 BigQuery 不會產生費用。
後續步驟
- 如需 BigQuery 資料移轉服務的總覽,請參閱「BigQuery 資料移轉服務簡介」。
- 如要瞭解如何使用移轉作業,包括取得移轉設定、列出移轉設定以及查看移轉設定的執行記錄,請參閱使用移轉功能一文。
- 瞭解如何透過跨雲端作業載入資料。