使用 DataCapture 政策收集自訂資料

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

除了 Apigee 收集的常見 API 資料,您也可以使用 DataCapture 政策收集自訂資料。如以下章節所述,您需要完成兩個主要步驟:

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

建立資料收集器 REST 資源

如要使用 DataCapture 政策,請先建立 資料收集器 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> 元素,指定要收集的資料。如需各種做法,請參閱 DataCapture 參考頁面的「範例」一節。其中一種方法是指定流程變數,用來儲存 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

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