使用 DataCapture 政策收集自訂資料

本頁適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

除了 Apigee 收集的一般 API 資料,您也可以使用 DataCapture 政策收集自訂資料。您必須完成兩個主要步驟,請參閱以下各節:

  1. 建立資料收集器 REST 資源
  2. 使用 DataCapture 政策的 <Collect> 元素,指定要收集的資料

建立資料收集器 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 建立的資料收集器 REST 資源相同名稱的變數,例如 dc_my_custom_data,如以下所示。

新增 DataCapture 自訂指標。

您也可以在自訂報表中使用相同的變數做為維度。由於維度會根據變數的值將資料分組,因此變數通常應為字串,且只採用有限數量的值。