この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ステップ 2: レポートを非同期に実行する

レポートを非同期に実行するというのは、要求を送信してからしばらく後に結果を取得するということです。API を使用したレポートの非同期実行にはいくつかの利点があります。
  • 非同期に実行すると、結果は実行後 24 時間いつでも使用できるキャッシュに保持されます。また、キャッシュされた結果を再利用する API コマンドでは、1 時間あたり 1,200 個の要求制限にはカウントされません (ただし、一般的な API 要求の制限ではカウントされます)。
  • 非同期レポートでは、タイムアウト期間がより長く設定されています。そのため、レポートが非常に大きなデータセットを対象としていることがわかっていて、タイムアウトのリスクを回避したい場合は、非同期に実行することをお勧めします。
  • 1 時間あたり最大 1,200 個の非同期レポートを実行できます。これは、同期レポートの制限の 2 倍以上です。そのため、多数のユーザがアプリケーションを参照することが見込まれる場合は、非同期実行が適切である可能性があります。
  1. POST コマンドを https://<instance>//analytics/reports/<reportId>/instances に送信して、非同期レポートを実行します。
    コマンドは次のようになります。
    1curl -s -H 'Authorization: OAuth token ...' https://na1.salesforce.com/services/data/v29.0/analytics/reports/00OD0000001ZbP7MAK/instances -X POST -d ''
  2. 非同期実行の結果を取得するには、GET を使用してレポート実行インスタンスをポーリングします。

    レポートの特定の非同期実行はインスタンスと呼ばれます。各インスタンスには ID があります。インスタンスに含まれるデータセットを取得するには、該当するインスタンスをその ID で指定してシステムに要求を送信します。これは、インスタンスのポーリングと呼ばれています。レポートの実行が完了すると、ポーリング要求への応答として、要求したデータセットが返されます。(完了しなかった場合は、「in progress (処理中)」という応答が返されます)。

    1curl -s -H 'Authorization: OAuth token ...' https://na1.salesforce.com/services/data/v29.0/analytics/reports/00OD0000001ZbP7MAK/instances/instance_id
これで、レポートの同期実行および非同期実行を行うことができました。次に、得られた結果を絞りこむことで、データをさらに活用できるようにします。