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 が許可する最大ページサイズを使用します。
- ただし、
Payments
やPayment 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 の前提条件
- BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
- データを保存する BigQuery データセットを作成します。
- Pub/Sub の転送実行通知を設定する場合は、
pubsub.topics.setIamPolicy
Identity and Access Management(IAM)権限があることを確認します。メール通知を設定するだけの場合、Pub/Sub の権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。
PayPal のデータ転送を設定する
次のいずれかのオプションを使用して転送構成を設定し、PayPal データを BigQuery に追加します。
コンソール
Google Cloud コンソールの [データ転送] ページに移動します。
[
転送を作成] をクリックします。[ソースタイプ] セクションの [ソース] で、[PayPal] を選択します。
[データソースの詳細] セクションで、次のようにします。
- [Client Id] に PayPal のクライアント ID を入力します。詳しくは、PayPal の前提条件をご覧ください。
- [クライアント シークレット] に、PayPal のクライアント シークレット キーを入力します。詳しくは、PayPal の前提条件をご覧ください。
- サンドボックスの PayPal アカウントを使用している場合は、[Is Sandbox] を選択します。
- [開始日] に、
YYYY-MM-DD
形式で日付を入力します。データ転送では、この日付以降の PayPal データが読み込まれます。- このフィールドを空白のままにすると、この転送はデフォルトで過去 3 年間のデータを取得します。
- 開始日フィルタをサポートするオブジェクトについては、サポートされているオブジェクトをご覧ください。
- [移行する PayPal オブジェクト] に、移行する PayPal オブジェクトの名前を入力するか、[参照] をクリックして移行するオブジェクトを選択します。
[転送先の設定] セクションの [データセット] で、データを保存するために作成したデータセットを選択します。
[転送構成名] セクションの [表示名] に、データ転送の名前を入力します。
[スケジュール オプション] セクションで、次の操作を行います。
- [繰り返しの頻度] リストで、このデータ転送の実行頻度を指定するオプションを選択します。カスタムの繰り返しの頻度を指定するには、[カスタム] を選択します。[オンデマンド] を選択した場合、手動で転送をトリガーすると、この転送が実行されます。
- 必要に応じて、[すぐに開始] を選択するか、[設定した時刻に開始] を選択して開始日と実行時間を指定します。
省略可: [通知オプション] セクションで、次のようにします。
- メール通知を有効にするには、[メール通知] をオンにします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
- この転送の Pub/Sub 転送実行通知を有効にするには、[Pub/Sub 通知] をオンにします。トピック名を選択するか、[トピックを作成] をクリックしてトピックを作成します。
[保存] をクリックします。
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 のデータ型と対応する BigQuery のデータ型のマッピングを示します。
PayPal データ型 | BigQuery のデータ型 |
---|---|
String |
STRING |
Decimal |
BIGNUMERIC |
Boolean |
BOOL |
Datetime |
TIMESTAMP |
転送の設定に関するトラブルシューティング
データ転送の設定に問題がある場合は、PayPal の転送に関する問題をご覧ください。
料金
この機能のプレビュー版では、PayPal データを BigQuery に転送する際に費用は発生しません。
次のステップ
- BigQuery Data Transfer Service の概要については、BigQuery Data Transfer Service の概要をご覧ください。
- 情報の取得、構成の一覧表示、実行履歴の表示など、転送構成の管理については、転送の管理をご覧ください。
- クロスクラウドの操作でデータを読み込む方法を学習する。