Enumerar los datos con un filtro

Cuando se enumeran datos con la API, algunas solicitudes de métodos de lista proporcionan un campo filter. Puedes usar estos filtros para mostrar solo los resultados que te interesen. Esta función de filtrado es común en muchas API de Google Cloud.

En los siguientes ejemplos, se muestra cómo filtrar la respuesta cuando se enumeran los resultados del caso de prueba.

Java

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


import com.google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest;
import com.google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest.Builder;
import com.google.cloud.dialogflow.cx.v3.TestCaseResult;
import com.google.cloud.dialogflow.cx.v3.TestCasesClient;
import com.google.cloud.dialogflow.cx.v3.TestCasesSettings;
import java.io.IOException;

public class ListTestCaseResults {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String agentId = "my-agent-id";
    String testId = "my-test-id";
    String location = "my-location";
    listTestCaseResults(projectId, agentId, testId, location);
  }

  public static void listTestCaseResults(
      String projectId, String agentId, String testId, String location) throws IOException {
    String parent =
        "projects/"
            + projectId
            + "/locations/"
            + location
            + "/agents/"
            + agentId
            + "/testCases/"
            + testId;

    Builder req = ListTestCaseResultsRequest.newBuilder();

    req.setParent(parent);
    req.setFilter("environment=draft");

    TestCasesSettings testCasesSettings =
        TestCasesSettings.newBuilder()
            .setEndpoint(location + "-dialogflow.googleapis.com:443")
            .build();

    // Note: close() needs to be called on the TestCasesClient object to clean up resources
    // such as threads. In the example below, try-with-resources is used,
    // which automatically calls close().
    try (TestCasesClient client = TestCasesClient.create(testCasesSettings)) {
      for (TestCaseResult element : client.listTestCaseResults(req.build()).iterateAll()) {
        System.out.println(element);
      }
    }
  }
}

Node.js

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

const parent = `projects/${projectId}/locations/${location}/agents/${agentId}/testCases/${testId}`;

const {TestCasesClient} = require('@google-cloud/dialogflow-cx');

const client = new TestCasesClient({
  apiEndpoint: 'global-dialogflow.googleapis.com',
});
const req = {
  parent,
  filter: 'environment=draft',
};

const res = await client.listTestCaseResults(req);

console.log(res);

Python

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


from google.cloud.dialogflowcx_v3.services.test_cases.client import TestCasesClient
from google.cloud.dialogflowcx_v3.types.test_case import ListTestCaseResultsRequest


def list_test_case(project_id, agent_id, test_id, location):
    req = ListTestCaseResultsRequest()
    req.parent = f"projects/{project_id}/locations/{location}/agents/{agent_id}/testCases/{test_id}"
    req.filter = "environment=draft"
    client = TestCasesClient(
        client_options={"api_endpoint": f"{location}-dialogflow.googleapis.com"}
    )
    # Makes a call to list all test case results that match filter
    result = client.list_test_case_results(request=req)
    print(result)
    return result