Importa entità amministratore in Datastore

Importa entità amministratore in Datastore

Esempio di codice

C#

Per scoprire come installare e utilizzare la libreria client per la modalità Datastore, consulta la pagina relativa alle librerie client in modalità Datastore. Per scoprire di più, consulta la documentazione di riferimento per l'API C# della modalità Datastore.

Per eseguire l'autenticazione in modalità Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


using Google.Cloud.Datastore.Admin.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;
using System;
using System.Collections.Generic;

public class ImportEntitiesSample
{
    public bool ImportEntities(
        string projectId = "your-project-id",
        string inputUrl = "gs://datastore-admin-bucket/data_to_import",
        string kind = "Task",
        string namespaceId = "default")
    {
        // Create client
        DatastoreAdminClient datastoreAdminClient = DatastoreAdminClient.Create();

        IDictionary<string, string> labels = new Dictionary<string, string> { { "cloud_datastore_samples", "true" }, };
        EntityFilter entityFilter = new EntityFilter()
        {
            Kinds = { kind },
            NamespaceIds = { namespaceId }
        };

        Operation<Empty, ImportEntitiesMetadata> response = datastoreAdminClient.ImportEntities(projectId, labels, inputUrl, entityFilter);

        // Poll until the returned long-running operation is complete
        Operation<Empty, ImportEntitiesMetadata> completedResponse = response.PollUntilCompleted();

        if (completedResponse.IsFaulted)
        {
            Console.WriteLine($"Error while Importing Entities: {completedResponse.Exception}");
            throw completedResponse.Exception;
        }

        Console.WriteLine($"Entities imported successfully.");

        return completedResponse.IsCompleted;
    }
}

Go

Per scoprire come installare e utilizzare la libreria client per la modalità Datastore, consulta la pagina relativa alle librerie client in modalità Datastore. Per scoprire di più, consulta la documentazione di riferimento per l'API Go della modalità Datastore.

Per eseguire l'autenticazione in modalità Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

import (
	"context"
	"fmt"
	"io"

	admin "cloud.google.com/go/datastore/admin/apiv1"
	adminpb "google.golang.org/genproto/googleapis/datastore/admin/v1"
)

// entitiesImport imports entities into Datastore.
func entitiesImport(w io.Writer, projectID, inputURL string) error {
	// projectID := "project-id"
	// inputURL := "gs://bucket-name/overall-export-metadata-file"
	ctx := context.Background()
	client, err := admin.NewDatastoreAdminClient(ctx)
	if err != nil {
		return fmt.Errorf("admin.NewDatastoreAdminClient: %w", err)
	}
	defer client.Close()

	req := &adminpb.ImportEntitiesRequest{
		ProjectId: projectID,
		InputUrl:  inputURL,
	}
	op, err := client.ImportEntities(ctx, req)
	if err != nil {
		return fmt.Errorf("ImportEntities: %w", err)
	}
	if err = op.Wait(ctx); err != nil {
		return fmt.Errorf("Wait: %w", err)
	}
	fmt.Fprintf(w, "Entities were imported\n")
	return nil
}

Node.js

Per scoprire come installare e utilizzare la libreria client per la modalità Datastore, consulta la pagina relativa alle librerie client in modalità Datastore. Per scoprire di più, consulta la documentazione di riferimento per l'API Node.js della modalità Datastore.

Per eseguire l'autenticazione in modalità Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();

async function importEntities() {
  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  // const file = 'YOUR_FILE_NAME';

  const [importOperation] = await datastore.import({file});

  // Uncomment to await the results of the operation.
  // await importOperation.promise();

  // Or cancel the operation.
  await importOperation.cancel();

  // You may also choose to include only specific kinds and namespaces.
  const [specificImportOperation] = await datastore.import({
    file,
    kinds: ['Employee', 'Task'],
    namespaces: ['Company'],
  });

  // Uncomment to await the results of the operation.
  // await specificImportOperation.promise();

  // Or cancel the operation.
  await specificImportOperation.cancel();
}

await importEntities();

Python

Per scoprire come installare e utilizzare la libreria client per la modalità Datastore, consulta la pagina relativa alle librerie client in modalità Datastore. Per scoprire di più, consulta la documentazione di riferimento per l'API Python della modalità Datastore.

Per eseguire l'autenticazione in modalità Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

def import_entities(project_id, input_url):
    """Imports entities into Datastore."""
    # project_id := "project-id"
    # input_url := "gs://bucket-name/overall-export-metadata-file"
    client = DatastoreAdminClient()

    op = client.import_entities(
        {"project_id": project_id, "input_url": input_url}
    )
    response = op.result(timeout=300)

    print("Entities were imported\n")
    return response

Ruby

Per scoprire come installare e utilizzare la libreria client per la modalità Datastore, consulta la pagina relativa alle librerie client in modalità Datastore. Per scoprire di più, consulta la documentazione di riferimento per l'API Ruby della modalità Datastore.

Per eseguire l'autenticazione in modalità Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

# project_id = "project-id"
# input_url = "gs://bucket-name/overall-export-metadata-file"
op = client.import_entities project_id: project_id, input_url: input_url

op.wait_until_done!
raise op.error.message if op.error?

response = op.response
# Process the response.

metadata = op.metadata
# Process the metadata.

puts "Entities were imported"

Passaggi successivi

Per cercare e filtrare esempi di codice per altri prodotti Google Cloud, consulta il browser di esempio Google Cloud.