このページは Apigee と Apigee ハイブリッドに適用されます。
Apigee Edge のドキュメントを表示します。
Apigee によって収集される通常の API データに加えて、DataCapture ポリシーを使用してカスタムデータを収集することもできます。次のセクションで説明するように、主に 2 つの手順が必要です。
- Data Collector REST リソースを作成します。
- 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 など)と同じ名前を持つ変数を選択します。
また、カスタム レポートのディメンションと同じ変数を使用することもできます。ディメンションは変数の値によってデータをグループ化するため、通常、変数は限られた数の値のみを取る文字列にすることをおすすめします。