使用 DataCapture 政策收集自定义数据

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

除了 Apigee 收集的常规 API 数据之外,您还可以使用 DataCapture 政策收集自定义数据。需要执行两个主要步骤,如以下部分所述:

  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 参考页面中的示例部分所示。一种方法是指定流变量,用于存储 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),如下所示。

为 DataCapture 添加自定义指标。

您还可以使用与自定义报告中的维度相同的变量。由于维度按变量值对数据进行分组,因此变量通常最好是只包含有限数量值的字符串。