Collecter des données personnalisées avec la règle DataCapture

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d'Apigee Edge.

Outre les données d'API habituelles collectées par Apigee, vous pouvez également collecter des données personnalisées à l'aide de la règle DataCapture. Deux étapes principales sont requises, comme décrit dans les sections suivantes :

  1. Créez une ressource REST Data Collector.
  2. Spécifiez les données que vous souhaitez collecter à l'aide de l'élément <Collect> de la règle DataCapture.

Créer une ressource REST Data Collector

Pour utiliser la stratégie DataCapture, vous devez d'abord créer une ressource REST Data Collector. Pour ce faire, envoyez une requête API comme suit :

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"

Cela crée une ressource nommée dc_my_custom_data, que vous pouvez utiliser dans la règle DataCapture.

Spécifier les données à collecter

Vous pouvez spécifier les données à collecter à l'aide de l'élément <Collect> de la règle DataCapture. Il existe plusieurs façons de procéder, comme indiqué dans la section Exemples de la page de référence DataCapure. Une méthode consiste à spécifier une variable de flux, qui stocke les données transmises dans les requêtes et les réponses de l'API. Par exemple, vous pouvez collecter des données que les clients saisissent dans un formulaire de page Web à l'aide de la variable de flux message.formparam.param_name.values, où param_name est le nom d'un paramètre du formulaire. Supposons que le formulaire comporte un paramètre nommé payment_amount. La variable de flux correspondante serait message.formparam.payment_amount.values.

Le code suivant spécifie cette variable par l'attribut ref de l'élément <Collect>.

<DataCapture name="capturepayment">
    <Capture>
        <DataCollector>dc_my_custom_data</DataCollector>
        <Collect ref="message.form_param.payment_amount.values" >
    </Capture>
</DataCapture>

Avec ce paramètre, les données saisies dans le champ payment_amount du formulaire sont collectées par DataCapture et stockées dans une variable nommée dc_my_custom_data.

Créer un rapport personnalisé à partir des données collectées avec DataCapture

Une fois que vous avez configuré la collecte de données avec la règle DataCapture, vous pouvez utiliser les données pour créer un rapport personnalisé en suivant la procédure décrite dans la section Ajouter un rapport personnalisé. Pour ce faire, lorsque vous sélectionnez une métrique pour le rapport, comme indiqué à l'étape 4 de la procédure, choisissez la variable portant le même nom que la ressource REST Data Collector que vous avez créée pour DataCapture (par exemple, dc_my_custom_data), comme indiqué ci-dessous.

Ajoutez une métrique personnalisée pour DataCapture.

Vous pouvez également utiliser la même variable comme dimension dans un rapport personnalisé. Comme les dimensions regroupent les données en fonction des valeurs de la variable, il est généralement préférable que la variable soit une chaîne qui n'accepte qu'un nombre limité de valeurs.