Eliminare definitivamente i dati da un datastore

Questa pagina descrive come eliminare definitivamente tutti i dati in un datastore strutturato o non strutturato.

Elimina definitivamente i dati in un datastore se vuoi eliminare completamente i contenuti del datastore prima di reimportare dati aggiornati. L'eliminazione definitiva di un datastore elimina solo i dati nel datastore, lasciando intatte l'app, lo schema e le configurazioni.

Per informazioni su come eliminare un datastore, consulta Eliminare un datastore.

Datastore del sito web

L'eliminazione definitiva non è un'opzione per i datastore del sito web perché puoi rimuovere i siti web dai datastore del sito web in base alle esigenze.

Elimina definitivamente i dati

Per eliminare definitivamente i dati da un datastore:

Console

Per utilizzare la Google Cloud console per eliminare definitivamente i dati da un ramo di un datastore strutturato, non strutturato, o sanitario:

  1. Nella Google Cloud console, vai alla pagina AI Applications.

    AI Applications

  2. Nel menu di navigazione, fai clic su Datastore.

  3. Nella colonna Nome, fai clic sul datastore da eliminare definitivamente.

  4. Nella scheda Documenti, fai clic su Elimina definitivamente i dati.

  5. Leggi l'avviso nella finestra di dialogo Conferma eliminazione definitiva dei dati. Se vuoi continuare, inserisci il nome del datastore e fai clic su Conferma. L'eliminazione definitiva dei dati è un'operazione a lunga esecuzione. Per saperne di più, consulta Monitorare le operazioni a lunga esecuzione.

  6. Fai clic sulla scheda Attività per monitorare l'avanzamento dell'operazione di eliminazione definitiva.

REST

Per utilizzare la riga di comando per eliminare definitivamente i dati da un ramo di un datastore strutturato o non strutturato:

  1. Trova l'ID del datastore. Se hai già l'ID del datastore, vai al passaggio successivo.

    1. Nella Google Cloud console, vai alla pagina AI Applications e nel menu di navigazione, fai clic su Datastore.

      Vai alla pagina Datastore

    2. Fai clic sul nome del tuo datastore.

    3. Nella pagina Dati del datastore, recupera l'ID del datastore.

  2. Chiama il documents.purge metodo.

    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
    }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: Google Cloud project.
    • DATA_STORE_ID: l'ID del datastore di Ricerca agente.
    • FORCE: un valore booleano che specifica se eliminare i dati dal ramo del datastore.
      • Se true, elimina tutti i dati dal ramo
      • Se false, non elimina i dati e restituisce un elenco di documenti nel ramo.
      • Se force viene omesso, il valore predefinito è false.
  3. (Facoltativo) Prendi nota del valore name restituito dal metodo documents.purge e segui le istruzioni riportate in Recuperare i dettagli di un'operazione a lunga esecuzione per vedere quando l'operazione di eliminazione definitiva è completata.

C#

Per saperne di più, consulta la documentazione di riferimento dell' API C# di Ricerca agente.

Per eseguire l'autenticazione in Ricerca agente, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per saperne di più, consulta la documentazione di riferimento dell' API Go di Ricerca agente.

Per eseguire l'autenticazione in Ricerca agente, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.


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

Per saperne di più, consulta la documentazione di riferimento dell' API di Ricerca agente Java.

Per eseguire l'autenticazione in Ricerca agente, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per saperne di più, consulta la documentazione di riferimento dell' API Node.js di Ricerca agente.

Per eseguire l'autenticazione in Ricerca agente, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

/**
 * 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

Per saperne di più, consulta la documentazione di riferimento dell' API di Ricerca agente Python.

Per eseguire l'autenticazione in Ricerca agente, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per saperne di più, consulta la documentazione di riferimento dell' API di Ricerca agente Ruby.

Per eseguire l'autenticazione in Ricerca agente, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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