Como coletar dados personalizados com a política DataCapture

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

Além dos dados comuns de API coletados pela Apigee, também é possível coletar dados personalizados usando a política DataCapture. Há duas etapas principais necessárias, conforme descrito nas seções a seguir:

  1. Criar um recurso REST do coletor de dados.
  2. Especificar os dados que você quer coletar usando o elemento <Collect> da política do DataCapture.

Criar um recurso REST do coletor de dados

Para usar a política DataCapture, crie primeiro um recurso REST do Coletor de dados. Para fazer isso, envie uma solicitação de API como esta:

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"

Isso cria um recurso chamado dc_my_custom_data, que pode ser usado com a política DataCapture.

Especificar os dados a serem coletados

Você pode especificar os dados a serem coletados usando o elemento <Collect> da política do DataCapture. Há várias maneiras de fazer isso, conforme mostrado na seção Exemplos na página de referência do DataCapure. Uma maneira é especificar uma variável de fluxo (em inglês), que armazena dados transmitidos em solicitações e respostas da API. Por exemplo, é possível coletar dados que os clientes inserem em um formulário da página da Web usando a variável de fluxo message.formparam.param_name.values, em que param_name é o nome de um parâmetro no formulário. Suponha que o formulário tenha um parâmetro chamado payment_amount. A variável de fluxo correspondente seria message.formparam.payment_amount.values.

O código a seguir especifica essa variável pelo atributo ref do elemento <Collect>.

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

Com essa configuração, os dados inseridos no campo payment_amount do formulário serão coletados pelo DataCapture e armazenados em uma variável chamada dc_my_custom_data.

Como criar um relatório personalizado a partir de dados coletados com o DataCapture

Depois de configurar a coleta de dados com a política do DataCapture, é possível usar os dados para criar um relatório personalizado seguindo o procedimento descrito em Como adicionar um relatório personalizado. Para isso, quando você selecionar uma métrica para o relatório, como mostrado na etapa 4 do procedimento, escolha a variável que tem o mesmo nome do coletor de dados Recurso REST que você criou para o DataCapture (por exemplo, dc_my_custom_data), conforme mostrado abaixo.

Adição de métrica personalizada para DataCapture.

Também é possível usar a mesma variável como uma dimensão em um relatório personalizado. Como as dimensões agrupam dados pelos valores da variável, geralmente é preferível que a variável seja uma string que aceite apenas um número limitado de valores.