DataCapture ポリシーを使用したカスタムデータの収集

このページは ApigeeApigee ハイブリッドに適用されます。

Apigee Edge ドキュメントを表示する

Apigee によって収集される通常の API データに加えて、DataCapture ポリシーを使用してカスタムデータを収集することもできます。次のセクションで説明するように、主に 2 つの手順が必要です。

  1. Data Collector REST リソースを作成します。
  2. DataCapture ポリシーの <Collect> 要素を使用して、収集するデータを指定します。

Data Collector REST リソースを作成する

DataCapture ポリシーを使用するには、まず Data Collector REST リソースを作成する必要があります。これを行うには、次のような API リクエストを送信します。

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -X POST -H "content-type:application/json" \
  -d '
{
  "name": "dc_my_custom_data",
  "description": "Collects data for analysis.",
  "type": "STRING",
}' \
  "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/datacollectors"

これにより、dc_my_custom_data という名前のリソースが作成されます。このリソースを DataCapture ポリシーで使用します。

収集するデータを指定する

DataCapture ポリシーの <Collect> 要素を使用して、収集するデータを指定できます。DataCapure リファレンス ページののセクションに示されているように、これを行う方法はいくつかあります。1 つの方法は、API のリクエストとレスポンスで渡されるデータを格納するフロー変数を指定することです。たとえば、フロー変数 message.formparam.param_name.values を使用して、顧客がウェブページのフォームに入力したデータを収集できます。ここで、param_name はフォーム内のパラメータ名です。フォームに payment_amount という名前のパラメータがあるとします。対応するフロー変数は message.formparam.payment_amount.values です。

次のコードでは、<Collect> 要素の ref 属性によってこの変数を指定しています。

<DataCapture name="capturepayment">
    <Capture>
        <DataCollector>dc_my_custom_data</DataCollector>
        <Collect ref="message.form_param.payment_amount.values" >
    </Capture>
</DataCapture>

この設定では、フォームの payment_amount フィールドに入力されたデータが DataCapture によって収集され、dc_my_custom_data という名前の変数に格納されます。

DataCapture で収集したデータからカスタム レポートを作成する

DataCapture ポリシーでデータ収集を設定したら、カスタム レポートの追加で説明されている手順に沿って、データを使用してカスタム レポートを作成できます。これを行うには、ステップ 4 で示す方法でレポートの指標を選択するときに、以下に示すように、DataCapture 用に作成した Data Collector REST リソース(dc_my_custom_data など)と同じ名前を持つ変数を選択します。

DataCapture のカスタム指標の追加。

また、カスタム レポートのディメンションと同じ変数を使用することもできます。ディメンションは変数の値によってデータをグループ化するため、通常、変数は限られた数の値のみを取る文字列にすることをおすすめします。