このページの内容は 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
など)と同じ名前を持つ変数を選択します。
また、カスタム レポートのディメンションと同じ変数を使用することもできます。ディメンションは変数の値によってデータをグループ化するため、通常、変数は限られた数の値のみを取る文字列にすることをおすすめします。