PayPal のデータを BigQuery に読み込む

BigQuery Data Transfer Service で PayPal コネクタを使用して、PayPal から BigQuery にデータを読み込むことができます。PayPal コネクタを使用すると、PayPal から BigQuery に最新のデータを追加する定期的な転送ジョブをスケジュールできます。

PayPal コネクタは、本番環境とサンドボックスの PayPal アカウントをサポートしています。

サポートされているオブジェクト

PayPal オブジェクトのタイプ BigQuery でサポートされているオブジェクト 日付フィルタのサポート
トランザクション TransactionReports サポート対象
TransactionReportsCartInfoItemDetails サポート対象
TransactionReportsIncentiveDetails サポート対象
異議申し立て 異議申し立て サポート対象
DisputeDetails サポート対象
DisputeTransactions サポート対象
お支払い お支払い サポート対象
PaymentTransactions サポート対象
Balance Balance 非対応
プロダクト プロダクト 非対応
ProductDetails 非対応
明細書 明細書 サポート対象

制限事項

PayPal のデータ転送には、次の制限があります。

  • PayPal API で PayPal トランザクションが利用可能になるまでに数時間かかることがあります。
    • データが欠落しないように、後続のデータ転送は長い間隔(1 時間に 1 回以下)でスケジュールすることをおすすめします。
  • PayPal コネクタは、過去 3 年間の取引データのみをサポートします。
  • PayPal コネクタは、過去 6 か月間の異議申し立てデータのみをサポートしています。
  • PayPal API では、データ オブジェクトごとに異なるページサイズの制限が使用されます。PayPal コネクタは、データ転送で PayPal が許可する最大ページサイズを使用します。
    • ただし、PaymentsPayment Transactions などの一部のオブジェクトでは、より小さいページサイズの制限が使用されます。特に大規模なデータセットを扱う場合、データ転送が遅くなる可能性があります。

始める前に

以降のセクションでは、PayPal のデータ転送を作成する前に必要な手順について説明します。

PayPal の前提条件

PayPal からのデータ転送を有効にするには、次のものが必要です。

  • PayPal デベロッパー アカウントが必要です。詳しくは、PayPal デベロッパー プログラムをご覧ください。
  • PayPal REST API アプリを作成します。詳しくは、PayPal REST API を使ってみるをご覧ください。
    • [Apps & Credentials] セクションで、アプリのクライアント ID とシークレット キーをメモします。
    • [機能] セクションで、[取引の検索] と [請求書発行] の API 権限を有効にします。

必要な BigQuery のロール

転送の作成に必要な権限を取得するには、BigQuery 管理者roles/bigquery.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、転送の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

転送を作成するには、次の権限が必要です。

  • ユーザーに対する bigquery.transfers.update
  • ターゲット データセットに対する bigquery.datasets.get
  • ターゲット データセットに対する bigquery.datasets.update

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

BigQuery の前提条件

PayPal のデータ転送を設定する

次のいずれかのオプションを使用して転送構成を設定し、PayPal データを BigQuery に追加します。

コンソール

  1. Google Cloud コンソールの [データ転送] ページに移動します。

    [データ転送] に移動

  2. [転送を作成] をクリックします。

  3. [ソースタイプ] セクションの [ソース] で、[PayPal] を選択します。

  4. [データソースの詳細] セクションで、次のようにします。

    • [Client Id] に PayPal のクライアント ID を入力します。詳しくは、PayPal の前提条件をご覧ください。
    • [クライアント シークレット] に、PayPal のクライアント シークレット キーを入力します。詳しくは、PayPal の前提条件をご覧ください。
    • サンドボックスの PayPal アカウントを使用している場合は、[Is Sandbox] を選択します。
    • [開始日] に、YYYY-MM-DD 形式で日付を入力します。データ転送では、この日付以降の PayPal データが読み込まれます。
      • このフィールドを空白のままにすると、この転送はデフォルトで過去 3 年間のデータを取得します。
      • 開始日フィルタをサポートするオブジェクトについては、サポートされているオブジェクトをご覧ください。
    • [移行する PayPal オブジェクト] に、移行する PayPal オブジェクトの名前を入力するか、[参照] をクリックして移行するオブジェクトを選択します。
  5. [転送先の設定] セクションの [データセット] で、データを保存するために作成したデータセットを選択します。

  6. [転送構成名] セクションの [表示名] に、データ転送の名前を入力します。

  7. [スケジュール オプション] セクションで、次の操作を行います。

    • [繰り返しの頻度] リストで、このデータ転送の実行頻度を指定するオプションを選択します。カスタムの繰り返しの頻度を指定するには、[カスタム] を選択します。[オンデマンド] を選択した場合、手動で転送をトリガーすると、この転送が実行されます。
    • 必要に応じて、[すぐに開始] を選択するか、[設定した時刻に開始] を選択して開始日と実行時間を指定します。
  8. 省略可: [通知オプション] セクションで、次のようにします。

    • メール通知を有効にするには、[メール通知] をオンにします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
    • この転送の Pub/Sub 転送実行通知を有効にするには、[Pub/Sub 通知] をオンにします。トピック名を選択するか、[トピックを作成] をクリックしてトピックを作成します。
  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 時間ごとに 1 回データ転送をスケジュールします。

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 に転送する際に費用は発生しません。

次のステップ