Borra definitivamente los datos de un almacén de datos de origen

En esta página, se describe cómo borrar definitivamente todos los datos de un almacén de datos estructurados o no estructurados.

Borra los datos de un almacén de datos si deseas borrar por completo el contenido del almacén de datos antes de volver a importar datos nuevos. Cuando borras definitivamente un almacén de datos, solo se borran los datos del almacén de datos, y la app, el esquema y las configuraciones permanecen intactos.

Para borrar un almacén de datos, consulta Borra un almacén de datos.

Borrar datos definitivamente

Para borrar datos definitivamente de un almacén de datos, haz lo siguiente:

Console

Para usar la Google Cloud consola de y borrar definitivamente los datos de una rama de un almacén de datos estructurados o no estructurados, sigue estos pasos:

  1. En la Google Cloud consola de, ve a la página Gemini Enterprise.

    Gemini Enterprise

  2. En el menú de navegación, haz clic en Almacenes de datos.

  3. En la columna Nombre, haz clic en el almacén de datos que deseas borrar definitivamente.

  4. En la pestaña Documentos, haz clic en Borrar datos definitivamente.

  5. Lee la advertencia en el cuadro de diálogo Confirmar borrado definitivo de datos. Si deseas continuar, ingresa el nombre de tu almacén de datos y, luego, haz clic en Confirmar. El borrado definitivo de datos es una operación de larga duración. Para obtener más información, consulta Supervisa operaciones de larga duración.

  6. Haz clic en la pestaña Actividad para supervisar el progreso de la operación de borrado definitivo.

REST

Para usar la línea de comandos para borrar definitivamente los datos de una rama de un almacén de datos estructurados o no estructurados, sigue estos pasos:

  1. Busca el ID de tu almacén de datos. Si ya tienes el ID de tu almacén de datos, avanza al próximo paso.

    1. En la Google Cloud consola, ve a la Gemini Enterprise página y en el menú de navegación, haz clic en Almacenes de datos.

      Ir a la página Almacenes de datos.

    2. Haz clic en el nombre de tu almacén de datos.

    3. En la página Datos de tu almacén de datos, obtén el ID del almacén de datos.

  2. Llama al método documents.purge.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:purge" \
    -d '{
      "filter": "*",
      "force": FORCE
    }'
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Google Cloud proyecto
    • DATA_STORE_ID: Es el ID del almacén de datos.
    • FORCE: Es un valor booleano que especifica si se deben borrar los datos de la rama del almacén de datos.
      • Si es true, se borran todos los datos de la rama.
      • Si es false, no se borran datos y se muestra una lista de documentos en la rama.
      • Si se omite force, el valor predeterminado es false.
  3. Opcional: Toma nota del valor name que muestra el método documents.purge y sigue las instrucciones que se indican en Obtén detalles sobre una operación de larga duración para ver cuándo se completa la operación de borrado definitivo.

C#

Antes de probar este código de muestra, sigue las instrucciones de configuración para C# que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de C#Gemini Enterprise.

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

using Google.Cloud.DiscoveryEngine.V1;
using Google.LongRunning;

public sealed partial class GeneratedDocumentServiceClientSnippets
{
    /// <summary>Snippet for PurgeDocuments</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void PurgeDocumentsRequestObject()
    {
        // Create client
        DocumentServiceClient documentServiceClient = DocumentServiceClient.Create();
        // Initialize request argument(s)
        PurgeDocumentsRequest request = new PurgeDocumentsRequest
        {
            ParentAsBranchName = BranchName.FromProjectLocationDataStoreBranch("[PROJECT]", "[LOCATION]", "[DATA_STORE]", "[BRANCH]"),
            Filter = "",
            Force = false,
            GcsSource = new GcsSource(),
            ErrorConfig = new PurgeErrorConfig(),
        };
        // Make the request
        Operation<PurgeDocumentsResponse, PurgeDocumentsMetadata> response = documentServiceClient.PurgeDocuments(request);

        // Poll until the returned long-running operation is complete
        Operation<PurgeDocumentsResponse, PurgeDocumentsMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        PurgeDocumentsResponse result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<PurgeDocumentsResponse, PurgeDocumentsMetadata> retrievedResponse = documentServiceClient.PollOncePurgeDocuments(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            PurgeDocumentsResponse retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Antes de probar este código de muestra, sigue las instrucciones de configuración para Go que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de GoGemini Enterprise.

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


package main

import (
	"context"

	discoveryengine "cloud.google.com/go/discoveryengine/apiv1"
	discoveryenginepb "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := discoveryengine.NewDocumentClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &discoveryenginepb.PurgeDocumentsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb#PurgeDocumentsRequest.
	}
	op, err := c.PurgeDocuments(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Antes de probar este código de muestra, sigue las instrucciones de configuración Java que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de JavaGemini Enterprise.

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

import com.google.cloud.discoveryengine.v1.BranchName;
import com.google.cloud.discoveryengine.v1.DocumentServiceClient;
import com.google.cloud.discoveryengine.v1.PurgeDocumentsRequest;
import com.google.cloud.discoveryengine.v1.PurgeDocumentsResponse;
import com.google.cloud.discoveryengine.v1.PurgeErrorConfig;

public class SyncPurgeDocuments {

  public static void main(String[] args) throws Exception {
    syncPurgeDocuments();
  }

  public static void syncPurgeDocuments() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DocumentServiceClient documentServiceClient = DocumentServiceClient.create()) {
      PurgeDocumentsRequest request =
          PurgeDocumentsRequest.newBuilder()
              .setParent(
                  BranchName.ofProjectLocationDataStoreBranchName(
                          "[PROJECT]", "[LOCATION]", "[DATA_STORE]", "[BRANCH]")
                      .toString())
              .setFilter("filter-1274492040")
              .setErrorConfig(PurgeErrorConfig.newBuilder().build())
              .setForce(true)
              .build();
      PurgeDocumentsResponse response = documentServiceClient.purgeDocumentsAsync(request).get();
    }
  }
}

Node.js

Antes de probar este código de muestra, sigue las instrucciones de configuración Node.js que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Node.jsGemini Enterprise.

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

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Cloud Storage location for the input content.
 *  Supported `data_schema`:
 *  * `document_id`: One valid
 *  Document.id google.cloud.discoveryengine.v1.Document.id  per line.
 */
// const gcsSource = {}
/**
 *  Inline source for the input content for purge.
 */
// const inlineSource = {}
/**
 *  Required. The parent resource name, such as
 *  `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.
 */
// const parent = 'abc123'
/**
 *  Required. Filter matching documents to purge. Only currently supported
 *  value is
 *  `*` (all items).
 */
// const filter = 'abc123'
/**
 *  The desired location of errors incurred during the purge.
 */
// const errorConfig = {}
/**
 *  Actually performs the purge. If `force` is set to false, return the
 *  expected purge count without deleting any documents.
 */
// const force = true

// Imports the Discoveryengine library
const {DocumentServiceClient} = require('@google-cloud/discoveryengine').v1;

// Instantiates a client
const discoveryengineClient = new DocumentServiceClient();

async function callPurgeDocuments() {
  // Construct request
  const request = {
    parent,
    filter,
  };

  // Run request
  const [operation] = await discoveryengineClient.purgeDocuments(request);
  const [response] = await operation.promise();
  console.log(response);
}

callPurgeDocuments();

Python

Antes de probar este código de muestra, sigue las instrucciones de configuración Python que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PythonGemini Enterprise.

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

from google.api_core.client_options import ClientOptions
from google.cloud import discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"
# location = "YOUR_LOCATION"            # Values: "global", "us", "eu"
# data_store_id = "YOUR_DATA_STORE_ID"


def purge_documents_sample(
    project_id: str, location: str, data_store_id: str
) -> discoveryengine.PurgeDocumentsMetadata:
    #  For more information, refer to:
    # https://cloud.google.com/generative-ai-app-builder/docs/locations#specify_a_multi-region_for_your_data_store
    client_options = (
        ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
        if location != "global"
        else None
    )

    # Create a client
    client = discoveryengine.DocumentServiceClient(client_options=client_options)

    operation = client.purge_documents(
        request=discoveryengine.PurgeDocumentsRequest(
            # The full resource name of the search engine branch.
            # e.g. projects/{project}/locations/{location}/dataStores/{data_store_id}/branches/{branch}
            parent=client.branch_path(
                project=project_id,
                location=location,
                data_store=data_store_id,
                branch="default_branch",
            ),
            filter="*",
            # If force is set to `False`, return the expected purge count without deleting any documents.
            force=True,
        )
    )

    print(f"Waiting for operation to complete: {operation.operation.name}")
    response = operation.result()

    # After the operation is complete,
    # get information from operation metadata
    metadata = discoveryengine.PurgeDocumentsMetadata(operation.metadata)

    # Handle the response
    print(response)
    print(metadata)

    return metadata

Ruby

Antes de probar este código de muestra, sigue las instrucciones de configuración Ruby que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de RubyGemini Enterprise.

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

require "google/cloud/discovery_engine/v1"

##
# Snippet for the purge_documents call in the DocumentService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DiscoveryEngine::V1::DocumentService::Client#purge_documents.
#
def purge_documents
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::DiscoveryEngine::V1::DocumentService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::DiscoveryEngine::V1::PurgeDocumentsRequest.new

  # Call the purge_documents method.
  result = client.purge_documents request

  # The returned object is of type Gapic::Operation. You can use it to
  # check the status of an operation, cancel it, or wait for results.
  # Here is how to wait for a response.
  result.wait_until_done! timeout: 60
  if result.response?
    p result.response
  else
    puts "No response received."
  end
end