転送構成のトラブルシューティング
このドキュメントは、BigQuery Data Transfer Service の転送を設定する際に発生する一般的な問題のトラブルシューティングに役立つ情報を提供します。考えられるすべてのエラー メッセージや問題がこのドキュメントに記載されているわけではありません。
このドキュメントに記載されていない問題が発生している場合は、サポートを依頼できます。
Cloud カスタマーケアに問い合わせる前に、転送構成と転送実行の詳細を取得してください。これらの詳細を取得する方法については、転送の詳細を取得すると転送実行の詳細とログメッセージを表示するをご覧ください。
エラーを確認する
初期転送の実行が失敗した場合は、実行履歴の詳細を調べることができます。このドキュメントを使用することで、実行履歴にリストされるエラーを適切な解決策の特定に利用できます。
ログ エクスプローラを使用して、特定の転送ジョブのエラー メッセージを表示することもできます。次のログ エクスプローラ フィルタは、特定の転送構成ジョブに関する情報とエラー メッセージを返します。
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 Billing のエクスポート テーブルと、BigQuery Data Transfer Service サービスによって作成された宛先の BigQuery テーブルは、どちらもパーティショニングされています。このような BigQuery Data Transfer Service ジョブの設定中に [上書き] オプションを選択すると、エクスポートされるデータの量によっては割り当てエラーが発生することがあります。割り当てのトラブルシューティングについては、割り当てをトラブルシューティングしてエラーを制限するをご覧ください。エラーが Cloud Billing エクスポートの BigQuery Data Transfer Service ジョブに起因する場合は、個々の Cloud Billing Export テーブルがパーティション分割されているため、BigQuery Data Transfer サービスによって作成されたターゲット テーブルも分割されることに注意してください。このため、このようなデータ転送ジョブの設定時に [上書き] オプションを選択すると、請求先アカウントの経過期間によっては(DML)割り当てエラーが発生します。割り当てのトラブルシューティングについては、割り当てをトラブルシューティングしてエラーを制限するをご覧ください。
- エラー:
The caller does not have permission.
解決策: Google Cloud コンソールのログイン済みアカウントが、転送を作成する際に BigQuery Data Transfer Service 用に選択したアカウントと同じであることを確認します。
Google Cloud コンソールのログイン済みアカウント:
アカウントを選択して、BigQuery Data Transfer Service に進みます。
- エラー:
Access Denied: ... Permission bigquery.tables.get denied on table ...
解決策: BigQuery Data Transfer Service のサービス エージェントに ターゲット データセットの
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 と管理] ページに移動します。
[Google 提供のロール付与を含める] チェックボックスをオンにします。
service-<project_number>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com
という名前のサービス アカウントが表示されているか、BigQuery Data Transfer Service に BigQuery Data Transfer Service エージェントのロールが付与されていることを確認します。
サービス アカウントが表示されない場合、または BigQuery Data Transfer Service サービス エージェントのロールが付与されていない場合は、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 Data Transfer Service サービス エージェントが追加されていることを確認します。追加されていない場合は、BigQuery Data Transfer Service サービス エージェントに BigQuery データ編集者(
roles/bigquery.dataEditor
)のロールを付与します。
- エラー:
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 と管理] > [サービス アカウント] に移動し、プロジェクトに関連付けられているサービス アカウントを特定します。このビューには、現在のプロジェクトのすべてのサービス アカウントが表示されます。
- 次のコマンドを使用して、サービス アカウントのあるプロジェクトのポリシーを無効にします。このポリシーを無効にするには、組織ポリシー管理者である必要があります。このロールをユーザーに付与できるのは組織管理者だけです。
gcloud resource-manager org-policies disable-enforce iam.disableCrossProjectServiceAccountUsage --project=[PROJECT-ID]
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 Glacier にアーカイブされている Amazon S3 のオブジェクトは、復元が完了するまでアクセスできません。
- エラー:
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 に含まれるワイルドカードの数を 1 つにできるかどうか評価します。転送実行あたりの最大ファイル数が増えるため、可能であれば、新しい転送構成で再試行してください。また、転送構成を複数の転送構成に分割し、それぞれがソースデータの一部を転送できるかどうか評価することもできます。
- エラー:
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 Storage の転送に関する問題
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 トークンが正しいことを確認します。詳細については、Shared Access Signature(SAS)をご覧ください。
- エラー:
Transfer encountered error, status:PERMISSION_DENIED, details:[This request is not authorized to perform this operation.]
- 解決策: BigQuery Data Transfer Service ワーカーで使用される IP 範囲が、許可された IP のリストに追加されていることを確認します。詳細については、IP 制限をご覧ください。
- 問題: Blob Storage からファイルが転送されるが、BigQuery に読み込まれない。
転送ログは次のようになります。
Moving data to Google Cloud complete: Moved <var>N</var> object(s). No new files found matching Blob Storage data path.
解決策: 転送構成で Blob Storage のデータパスが正しいことを確認します。
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 を使用している場合は、指定した日付範囲の Data Transfer V2.0 ファイルが Campaign Manager Cloud Storage バケットに含まれていることを確認します。ファイルが存在する場合は、該当する日付範囲のバックフィルをスケジュールします。Campaign Manager のバックフィル リクエストの作成の詳細については、転送またはバックフィルを手動でトリガーするをご覧ください。
転送実行のスケジュール時にファイルが存在していたかどうかを確認するには、Cloud Storage バケット内のファイルの作成日時を確認します。場合によっては、キャンペーン マネージャー Data Transfer ファイルの最初のバッチが生成される前に、その日の 1 回目の転送実行がスケジュールされることがあります。同じ日と翌日のその後の実行により、キャンペーン マネージャーで生成されたすべてのファイルが読み込まれます。
- エラー:
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.
解決策: キャンペーン マネージャーの転送を作成するユーザーには、Data Transfer V2.0 ファイルが格納されている Cloud Storage バケットに対する読み取りアクセス権が必要です。Cloud Storage バケットと、アクセス権のリクエストに関する情報は、キャンペーン マネージャー管理者から取得できます。
Google 広告の転送に関する問題
Google 広告の転送を作成する際によくあるエラーは次のとおりです。
- エラー:
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 広告の転送を作成しているときにこのエラーが発生した場合は、サポートをご依頼のうえ、エラー メッセージの画面キャプチャを送付してください。
- エラー:
AuthenticationError.NOT_ADS_USER.
- 解決策: Google 広告の転送を設定するユーザーには、Google 広告アカウントおよびログイン情報が必要です。
- エラー:
ERROR_GETTING_RESPONSE_FROM_BACKEND.
- 解決策: Google 広告の転送実行が失敗して、
ERROR_GETTING_RESPONSE_FROM_BACKEND
が返された場合は、転送構成で [Exclude Removed/Disabled Items] オプションを有効化します。バックフィルを設定して、失敗した転送実行の影響を受けた日のデータの取得を試みます。 - 警告:
Data for the report ClickStats was not available for the specified date.
- エラー:
INVALID_DATE_RANGE_FOR_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
- 解決策: この転送に関連付けられたユーザー アカウントで 2 段階認証プロセス(または多要素認証)が有効になっていない場合は、2 段階認証プロセスを有効にしてから、失敗した転送ジョブを再実行します。サービス アカウントには 2 段階認証プロセスの要件が適用されません。
- エラー:
Quota exceeded: Your project exceeded quota for imports per project
- 解決策: 転送は、BigQuery 読み込みジョブの割り当ての対象となります。読み込みジョブの割り当て上限に達した場合は、table_filter を使用するか、未使用の転送構成を削除するか、更新ウィンドウを短くして、不要な読み込みを減らしてみてください。割り当てを増やす必要がある場合は、Google Cloud 営業担当者にお問い合わせください。詳細については、割り当てと上限をご覧ください。
Google アド マネージャーの転送に関する問題
Google アド マネージャーの転送を作成する際によくあるエラーは次のとおりです。
- エラー:
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 アド マネージャーの Cloud Storage バケットに、指定した日付範囲の データ移転 ファイルが含まれていることを確認します。ユーザーの Data Transfer ファイルが含まれている Cloud Storage バケットは、Google アド マネージャー管理者が管理しています。Google アド マネージャーの転送を作成するユーザーは、バケットの読み取りアクセス権を持つ Google グループのメンバーである必要があります。
Cloud Storage のアクセス許可は、Google アド マネージャーの Data Transfer バケット内のファイルの読み込みを試してみることで検証できます。Google アド マネージャーの Cloud Storage バケットの詳細については、Google アド マネージャーのストレージ バケットにアクセスするを参照してください。
転送実行のスケジュール時にファイルが存在していたかどうかを確認するには、Cloud Storage バケット内のファイルの作成日時を確認します。場合によっては、Google アド マネージャー Data Transfer ファイルの最初のバッチが生成される前に、その日の 1 回目の転送実行がスケジュールされることがあります。同じ日と翌日のその後の実行により、Google アド マネージャーで生成されたすべてのファイルが読み込まれます。
ファイルが Data Transfer バケットに存在しており、読み取り権限がある場合は、影響を受ける日付範囲のバックフィルをスケジュールします。Google アド マネージャーのバックフィル リクエストの作成の詳細については、バックフィルの設定を参照してください。
- エラー:
AuthenticationError: NO_NETWORKS_TO_ACCESS.
解決策: Google アド マネージャー ネットワークへの読み取りアクセス権があることを確認してください。ネットワーク アクセスの判定に関してご不明な点がありましたら、Google アド マネージャーのサポートにお問い合わせください。
- エラー:
Error code 9 : Field field_name?field_name?field_name?RefererURL is unknown.; Table: table_name
解決策: ソーン(þ)区切り文字を使用していないことを確認します。ソーン区切り文字は現在サポートされていません。ソーンが使用されていることは、エラー メッセージの中で ? により示されています。
- エラー:
Incompatible table partitioning specification. Destination table exists with partitioning specification interval(type:Day,field:) clustering
解決策: Google アド マネージャー コネクタでは、クラスタリングを使用したデータセットへのデータ転送はサポートされていません。代わりにクラスタリングなしのデータセットを使用してください。
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.
- 解決策: [スケジュール] セクションでデフォルトの開始日時を使用して転送を設定すると、このエラーが発生します。スケジュールのデフォルト値を使用した場合、転送の作成直後に最初の転送が開始しますが、転送前に販売アカウントの準備が必要なため、転送に失敗します。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 ストレージ バケットを指定しているかどうかを確認します。それでもエラーが解決しない場合は、サポートにお問い合わせください。
- 問題: 収益レポートと売上レポートが BigQuery に読み込まれない
- 解決策: Google Play の売上レポートにアクセスするには、
View financial data
権限が必要です。デベロッパー アカウントの権限を管理するには、デベロッパー アカウント ユーザーの追加と権限の管理をご覧ください。
Oracle の転送に関する問題
Oracle の転送を作成する際に発生する可能性のある一般的な問題を以下に示します。
- エラー:
PERMISSION_DENIED. ORA-01017: invalid username/password; logon denied
- 解決策: 指定した Oracle 認証情報が有効であることを確認します。
- エラー:
PERMISSION_DENIED. ORA-01045: user lacks CREATE SESSION privilege; logon denied
- 解決策: Oracle ユーザーに
CREATE SESSION
システム権限を付与します。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
- 解決策: 転送実行が最大 6 時間の期限内に完了しませんでした。大規模な転送を小規模な転送に分割して、転送実行時間を短縮します。
- エラー:
INTERNAL
- 解決策: 転送が失敗した原因は他にもあります。この問題を解決するには、Cloud カスタマーケアにお問い合わせください。
- エラー:
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
このエラーは、ネットワーク アタッチメントが別のプロジェクト(共有 VPC など)にある Virtual Private Cloud(VPC)に接続しようとしている場合にも発生する可能性があります。この場合は、サービス アカウント(
service-customer_project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com
など)に共有 VPC のホスト プロジェクトに対するcompute.subnetworks.use
権限を付与する必要があります。
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
- 解決策: 転送実行が最大 6 時間の期限内に完了しませんでした。大規模な転送を小規模な転送に分割して、転送実行時間を最小限に抑えます。
- エラー:
Failed to create recordReader to read partition : Batch failed. BatchId='batch_id', Reason='FeatureNotEnabled : Binary field not supported'
- 解決策: このコネクタは、バイナリ フィールドを含む sObject データ構造をサポートしていません。バイナリ フィールドを含む sObject データ構造を転送ジョブから削除します。詳細については、Salesforce のドキュメントで関連オブジェクトのエクスポート時にエラー「バッチ処理に失敗しました: FeatureNotEnabled: バイナリ フィールドはサポートされていません」が発生するをご覧ください。
- エラー:
RESOURCE_EXHAUSTED: PrepareQuery failed : ExceededQuota : ApiBatchItems Limit exceeded
- 解決策: このエラーは、ジョブ実行の 1 日あたりの
ApiBatchItems
API の上限を超えた場合に表示されます。Salesforce には 1 日あたりの API 上限があり、24 時間ごとにリセットされます。このエラーを解決するには、転送実行を分割してスケジュールし、1 日のバッチ API の上限を超えないようにすることをおすすめします。1 日あたりの上限の引き上げについては、Salesforce サポートにお問い合わせください。
Teradata 転送に関する問題
Teradata の転送の作成時に発生する可能性のある一般的な問題を以下に示します。
- エラー:
Skipping extraction since table does not have change tracking column.
解決策: 既存のオンデマンド転送構成を使用して、すでに移行されているテーブルに Teradata 転送を実行しようとすると、上のようなメッセージが表示されることがあります。移行済みのテーブルで新しい転送を開始する場合は、オンデマンド設定を適用して、新しい転送構成を作成します。
オンデマンド転送構成を使用して転送を繰り返すと、BigQuery Data Transfer Service は増分転送として実行しようとしますが、転送構成に正しい増分転送の設定が適用されていないため、テーブルはスキップされます。さまざまな種類の転送について詳しくは、オンデマンド転送または増分転送をご覧ください。
- 問題:
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 のレポート作成ジョブを作成したことがない場合は、BigQuery Data Transfer Service によってレポートが生成されるまで少なくとも 2 日間お待ちください。追加のアクションは必要はありません。転送は最初の 2 日間は失敗し、3 日目に成功するはずです。以前に YouTube のレポート作成ジョブを作成した場合は、そのレポートを作成したユーザーに、レポート読み取りアクセス権限があることを確認します。
また、転送が正しいアカウントに設定されていることを確認します。OAuth ダイアログで、データを読み込むチャンネルを選択する必要があります。
- エラー:
No reports for reporting job with name name.
解決策: これはエラーではありません。指定したレポートのデータが見つからないことを示す警告です。この警告は無視できます。以降の転送は引き続き実行されます。
- 問題: 転送によって作成されたテーブルが不完全であるか、予期しない結果になる。
- 解決策: 複数のアカウントをお持ちの場合は、YouTube の権限ダイアログが表示されたときに、正しいアカウントを選択する必要があります。
- 問題: YouTube アナリティクスと BigQuery YouTube Transfer の間でデータが一致しません。
背景: BigQuery YouTube 転送では、YouTube Reporting API を使用してデータが BigQuery データセットに直接取り込まれます。一方、YouTube アナリティクス ダッシュボードでは、YouTube Analytics API を使用してデータが pull されます。YouTube が生成する Reporting API で生成された数値は、最終的な数値として処理されますが、YouTube アナリティクス ダッシュボードや API に表示される数値は推定数値として処理されます。2 つの API 間には、ある程度の不一致が想定されます。
解決策: 報告された数値が実際に正しくない場合、YouTube のシステムと BigQuery Data Transfer Service の YouTube 転送の両方で、欠落している数値をバックフィルして、新しく生成されるバックフィルされた日に対するレポートで使用できるようにしています。BigQuery Data Transfer Service の YouTube 構成は、YouTube Reporting API によって作成されるすべてのレポートを読み込むだけです。このため、BigQuery 転送によって今後生成される YouTube レポートを自動的にインポートするときに、新しく作成されたデータと更新されたデータも考慮され、適切な日付パーティション分割テーブルに取り込まれます。
YouTube 権限の問題
YouTube コンテンツ マネージャ レポートの場合、転送を設定するユーザーには(少なくとも)CMS user
権限が必要です。CMS user
権限は、転送の作成対象となる各コンテンツ マネージャに付与する必要があります。
割り当ての問題
- エラー:
Quota exceeded: Your project exceeded quota for imports per project.
- 解決策: プロジェクトに対して転送を過剰にスケジュールしていないことを確認します。転送によって開始される読み込みジョブの数を計算する方法については、割り当てと上限をご覧ください。