排解轉移設定問題
本文旨在協助您排解設定 BigQuery 資料移轉服務移轉作業時最常發生的問題。但不會列出所有可能出現的錯誤訊息或問題。
如果您遇到本文未說明的問題,可以要求支援。
與 Cloud Customer Care 聯絡前,請先擷取移轉設定和移轉執行詳細資料。如要瞭解如何取得這些詳細資料,請參閱「取得移轉詳細資料」和「查看移轉執行作業的詳細資料與記錄訊息」。
檢查錯誤
如果初始移轉執行作業失敗,您可以檢查執行記錄中的詳細資料。 您可參考執行記錄中列出的錯誤,並根據本文找出適當的解決方法。
您也可以使用 記錄探索工具,查看特定轉移工作的錯誤訊息。 下列記錄檔總管篩選器會傳回特定移轉設定工作的相關資訊,以及任何錯誤訊息:
resource.type="bigquery_dts_config"
labels.run_id="RUN_ID"
resource.labels.config_id="CONFIG_ID"
更改下列內容:
RUN_ID
:特定工作執行的 ID 號碼CONFIG_ID
:移轉設定作業的 ID 號碼
聯絡客戶服務前,請先從執行記錄或記錄探索器擷取相關資訊,包括任何錯誤訊息。
如果您使用以事件為依據的移轉作業,以事件為依據的移轉設定可能無法觸發移轉作業。您可以在執行記錄頁面或設定頁面頂端查看錯誤訊息。
一般問題
診斷一般移轉問題時,請確認下列事項:
- 針對移轉類型適用的說明文件頁面,確認是否已完成其中「事前準備」一節所述的所有步驟。
- 移轉設定屬性是否正確。
- 建立移轉作業所使用的使用者帳戶是否擁有基礎資源的存取權。
如果移轉設定正確,且取得適當權限,請參閱下列常見問題的解決方案。
- 錯誤:
An unexpected issue was encountered. If this issue persists, please contact customer support.
- 解決方法:這個錯誤通常表示 BigQuery 暫時中斷服務或發生問題。請等待約 2 小時以解決問題。如果問題仍未解決,請要求支援。
- 錯誤:
Quota Exceeded.
解決方法:移轉作業必須符合 BigQuery 的載入工作配額規定。如要提高配額,請與 Google Cloud 業務代表聯絡。詳情請參閱「配額與限制」一文。
如果您將 Cloud Billing 匯出資料載入至 BigQuery,可能會遇到
Quota Exceeded
錯誤。Cloud 帳單匯出資料表和 BigQuery 資料移轉服務建立的目的地 BigQuery 資料表都會經過分割。設定這類 BigQuery 資料移轉服務工作時,如果選擇「覆寫」選項,系統會根據匯出的資料量,顯示配額錯誤。如要瞭解如何排解配額問題,請參閱排解配額和限制錯誤。如果錯誤是因 Cloud Billing 匯出作業的 BigQuery 資料移轉服務工作所致,請注意,由於個別 Cloud Billing 匯出資料表已分割,BigQuery 資料移轉服務建立的目標資料表也會分割,因此設定這類資料移轉工作時選擇「覆寫」選項,會導致 (DML) 配額錯誤,具體情況取決於帳單帳戶的建立時間。如要瞭解如何排解配額問題,請參閱「排解配額和限制錯誤」。
- 錯誤:
The caller does not have permission.
解決方法:確認 Google Cloud 控制台中登入的帳戶,與您建立轉移作業時為 BigQuery 資料移轉服務選取的帳戶相同。
Google Cloud 控制台中的登入帳戶:
選擇帳戶,繼續使用 BigQuery 資料移轉服務:
- 錯誤:
Access Denied: ... Permission bigquery.tables.get denied on table ...
解決方法:確認 BigQuery 資料移轉服務服務代理程式已取得目標資料集的
bigquery.dataEditor
角色。建立及更新轉移作業時,系統會自動套用這項授權,但之後可能手動修改存取權政策。如要重新授予權限,請參閱「授予資料集存取權」。- 錯誤:
region violates constraint constraints/gcp.resourceLocations on the resource projects/project_id
解決方法:如果使用者嘗試在受限位置建立移轉設定,就會發生這個錯誤,如位置限制機構政策所述。如要解決這個問題,請變更機構政策,允許使用該區域,或是將移轉設定變更為位於機構政策未限制區域的目的地資料集。
- 錯誤:
Please look into the errors[] collection for more details.
解決方法:資料移轉失敗時可能會發生這個錯誤。如要進一步瞭解資料轉移失敗的原因,可以使用 Cloud Logging 查看記錄。您可以搜尋特定執行作業的記錄,方法是使用移轉
run_id
搜尋。
授權和權限問題
從不同資料來源轉移資料時,可能會遇到下列常見的權限錯誤:
- 錯誤:
BigQuery Data Transfer Service is not enabled for <project_id>
- 錯誤:
BigQuery Data Transfer Service has not been used in project <project_id> before or it is disabled ...
解決方法: 請按照下列步驟,確認服務代理角色已獲授權:
前往 Google Cloud 控制台的「IAM & Admin」(IAM 與管理) 頁面。
選取「包含 Google提供的角色授予項目」核取方塊。
確認系統顯示名稱為
service-<project_number>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com
的服務帳戶,或該帳戶已獲授與 BigQuery 資料移轉服務代理程式角色。
如果未顯示服務帳戶,或服務帳戶未獲授與 BigQuery 資料移轉服務服務代理人角色,請在 Google Cloud 主控台中授與預先定義的角色,或執行下列 Google Cloud CLI 指令:
gcloud projects add-iam-policy-binding PROJECT_NUMBER \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \ --role roles/bigquerydatatransfer.serviceAgent
將
PROJECT_NUMBER
替換為與這個服務帳戶相關聯的專案編號。- 錯誤:
There was an error loading this table. Check that the table exists and that you have the correct permissions.
解決方法:
前往 Google Cloud 控制台的「BigQuery」頁面。
按一下轉移作業中使用的目的地資料集。
按一下「共用」選單,然後點選「權限」。
展開「BigQuery 資料編輯者」角色。
確認 BigQuery 資料移轉服務服務代理人已新增至這個角色。如果沒有,請將 BigQuery 資料編輯者 (
roles/bigquery.dataEditor
) 角色授予 BigQuery 資料移轉服務服務代理人。
- 錯誤:
A permission denied error was encountered: PERMISSION_DENIED. Please ensure that the user account setting up the transfer config has the necessary permissions, and that the configuration settings are correct
解決方法:
前往 Google Cloud 控制台的「資料移轉」頁面。
按一下失敗的轉移作業,然後選取「設定」分頁標籤。
確認「使用者」欄位中列出的轉移擁有者具備資料來源的所有必要權限。
如果移轉擁有者沒有所有必要權限,請更新憑證,授予必要權限。您也可以將轉移擁有者變更為其他具備必要權限的使用者。
- 錯誤:
Authentication failure: User Id not found. Error code: INVALID_USERID
解決方法:轉移擁有者具有無效的使用者 ID。如要將轉移作業擁有者變更為其他使用者,請更新憑證。 如果您使用服務帳戶,也請確認執行資料移轉作業的帳戶具備使用服務帳戶的所有必要權限。
- 錯誤:
The user does not have permission
解決方法:確認轉移擁有者是服務帳戶,且服務已設定所有必要權限。另一種可能性是,使用的服務帳戶是在與建立這項轉移作業的專案不同的專案下建立。如要解決跨專案權限問題,請參閱下列資源:
- 啟用服務帳戶,以便跨專案附加
- 跨專案服務帳戶授權 (用於授予必要權限)
- 錯誤:
HttpError 403 when requesting returned "The caller does not have permission"
googleapiclient.errors.HttpError: <HttpError 403 when requesting returned "The caller does not have permission". Details: "The caller does not have permission">
如果您嘗試使用服務帳戶設定排程查詢,可能會看到這則錯誤訊息。
解決方法:確認服務帳戶具備排程或修改排程查詢所需的全部權限,並確認設定排程查詢的使用者有權存取服務帳戶。
如果已指派所有正確權限,但仍發生錯誤,請檢查專案是否預設強制執行「停用跨專案服務帳戶」政策。如要查看政策,請前往 Google Cloud 控制台,依序選取「IAM 與管理」>「機構政策」,然後搜尋政策。
如果系統強制執行「停用跨專案服務帳戶」政策,請按照下列步驟停用該政策:
- 使用 Google Cloud 控制台找出與專案相關聯的服務帳戶,方法是依序前往「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。這個檢視畫面會顯示目前專案的所有服務帳戶。
- 使用下列指令,在服務帳戶所在的專案中停用政策。如要停用這項政策,使用者必須是機構政策管理員。只有機構管理員可以授予使用者這個角色。
gcloud resource-manager org-policies disable-enforce iam.disableCrossProjectServiceAccountUsage --project=[PROJECT-ID]
事件導向移轉設定問題
以下是建立事件驅動型移轉作業時可能遇到的常見問題。
- 錯誤:
Data Transfer Service is not authorized to pull message from the provided Pub/Sub subscription.
解決方法:確認 BigQuery 資料移轉服務服務代理已獲授
pubsub.subscriber
角色:前往 Google Cloud 控制台的「Pub/Sub」頁面。
選取以事件為依據的移轉作業中使用的 Pub/Sub 訂閱項目。
如果資訊面板已隱藏,請按一下右上角的「顯示資訊面板」。
在「權限」分頁中,確認 BigQuery 資料移轉服務服務代理程式具有
pubsub.subscriber
角色。
如果服務代理未獲授
pubsub.subscriber
角色,按一下「新增主體」 ,將pubsub.subscriber
角色授予service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com
- 錯誤:
Cloud Pub/Sub API has not been used in project PROJECT_NUMBER before or it is disabled.
解決方法:確認專案已啟用 Cloud Pub/Sub API:
在 Google Cloud 控制台中,前往「APIs & Services」(API 和服務) 頁面。
按一下「啟用 API 和服務」。
搜尋「
Cloud Pub/Sub API
」,選取第一個結果,然後按一下「啟用」。
- 錯誤:
Data Transfer Service does not have required permission to use project quota of project PROJECT_NUMBER to access Pub/Sub.
解決方法:確認 BigQuery 資料移轉服務服務代理已獲授
serviceusage.serviceUsageConsumer
角色:前往 Google Cloud 控制台的「IAM & Admin」(IAM 與管理) 頁面。
選取「包含 Google提供的角色授予項目」核取方塊。
確認系統顯示名稱為
service-<project_number>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com
的服務帳戶,且該帳戶已獲授服務用量消費者角色。
- 問題:使用 Cloud Storage 事件驅動的移轉作業時,在 Cloud Storage bucket 中上傳或更新檔案後,系統不會觸發任何移轉作業。
收到事件後,系統不會立即觸發轉移作業。觸發轉移作業可能需要幾分鐘的時間。如要查看下次轉移作業的狀態,請查看執行記錄中的「下次執行日期」欄位。這個欄位會顯示下次執行的排定時間,如果沒有收到任何事件,則會顯示「正在等待事件,以便排定下一項執行作業」。如果你已在 Cloud Storage bucket 中上傳或更新檔案,但「下次執行的目標日期」未更新,且系統在 10 到 20 分鐘內未觸發任何執行作業,請參閱下列解決方法。
解決方法:確認移轉設定中指定的 Pub/Sub 訂閱項目可接收從 Cloud Storage 事件發布的訊息:
前往 Google Cloud 控制台的「Pub/Sub」頁面。
選取以事件為依據的移轉作業中使用的 Pub/Sub 訂閱項目。
在「指標」分頁中,查看「最舊的未確認訊息存在時間」圖表,確認是否有任何訊息。
如果沒有發布任何訊息,請檢查 Cloud Storage 的 Pub/Sub 通知是否設定正確。您可以使用下列 Google Cloud CLI 指令,檢查與值區相關聯的通知設定:
gcloud storage buckets notifications list gs://BUCKET_NAME
將
BUCKET_NAME
替換為您用於通知的值區名稱。如要瞭解如何設定 Cloud Storage 的 Pub/Sub 通知,請參閱「設定 Cloud Storage 的 Pub/Sub 通知」。如有訊息,請檢查其他事件驅動的轉移設定是否使用相同的 Pub/Sub 訂閱項目。多個事件驅動的轉移設定無法重複使用同一個 Pub/Sub 訂閱項目。如要進一步瞭解事件導向移轉作業,請參閱「事件導向移轉作業」。
Amazon S3 移轉問題
以下是建立 Amazon S3 移轉作業時的常見錯誤。
Amazon S3 PERMISSION_DENIED
錯誤
- 錯誤:
The AWS Access Key Id you provided does not exist in our records.
- 解決方法:確認存取金鑰存在且 ID 正確無誤。
- 錯誤:
The request signature we calculated does not match the signature you provided. Check your key and signing method.
- 解決方法:確認移轉設定是否具有正確的對應私密存取金鑰
- 錯誤:
Failed to obtain the location of the source S3 bucket. Additional details: Access Denied
- 錯誤:
Failed to obtain the location of the source S3 bucket. Additional details: HTTP/1.1 403 Forbidden
- 錯誤:
Access Denied
(S3 錯誤訊息) - 解決方法:確認 AWS IAM 使用者有權執行下列操作:
- 列出 Amazon S3 值區。
- 取得值區的位置。
- 讀取值區中的物件。
- 錯誤:
Server unable to initialize object upload.; InvalidObjectState: The operation is not valid for the object's storage class
- 錯誤:
Failed to obtain the location of the source S3 bucket. Additional details: All access to this object has been disabled
- 解決方法:將任何封存於 Amazon Glacier 的物件還原。在 Amazon S3 中,封存於 Amazon Glacier 的物件在還原之前都無法存取
- 錯誤:
All access to this object has been disabled
- 解決方法:確認轉移設定中的 Amazon S3 URI 正確無誤
Amazon S3 移轉限制錯誤
- 錯誤:
Number of files in transfer exceeds limit of 10,000.
- 解決方法:評估是否能將 Amazon S3 URI 中的萬用字元數量減少至一個。如果可以,請使用新的轉移設定重試,因為每次轉移作業的檔案數量上限會更高。 您也可以評估是否能將移轉設定拆分成多個移轉設定,分別移轉部分來源資料。
- 錯誤:
Size of files in transfer exceeds limit of 16492674416640 bytes.
- 解決方法:評估是否可將轉移設定拆分成多個轉移設定,每個設定轉移一部分來源資料。
一般 Amazon S3 問題
- 問題:檔案已從 Amazon S3 移轉,但未載入至 BigQuery。
轉移記錄可能如下所示:
Moving data from Amazon S3 to Google Cloud complete: Moved N object(s). No new files found matching Amazon_S3_URI.
解決方法:確認移轉設定中的 Amazon S3 URI 正確無誤。如果移轉設定是要載入所有含有相同前置字串的檔案,請確認 Amazon S3 URI 結尾為萬用字元。舉例來說,如要載入
s3://my-bucket/my-folder/
中的所有檔案,移轉設定中的 Amazon S3 URI 必須是s3://my-bucket/my-folder/*
,而不只是s3://my-bucket/my-folder/
。
Azure Blob 儲存體傳輸問題
以下是建立 Blob Storage 移轉作業時的常見錯誤。
- 錯誤:
Number of files in transfer exceeds the limit of 10,000.
- 解決方法:將 Blob 儲存空間資料路徑中的萬用字元數量減少至 0 或 1,檔案上限就會增加至 10,000,000 個。您也可以分成多個轉移設定,每個設定轉移一部分來源。
- 錯誤:
Size of files in transfer exceeds the limit of 15 TB.
- 解決方法:將來源資料分割成多個部分,並為每個部分建立移轉設定。
- 錯誤:
Provided Azure SAS Token does not have required permissions.
- 解決方法:確認移轉設定中的 Azure SAS 權杖正確無誤。詳情請參閱「共用存取簽章 (SAS)」。
- 錯誤:
Transfer encountered error, status:PERMISSION_DENIED, details:[This request is not authorized to perform this operation.]
- 解決方法:確認 BigQuery 資料移轉服務工作站使用的 IP 範圍已加入允許的 IP 清單。詳情請參閱「IP 限制」一文。
- 問題:檔案已從 Blob 儲存空間轉移,但未載入 BigQuery。
轉移記錄可能類似以下內容:
Moving data to Google Cloud complete: Moved <var>N</var> object(s). No new files found matching Blob Storage data path.
解決方法:確認移轉設定中的 Blob 儲存體資料路徑正確無誤。
Campaign Manager 移轉問題
以下是建立 Campaign Manager 移轉作業時的常見錯誤。
- 錯誤:
Import failed - no data was available for import. Please verify that data existence was expected.
- 錯誤:
No data available for the requested date. Please try an earlier run date or verify that data existence was expected.
解決方法:確認是否使用正確的 ID 來執行移轉作業。如果您使用的 ID 正確無誤,請確認 Campaign Manager Cloud Storage 值區是否含有指定日期範圍內的 Data Transfer 2.0 版檔案。如果檔案存在,請排定受影響日期範圍內的補充作業。如需建立 Campaign Manager 補充作業要求的相關資訊,請參閱手動觸發移轉或補充作業。
您可以查看 Cloud Storage bucket 中檔案的建立時間,確認檔案在排定轉移作業時是否存在。在某些情況下,系統可能會在產生第一批 Campaign Manager 資料移轉檔案之前,排定當天的第一次移轉作業。當天和隔天後續的執行作業會載入 Campaign Manager 產生的所有檔案。
- 錯誤:
A permission denied error was encountered: PERMISSION_DENIED. Please ensure that the user account setting up the transfer config has the necessary permissions, and that the configuration settings are correct.
解決方法:建立 Campaign Manager 移轉作業的使用者,必須能夠讀取內含資料移轉 2.0 版檔案的 Cloud Storage 值區。您可以向 Campaign Manager 管理員索取 Cloud Storage 值區相關資訊,並要求存取權。
Google Ads 移轉問題
以下是建立 Google Ads 移轉作業時的常見錯誤。
- 錯誤:
AUTH_ERROR_TWO_STEP_VERIFICATION_NOT_ENROLLED
- 解決方法:這項錯誤表示用於移轉的 Google Ads 使用者未啟用兩步驟驗證。如要瞭解如何啟用兩步驟驗證,請參閱「開啟兩步驟驗證」一文。
- 錯誤:
No jobs to start for run
- 解決方法:這個錯誤表示由於設定無效或處理期間發生錯誤,系統未啟動轉移作業的載入工作。請按照下列步驟解決這項錯誤:
- 查看移轉執行作業記錄中的錯誤和警告。
- 如果嘗試載入的表格沒有
segments_date
、segments_week
、segments_month
、segments_quarter
或segments_year
欄,且run_date
不是最新日期,系統就會略過載入作業。詳情請參閱「手動觸發 Google Ads 轉移」和「自訂報表」。 - 如果無法找出根本原因,請要求支援。
- 錯誤:
Import failed - no data was available for import. Please verify that data existence was expected.
- 錯誤:
No data available for the requested date. Please try an earlier run date or verify that data existence was expected.
- 解決方法:如果您在建立 Google Ads 移轉作業時收到這個錯誤,請要求支援並提供錯誤訊息的螢幕擷取畫面。
- 錯誤:
AuthenticationError.NOT_ADS_USER.
- 解決方法:設定 Google Ads 移轉作業的使用者必須擁有 Google Ads 帳戶/登入資訊。
- 錯誤:
Request is missing required authentication credential
- 解決方法:使用者或服務帳戶沒有 Ads 帳戶的存取權。按照「必要權限」一節的說明,授予使用者或服務帳戶必要權限。
- 錯誤:
ERROR_GETTING_RESPONSE_FROM_BACKEND.
- 解決方法:如果 Google Ads 移轉作業執行失敗並傳回
ERROR_GETTING_RESPONSE_FROM_BACKEND
,請在移轉設定中啟用「排除已移除/已停用的項目」選項,並設定補充作業,嘗試擷取在移轉作業執行失敗影響期間內的相關資料。 - 警告:
Data for the report ClickStats was not available for the specified date.
- 錯誤:
INVALID_DATE_RANGE_FOR_REPORT.
- 解決方法:如果回填 Click Performance Report 資料的時間超過 90 天,就會發生這種情況。在這種情況下,您會看到這則警告或錯誤訊息,且系統不會更新指定日期的
ClickStats
表格。 - 錯誤:
Error while processing report for table table_name for account id account_id. Http(400) Bad Request;
- 錯誤:
AuthorizationError.TWO_STEP_VERIFICATION_NOT_ENROLLED
- 解決方法:如果與這項轉移作業相關聯的使用者帳戶未啟用兩步驟驗證 (或多重驗證),請為該帳戶啟用兩步驟驗證,然後重新執行失敗的轉移作業。服務帳戶 不需進行兩步驟驗證。
- 錯誤:
Quota exceeded: Your project exceeded quota for imports per project
- 解決方法:移轉作業必須符合 BigQuery 的載入工作配額規定。如果達到載入作業的配額上限,請使用 table_filter 減少不必要的載入作業、刪除未使用的移轉設定,或縮短重新整理時間範圍。如要提高配額,請與 Google Cloud 業務代表聯絡。詳情請參閱「配額與限制」一文。
Google Ad Manager 移轉問題
以下是建立 Google Ad Manager 移轉作業時的常見錯誤。
- 錯誤:
Another transfer run is concurrently processing table.
解決方法:如果目前移轉作業開始時,另一個具有相同移轉設定的移轉作業尚未完成,就可能會發生這項錯誤。
- 如果延遲是由大型 Google Ad Manager 資料移轉 (Google Ad Manager DT) 檔案所致,請考慮啟用Parquet 格式,這種格式的載入效能較佳。
- 如果延遲是由對照表所致,請考慮將參數
load_match_tables
設為false
,略過對照表。 - 如果移轉作業的處理時間一律比目前的重複頻率長,請調整重複頻率。
- 錯誤:
No data available for the requested date. Please try an earlier run date or verify that data existence was expected.
- 錯誤:
Import failed - no data was available for import. Please verify that data existence was expected.
解決方法:確認 Google Ad Manager Cloud Storage 值區含有指定日期範圍內的資料移轉檔案。您的 Google Ad Manager 管理員負責管理含有資料移轉檔案的 Cloud Storage 值區。建立 Google Ad Manager 移轉作業的使用者必須是 Google 網上論壇中擁有值區存取權的成員。
您可以試著讀取 Google Ad Manager 資料移轉值區中的檔案,確認是否具備 Cloud Storage 權限。如要進一步瞭解 Google Ad Manager Cloud Storage 值區,請參閱存取 Google Ad Manager 儲存空間值區。
您可以查看 Cloud Storage bucket 中檔案的建立時間,確認檔案在排定轉移作業時是否存在。在某些情況下,系統可能會在產生第一批 Google Ad Manager 資料移轉檔案之前,排定當天的第一次移轉作業。當天和隔天後續的執行作業會載入 Google Ad Manager 產生的所有檔案。
如果檔案是在資料移轉值區且您有讀取權,請排定受影響日期範圍內的補充作業。如要進一步瞭解如何建立 Google Ad Manager 補充作業要求,請參閱「設定補充作業」。
- 錯誤:
AuthenticationError: NO_NETWORKS_TO_ACCESS.
解決方法:確定您具有 Google Ad Manager 網路的讀取權限。如果您在確認網路存取權時需要協助,請與 Google Ad Manager 支援小組聯絡。
- 錯誤:
Error code 9 : Field field_name?field_name?field_name?RefererURL is unknown.; Table: table_name
解決方法:確定您不是使用小寫的古英語符文字母 (þ) 分隔符號。系統不支援 thorn 分隔符。若使用小寫的古英語符文字母,系統會在錯誤訊息中以 ? 表示。
- 錯誤:
Incompatible table partitioning specification. Destination table exists with partitioning specification interval(type:Day,field:) clustering
解決方法:Google Ads 管理員連結器不支援將資料移轉至具有叢集功能的資料集。請改用沒有叢集功能的資料集。
Google Merchant Center 移轉問題
以下是建立 Google Merchant Center 移轉作業時的常見錯誤。
- 錯誤:
No data to transfer found for the Merchant account. If you have just created this transfer - you may need to wait for up to 90 minutes before the data of your Merchant account are prepared and available for the transfer.
- 解決方法:如果您使用「Schedule」(排程) 專區中的預設開始日期和時間設定移轉作業,就會收到這個錯誤。如果您使用預設的排程值,第一項移轉作業會在移轉建立後立即開始執行,但由於您的商家帳戶資料尚未準備就緒,因此執行作業會失敗。請先等待 90 分鐘,然後為今日設定補充作業,您也可以選擇等到明天的下一個預定移轉時間。
- 錯誤:
No data to transfer found for Merchant account. This can be because your account currently doesn't have any products.
- 解決方法:這個錯誤代表你的商家帳戶沒有商品。你將產品新增至商家帳戶之後,移轉作業就會開始執行。
- 錯誤:
Transfer user doesn't have access to the Merchant account. Please verify access in the Users section of the Google Merchant Center.
- 解決方法:這個錯誤表示設定移轉作業的使用者沒有移轉作業所用商家帳戶的存取權。如要解決這個問題,請前往 Google Merchant Center 驗證並授予缺少的帳戶存取權。
- 錯誤:
Transfer user doesn't have user roles that allows access to the product data of the Merchant account. Please verify access and roles in the Users section of the Google Merchant Center.
- 解決方法:這個錯誤表示設定移轉作業的使用者沒有移轉所用商家帳戶商品資料的存取權。如要解決這個問題,請前往 Google Merchant Center 驗證並授予缺少的使用者角色。
- 錯誤:
Historical backfills are currently not supported.
- 解決方法:如果您為前幾日設定補充作業,就會收到這個錯誤。這是預期中的錯誤。系統不支援歷史補充作業。 您只能為今日設定補充作業,在排定的每日執行作業完成後重新整理今日資料。
Google Play 移轉問題
以下是建立 Google Play 移轉作業時的常見錯誤。
- 錯誤:
No jobs to start for run
- 解決方法:確認使用者是否具備啟動 Google Play 移轉作業的足夠權限,然後確認使用者在設定移轉作業時,是否指定了正確的 Cloud Storage 值區。如果使用者仍遇到錯誤,請要求支援。
- 問題:收益和財務報表未載入 BigQuery
- 解決方法:使用者必須具備
View financial data
權限,才能存取 Google Play 財務報表。如要管理開發人員帳戶權限,請參閱「新增開發人員帳戶使用者以及管理各項權限」。
MySQL 轉移問題
以下是建立 MySQL 移轉作業時可能遇到的常見問題。
- 錯誤:
PERMISSION_DENIED. Failed to authenticate or permission denied with the provided credentials when starting to transfer asset asset-name.
- 解決方法:檢查您提供的
connector.authentication.username
和connector.authentication.password
參數是否有效且可正常運作。 - 錯誤:
NOT_FOUND. Invalid data source configuration provided when starting to transfer asset asset-name: APPLICATION_ERROR;google.cloud.bigquery.federationv1alpha1/ConnectorService.StartQuery;INVALID_ARGUMENT:Exception was thrown by the Connector implementation: Table table-name does not exist in asset asset-name.
解決方法:檢查資料表或檢視表名稱的拼字是否正確、參照的資料表或檢視表名稱是否存在,以及同義字 (別名) 是否指向現有的資料表或檢視表。
如果資料表或檢視區塊存在,請確保已授予資料庫使用者存取資料表的正確權限。如果資料表或檢視表不存在,請建立資料表。
如果您嘗試存取其他結構定義中的資料表或檢視區塊,請確認已參照正確的結構定義,並已授予物件存取權。
如果提供資料表或檢視表名稱,請務必指定為
object_name
;否則請留空。- 錯誤:
SERVICE_UNAVAILABLE. Timed out when starting to transfer asset asset-name. Ensure the datasource is reachable and the datasource configuration (Credentials, Network Attachment etc.) is correct.
- 錯誤:
DEADLINE_EXCEEDED. Timed out when starting to transfer asset asset-name. Ensure the datasource is reachable and the datasource configuration (Credentials, Network Attachment etc.) is correct.
解決方法:檢查提供的資料庫詳細資料是否正確,並確認移轉設定使用的網路附件設定正確無誤。也可能轉移作業未在期限內完成。
- 錯誤:
INTERNAL
解決方法:轉移失敗的原因是其他問題。 如要解決這個問題,請與 Cloud 客服團隊聯絡。
- 錯誤:
INVALID_ARGUMENT. Connection to the host and port failed. Please check that the host, port, encryptionMode and network attachment are correct.
解決方法:請確認主機、通訊埠、加密模式和網路設定正確無誤。確認網路連線,以及資料庫伺服器是否可存取。如果
EncryptionMode
設為FULL
,請確認伺服器支援必要通訊協定、具有有效憑證,且允許安全連線。如果EncryptionMode
設為DISABLE
,請檢查伺服器是否允許非 SSL 連線。檢查應用程式和資料庫記錄,找出與連線或 SSL/TLS 相關的錯誤。
Oracle 轉移問題
以下是建立 Oracle 移轉作業時可能遇到的常見問題。
- 錯誤:
PERMISSION_DENIED. ORA-01017: invalid username/password; logon denied
- 解決方法:確認提供的 Oracle 憑證有效。
- 錯誤:
PERMISSION_DENIED. ORA-01045: user lacks CREATE SESSION privilege; logon denied
- 解決方法:將
CREATE SESSION
系統權限授予 Oracle 使用者。如要進一步瞭解如何授予 Oracle 權限,請參閱GRANT
。 - 錯誤:
SERVICE_UNAVAILABLE. ORA-12541: Cannot connect. No listener at host
或HOSTNAME
portPORT
SERVICE_UNAVAILABLE. Connection failed: IO Error. The Network Adapter could not establish the connection
- 解決方法:確認提供的主機名稱和通訊埠詳細資料正確無誤,且網路附件設定正確。
- 錯誤:
NOT_FOUND. ORA-00942: table or view does not exist
解決方法:請檢查下列各項:
- 資料表或檢視表名稱的拼字正確。
- 參照的資料表或檢視表名稱存在。
- 同義字會指向現有資料表或檢視表。如果資料表或檢視區塊確實存在,請確認已授予資料庫使用者存取資料表的正確權限。否則請建立資料表。
- 如果您嘗試存取其他結構定義中的資料表或檢視畫面,請確認已參照正確的結構定義,並已授予物件存取權。
- 錯誤:
NOT_FOUND. Schema schema does not exist.
- 解決方法:指定的結構定義不存在。
- 錯誤:
DEADLINE_EXCEEDED
- 解決方法:轉移作業未在六小時內完成。將大型轉移作業分割成多個較小的作業,縮短轉移作業的執行時間。
- 錯誤:
INTERNAL
- 解決方法:轉移失敗的原因是其他問題。 請與 Cloud 客服團隊聯絡,協助解決這個問題。
- 錯誤:
INVALID_ARGUMENT
- 解決方法:移轉設定中提供的值無效,導致移轉失敗。如要瞭解有效的移轉設定值,請參閱「設定 Oracle 轉移作業」。
- 錯誤:
SQL Error [1950] [42000]: ORA-01950: no privileges on tablespace 'TablespaceName'
- 解決方法:將預設表空間指派給使用者。詳情請參閱「指派預設表空間」一文。
- 錯誤:
403 PERMISSION_DENIED. Required 'compute.subnetworks.use' permission for project
解決方法:如果網路附件所在的專案與移轉設定所在的專案不同,就可能發生這個錯誤。如要修正這個問題,您必須在網路附件所在的專案中,授予服務帳戶 (例如
service-customer_project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com
) 下列權限:compute.networkAttachments.get
compute.networkAttachments.update
compute.subnetworks.use
compute.regionOperations.get
如果網路附件嘗試連線至位於不同專案的虛擬私有雲 (例如共用虛擬私有雲),也可能發生這個錯誤。在這種情況下,您必須在共用虛擬私有雲的代管專案中,將
compute.subnetworks.use
權限授予服務帳戶 (例如service-customer_project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com
)。
PostgreSQL 轉移問題
以下是建立 PostgreSQL 移轉作業時可能遇到的常見問題。
- 錯誤:
PERMISSION_DENIED. Failed to authenticate or permission denied with the provided credentials when starting to transfer asset asset-name.
- 解決方法:檢查您提供的
connector.authentication.username
和connector.authentication.password
參數是否有效且可正常運作。 - 錯誤:
NOT_FOUND. Invalid data source configuration provided when starting to transfer asset asset-name: APPLICATION_ERROR;google.cloud.bigquery.federationv1alpha1/ConnectorService.StartQuery;INVALID_ARGUMENT:Exception was thrown by the Connector implementation: Table table-name does not exist in asset asset-name.
解決方法:檢查資料表或檢視表名稱的拼字是否正確、參照的資料表或檢視表名稱是否存在,以及同義字 (別名) 是否指向現有的資料表或檢視表。
如果資料表或檢視區塊存在,請確保已授予資料庫使用者存取資料表的正確權限。如果資料表或檢視表不存在,請建立資料表。
如果您嘗試存取其他結構定義中的資料表或檢視區塊,請確認已參照正確的結構定義,並已授予物件存取權。
如果提供資料表或檢視表名稱,請務必指定為
object_name
;否則請留空。- 錯誤:
SERVICE_UNAVAILABLE. Timed out when starting to transfer asset asset-name. Ensure the datasource is reachable and the datasource configuration (Credentials, Network Attachment etc.) is correct.
- 錯誤:
DEADLINE_EXCEEDED. Timed out when starting to transfer asset asset-name. Ensure the datasource is reachable and the datasource configuration (Credentials, Network Attachment etc.) is correct.
解決方法:檢查提供的資料庫詳細資料是否正確,並確認移轉設定使用的網路附件設定正確無誤。也可能轉移作業未在期限內完成。
- 錯誤:
INTERNAL
解決方法:轉移失敗的原因是其他問題。 如要解決這個問題,請與 Cloud 客服團隊聯絡。
- 錯誤:
INVALID_ARGUMENT. Connection to the host and port failed. Please check that the host, port, encryptionMode and network attachment are correct.
解決方法:請確認主機、通訊埠、加密模式和網路設定正確無誤。確認網路連線,以及資料庫伺服器是否可存取。如果
EncryptionMode
設為FULL
,請確認伺服器支援必要通訊協定、具有有效憑證,且允許安全連線。如果EncryptionMode
設為DISABLE
,請檢查伺服器是否允許非 SSL 連線。檢查應用程式和資料庫記錄,找出與連線或 SSL/TLS 相關的錯誤。
Salesforce 轉移問題
以下是建立 Salesforce 移轉作業時的常見錯誤。
- 錯誤:
Permission Denied: invalid_client. invalid client credentials
- 解決方法:確認提供的 ClientSecret 有效。
- 錯誤:
Permission Denied: invalid_client. client identifier invalid
- 解決方法:確認提供的 ClientId 有效。
- 錯誤:
Permission Denied: Error encountered while establishing connection
- 解決方法:檢查提供的 Salesforce MyDomain 名稱是否正確。
- 錯誤:
NOT_FOUND. asset type asset_name is not supported. If you are attempting to use a custom object, be sure to append the "__c" after the entity name. Please reference your WSDL or use the describe call for the appropriate names.
- 解決方法:按照錯誤代碼中的指引操作,並確認提供的資產名稱正確無誤。
- 錯誤:
SERVICE_UNAVAILABLE
- 解決方法:這項服務暫時無法處理要求。請稍候片刻,然後再試一次。
- 錯誤:
DEADLINE_EXCEEDED
- 解決方法:轉移作業未在六小時內完成。將大型轉移作業分割成多個較小的作業,盡量縮短轉移作業的執行時間。
- 錯誤:
Failed to create recordReader to read partition : Batch failed. BatchId='batch_id', Reason='FeatureNotEnabled : Binary field not supported'
- 解決方法:連接器不支援含有二進位欄位的 sObject 資料結構。從移轉作業中移除含有二進位欄位的 sObject 資料結構。詳情請參閱 Salesforce 說明文件中的「匯出相關物件時發生『Batch failed: FeatureNotEnabled: Binary field not supported』錯誤」一文。
- 錯誤:
RESOURCE_EXHAUSTED: PrepareQuery failed : ExceededQuota : ApiBatchItems Limit exceeded
- 解決方法:如果超出工作執行的每日
ApiBatchItems
API 限制,就會出現這則錯誤訊息。Salesforce 設有每日 API 限制,每 24 小時會重設一次。如要解決這項錯誤,建議您將轉移作業分批執行並排定時間,以免超過每日批次 API 限制。你也可以聯絡 Salesforce 支援團隊,要求提高每日上限。 - 錯誤:
Permission Denied: invalid_grant. no client credentials user enabled
- 解決方法:確認 Salesforce 連線應用程式的「Client Credentials Flow」部分中的「Run as」欄位包含正確的使用者名稱。詳情請參閱「建立 Salesforce 連結的應用程式」。
- 錯誤:
FAILED_PRECONDITION: BatchId='batch-id', Reason='InvalidBatch : Failed to process query: OPERATION_TOO_LARGE: exceeded 100000 distinct ids'
- 解決方法:確認使用者的設定檔不會對擷取的 sObject 施加查詢限制。如果問題仍未解決,請使用具備系統管理員權限的 Salesforce 使用者憑證完成擷取作業。
- 錯誤:
FAILED_PRECONDITION: Batch failed. BatchId='batch-id', Reason='InvalidBatch : Failed to process query: TXN_SECURITY_NO_ACCESS: The operation you requested isn't allowed due to a security policy in your organization. Contact your administrator for more information about security policies.
- 解決方法:確認使用者的設定檔或權限集包含必要物件和欄位層級權限,才能擷取 sObject。請與管理員聯絡,要求對方更新這些權限,或是指派具備必要存取權的角色。
- 錯誤:
FAILED_PRECONDITION: Cannot establish connection to Salesforce to describe SObject: 'SObject_Name' due to error: TotalRequests Limit exceeded., Cause:null Retry after some time post quota reset.
- 解決方法:如果載入工作超過限制,就可能發生這項錯誤。請等待配額重設後再試一次。
Teradata 轉移問題
以下是建立 Teradata 移轉作業時可能遇到的常見問題。
- 錯誤:
Skipping extraction since table does not have change tracking column.
解決方法:如果您嘗試使用現有的隨選轉移設定,在已遷移的資料表上執行 Teradata 轉移作業,可能會看到上述訊息。如要在已遷移的資料表上啟動新的轉移作業,請建立新的轉移設定,並套用「隨選」設定。
使用隨選移轉設定重複移轉時,BigQuery 資料移轉服務會嘗試以增量移轉方式執行,但由於移轉設定未套用正確的增量設定,因此會略過資料表。如要進一步瞭解不同類型的轉移作業,請參閱「隨選或增量轉移」。
- 問題:轉移
CHAR
(N) 資料類型時,較短的字串會新增最多 N 個字元的空格。 解決方法:將
CHAR
資料轉換為VARCHAR
,並移除來源中的多餘空格。發生這個問題的原因是CHAR
是固定長度的字串,而VARCHAR
則應適用於長度可變的字串。您也可以在遷移後,使用RTRIM
函式移除 BigQuery 中的空格。使用RTRIM
函式的查詢類似於下列範例:UPDATE migrated_table SET migrated_char_column = RTRIM(migrated_char_column) WHERE true;
YouTube 移轉問題
以下是建立 YouTube 移轉作業時的常見錯誤。
- 錯誤:
Import failed - no data was available for import. Please verify that data existence was expected.
- 錯誤:
No data available for requested date. Please try an earlier run date or verify that data existence was expected.
解決方法:如果您先前未曾建立過 YouTube 報告工作,請允許 YouTube 至少有 2 天的緩衝時間,讓 BigQuery 資料移轉服務可以代表您產生報告。你不需要採取其他動作。 前 2 天轉移會失敗,第 3 天應該就能成功。如果您之前建立過 YouTube 報告工作,請確認建立移轉作業的使用者具備報告的讀取權。
另請確認是否使用正確的帳戶設定移轉作業。您也必須在 OAuth 對話方塊中選取要載入資料的管道。
- 錯誤:
No reports for reporting job with name name.
解決方法:這並不是錯誤。這是一則警告訊息,表示系統找不到指定報告的資料。您可以忽略這則警告。未來的移轉作業仍會繼續執行。
- 問題:移轉作業建立的結果資料表不完整,或結果不如預期。
- 解決方法:如果您有多個帳戶,則必須在接收 YouTube 權限對話方塊中選擇正確的帳戶。
- 問題:YouTube 數據分析和 BigQuery YouTube 移轉的資料不一致。
背景:BigQuery YouTube 移轉作業會使用 YouTube Reporting API,將資料直接擷取至 BigQuery 資料集。另一方面,YouTube 數據分析資訊主頁會使用 YouTube Analytics API 提取資料。YouTube 產生的報表 API 數據應視為最終數據,而 YouTube 數據分析資訊主頁/API 顯示的數據則應視為預估數據。這兩個 API 之間出現一定程度的差異是正常的。
解決方法:如果報告中的數字確實不正確,YouTube 系統和 BigQuery 資料移轉服務 YouTube 移轉作業都會設定為回填缺少的數字,並在回填日期的全新報告中提供這些數字。由於 BigQuery 資料移轉服務的 YouTube 設定會載入 YouTube Reporting API 建立的所有可用報表,因此 BigQuery 移轉作業自動匯入日後產生的 YouTube 報表時,也會將新產生和更新的資料納入考量,並將資料擷取至正確的日期分割資料表。
YouTube 權限問題
如要移轉 YouTube 內容管理工具報表,設定移轉作業的使用者必須具備CMS user
權限 (至少)。您必須為要建立轉移作業的每位內容管理員授予 CMS user
權限。
配額問題
- 錯誤:
Quota exceeded: Your project exceeded quota for imports per project.
- 解決方法:確認專案中排定的轉移作業數量未超過上限。如需計算移轉作業啟動的載入工作數相關資訊,請參閱「配額與限制」。