Crear taxonomía

Crear una taxonomía nueva.

Muestra de código

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para Go que se encuentran en la guía de inicio rápido de Data Catalog con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Data Catalog para Go.

import (
	"context"
	"fmt"
	"io"

	datacatalog "cloud.google.com/go/datacatalog/apiv1beta1"
	datacatalogpb "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1"
)

// createTaxonomy creates a taxonomy resource, which holds the collection of policy tags.
//
// This example marks the taxonomy as valid for defining fine grained access control, also
// known as column-level access control when used in conjunction with BigQuery.
func createTaxonomy(w io.Writer, projectID, location, displayName string) (string, error) {
	// projectID := "my-project-id"
	// location := "us"
	// displayName := "example-taxonomy"
	ctx := context.Background()
	policyClient, err := datacatalog.NewPolicyTagManagerClient(ctx)
	if err != nil {
		return "", fmt.Errorf("datacatalog.NewPolicyTagManagerClient: %v", err)
	}
	defer policyClient.Close()

	req := &datacatalogpb.CreateTaxonomyRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
		Taxonomy: &datacatalogpb.Taxonomy{
			DisplayName: displayName,
			Description: "Taxonomy created via basic snippet testing",
			ActivatedPolicyTypes: []datacatalogpb.Taxonomy_PolicyType{
				datacatalogpb.Taxonomy_FINE_GRAINED_ACCESS_CONTROL,
			},
		},
	}
	resp, err := policyClient.CreateTaxonomy(ctx, req)
	if err != nil {
		return "", fmt.Errorf("CreateTaxonomy: %v", err)
	}

	fmt.Fprintf(w, "Taxonomy %s was created.\n", resp.Name)
	return resp.Name, nil
}

Node.js

Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido de Data Catalog con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Data Catalog para Node.js.

// Import the Google Cloud client library.
const {DataCatalogClient, PolicyTagManagerClient} =
  require('@google-cloud/datacatalog').v1;
const dataCatalog = new DataCatalogClient();
const policyTagManager = new PolicyTagManagerClient();

async function createTaxonomy() {
  // const location = 'us';
  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const projectId = 'my_project'; // Google Cloud Platform project
  // const location = 'us'
  // const displayName = 'my_display_name'; // Display name for new taxonomy.

  // Parent project location format is `projects/${projectId}/locations/${location}`
  const parent = dataCatalog.locationPath(projectId, location);

  const request = {
    parent: parent,
    taxonomy: {
      displayName: displayName,
      activatedPolicyTypes: ['FINE_GRAINED_ACCESS_CONTROL'],
    },
  };

  try {
    const [metadata] = await policyTagManager.createTaxonomy(request);
    console.log(`Created taxonomy: ${metadata.name}`);
  } catch (e) {
    console.error(e);
    process.exitCode = 1;
  }
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido de Data Catalog con bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Data Catalog para Python.

from google.cloud import datacatalog_v1

def create_taxonomy(
    # TODO(developer): Set project_id to the ID of the project the
    #  taxonomy will belong to.
    project_id: str = "your-project-id",
    # TODO(developer): Specify the geographic location where the
    #  taxonomy should reside.
    location_id: str = "us",
    # TODO(developer): Set the display name of the taxonomy.
    display_name: str = "example-taxonomy",
):
    # TODO(developer): Construct a Policy Tag Manager client object. To avoid
    # extra delays due to authentication, create a single client for your
    # program and share it across operations.
    client = datacatalog_v1.PolicyTagManagerClient()

    # Construct a full location path to be the parent of the taxonomy.
    parent = datacatalog_v1.PolicyTagManagerClient.common_location_path(
        project_id, location_id
    )

    # TODO(developer): Construct a full Taxonomy object to send to the API.
    taxonomy = datacatalog_v1.Taxonomy()
    taxonomy.display_name = display_name
    taxonomy.description = "This Taxonomy represents ..."

    # Send the taxonomy to the API for creation.
    taxonomy = client.create_taxonomy(parent=parent, taxonomy=taxonomy)
    print(f"Created taxonomy {taxonomy.name}")

¿Qué sigue?

Para buscar y filtrar muestras de código de otros productos de Google Cloud, consulta el navegador de muestras de Google Cloud.