本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
除了 Apigee 收集的常规 API 数据之外,您还可以使用 DataCapture 政策收集自定义数据。需要执行两个主要步骤,如以下部分所述:
- 创建 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 参考页面中的示例部分所示。一种方法是指定流变量,用于存储 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>
通过此设置,DataCapture 将收集在表单的 payment_amount
字段中输入的数据,并将其存储在名为 dc_my_custom_data
的变量中。
根据使用 DataCapture 收集的数据创建自定义报告
使用 DataCapture 政策设置数据收集后,您就可以使用数据按照添加自定义报告中所述的步骤创建自定义报告。为此,当您为报告选择指标时(如
过程的第 4 步所示),请选择与您为 DataCapture 创建的 Data Collector REST 资源同名的变量(例如 dc_my_custom_data
),如下所示。
您还可以使用与自定义报告中的维度相同的变量。由于维度按变量值对数据进行分组,因此变量通常最好是只包含有限数量值的字符串。