ADO.NET Provider for Marketo

Build 23.0.8839

UseBulkAPI

Marketo Bulk API を使用するかどうかを指定します。

データ型

bool

デフォルト値

false

解説

True に設定すると、Marketo Bulk API が、必要に応じてデータの抽出またはインポートに使用されます。インターフェースのBulk API は、区切られたファイル(CSV、TSV、またはSSV)を使用して、大規模なデータセットの取得またはインポートを可能にします。 現在、Bulk API をサポートしているテーブルは、Leads(抽出およびインポート)とActivities(抽出)のみです。Bulk API をサポートしていないテーブルでは、このプロパティは無視されます。

Bulk API を使用すると、すべてのデータが単一のリクエストで取得され、送信する前にサーバー側でデータを蓄積する必要があります。したがって、Bulk API を使用して大量のデータをリクエストすることはREST API を使用するよりも有利な場合があり、パフォーマンスが向上する可能性があります。 さらに、Bulk API では必要なAPI リクエストが少なくて済みます(これにより、API 呼び出しを保存し、Marketo が実施しているAPI 制限内に留まることができます)。

Bulk API を使用してレコードを抽出するには、ジョブを作成してキューに入れる必要があります。キューに入ると、Marketo はジョブの処理を開始して、リクエストされたデータを取得し、デリミテッドファイルを生成します。ジョブのステータスをポーリングして、現在のステータスとファイルがダウンロード可能かどうかを判断することができます。 ジョブが完了し、ファイルが準備できたことを示すステータスが表示されたら、データをダウンロードできます。

UseBulkAPI がTrue に設定され、JobPollingInterval が0 より大きい値に設定されている場合、本製品 はLeads またはActivities テーブルでSELECT クエリを実行するときに、前述のすべてのステップを実行します。 これにより、指定したカラムおよびフィルタを使用してジョブが作成され、キューに入れられます。バルクデータをエクスポートする場合は、フィルタが必要であることに注意してください。Activities テーブルでは、ActivityDate 範囲を指定する必要があります。 Leads テーブルでは、CreatedAt またはUpdatedAt 範囲、またはStatic かSmart リストを指定できます。本製品 はジョブのステータスをポーリングして、ジョブがいつ完了したかを識別し、呼び出しの間にJobPollingInterval 秒待機します。 ジョブが完了すると、本製品 は作成されたデリミテッドファイルをダウンロードして解析し、指定されたクエリの結果を返します。

ジョブステータスコールはAPI コールの制限に対してカウントされるため、リクエストしているデータの量に基づいてステータスリクエストの間隔を空けることをお勧めします。ジョブステータスのポーリング間隔は、JobPollingInterval で設定可能です。 Marketo は60秒ごとにステータスを更新するだけなので、ポーリング間隔を60秒より長くすることをお勧めします。大規模なデータセットを想定している場合は、API コールを最小限に抑えるために、ポーリング間隔を5分以上に増やすことをお勧めします。 ジョブが処理されるまでに時間がかかる可能性があるため、実際にはジョブが完了するのを待っているだけであっても、クエリがハングしているように見える場合があります。

独自のジョブステータスポーリングリクエストを発行したい場合は、JobPollingInterval を0に設定します。これにより、Leads またはActivities テーブルでSELECT クエリを実行するときに、ジョブが作成されてキューに入れられ、結果セットにJobId が返されます。

ジョブがキューに入れられると、GetExportJobStatus ストアドプロシージャを呼び出すことでジョブのステータスをポーリングできます。

JobStatus の値は、ジョブの処理が完了し、ダウンロードの準備が整ったことを示す'Complete' になります。最初のSELECT クエリの実行を終了するには、最初のSELECT ステートメントのWHERE 句にJobId フィルタを追加します。 このクエリは、指定されたJobId のファイルをダウンロードして結果セットを解析します。

Logic/Code Example (JobPollingInterval = 0):

SELECT JobId, Company, FirstName AS fn, LastName AS ln FROM Leads WHERE CreatedAt>='10/01/2017' AND CreatedAt<'10/31/2017'
# Retrieve the JobId value from the ResultSet (e.g. c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35). Only one row is returned and JobId will be the only relevant value returned.

loop(desired time interval) {
  EXEC GetExportJobStatus @JobId='c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35', @Type='Leads'
  if (JobStatus == 'Completed') break;
}

SELECT Company, FirstName AS fn, LastName AS ln FROM Leads WHERE CreatedAt>='10/01/2016' AND CreatedAt<'10/31/2016' AND JobId='c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35'

このプロパティは、REST API を使っている場合にのみ有効です。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839