Guidelines to name a Knowledge Catalog resource

A Google Cloud resource is any component that you create or use within Google Cloud. These resources form the building blocks of your applications and systems running on the platform.

For more information on general Google Cloud resource naming, see Resource names.

Resource naming format

The following table lists the full resource name formats for Knowledge Catalog resources:

Resource Full resource name format
Entry group projects/{PROJECT_ID}/locations/{LOCATION}/entryGroups/{ENTRY_GROUP_ID}
Entry projects/{PROJECT_ID}/locations/{LOCATION}/entryGroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}
Entry type projects/{PROJECT_ID}/locations/{LOCATION}/entryTypes/{ENTRY_TYPE_ID}
Aspect type projects/{PROJECT_ID}/locations/{LOCATION}/aspectTypes/{ASPECT_TYPE_ID}
Entry link projects/{PROJECT_ID}/locations/{LOCATION}/entryGroups/{ENTRY_GROUP_ID}/entryLinks/{ENTRY_LINK_ID}
Metadata job projects/{PROJECT_ID}/locations/{LOCATION}/metadataJobs/{METADATA_JOB_ID}
Metadata feed projects/{PROJECT_ID}/locations/{LOCATION}/metadataFeeds/{METADATA_FEED_ID}
Glossary projects/{PROJECT_ID}/locations/{LOCATION}/glossaries/{GLOSSARY_ID}
Glossary category projects/{PROJECT_ID}/locations/{LOCATION}/glossaries/{GLOSSARY_ID}/categories/{GLOSSARY_CATEGORY_ID}
Glossary term projects/{PROJECT_ID}/locations/{LOCATION}/glossaries/{GLOSSARY_ID}/terms/{GLOSSARY_TERM_ID}
Data product projects/{PROJECT_ID}/locations/{LOCATION}/dataProducts/{DATA_PRODUCT_ID}
Data domain projects/{PROJECT_ID}/locations/{LOCATION}/dataDomains/{DATA_DOMAIN_ID}
Lineage process projects/{PROJECT_ID}/locations/{LOCATION}/processes/{PROCESS_ID}
Lineage run projects/{PROJECT_ID}/locations/{LOCATION}/processes/{PROCESS_ID}/runs/{RUN_ID}
Lineage event projects/{PROJECT_ID}/locations/{LOCATION}/processes/{PROCESS_ID}/runs/{RUN_ID}/lineageEvents/{LINEAGE_EVENT_ID}

Resource name components

The following sections provide a breakdown of each component.

Project ID

The value must be the project ID or project number, available from the Google Cloud console. For example, my-cool-project is a project ID, while 123456789123 is a project number.

Location

The value must be one of the supported Knowledge Catalog locations. For a list of available locations, see Knowledge Catalog locations.

Resource ID

Resource paths contain unique identifier (ID) segments for each resource and its parent resources in the hierarchy. The following sections explain the naming guidelines and formatting requirements for each type of resource ID.

Standard resource IDs

Except for entry IDs and data lineage resource IDs, all resource ID variables, such as {ENTRY_GROUP_ID} and {GLOSSARY_ID}, must conform to the following guidelines:

  • Start with a lowercase letter.
  • Contain between 1 and 63 characters.
  • Contain only lowercase letters, numbers, hyphens, and underscores.
  • End with a number or a lowercase letter.

System entry groups

Entry IDs

The naming guidelines for an {ENTRY_ID} are different:

  • Contain up to 4000 characters.
  • Use an entry ID format based on the Google Cloud full resource name. The format is the full resource name of the resource without the prefix double slashes in the API service name part. This allows retrieval of entries using their associated resource name.

    For example:

    • If the full resource name of a Looker instance is //looker.googleapis.com/projects/my-project/locations/us-central1/instances/my-instance, then the suggested {ENTRY_ID} is looker.googleapis.com/projects/my-project/locations/us-central1/instances/my-instance.

Data lineage resource IDs

Data lineage resources represent a hierarchy of data transformation operations:

  • Process ID ({PROCESS_ID}): Identifies the definition of a data transformation (such as a specific SQL query or ETL pipeline).
  • Run ID ({RUN_ID}): Identifies a single execution instance of a parent process.
  • Lineage event ID ({LINEAGE_EVENT_ID}): Identifies a discrete data movement event between sources and targets that occurred during a run.

When you create custom lineage resources through the API, the variables {PROCESS_ID}, {RUN_ID}, and {LINEAGE_EVENT_ID} must conform to the following guidelines:

  • Contain up to 200 characters.
  • Contain only letters (case-sensitive), numbers, hyphens, underscores, colons, and dots.

For automated lineage (such as BigQuery queries, Managed Service for Apache Spark, or OpenLineage ingestion), Knowledge Catalog generates these IDs automatically.

BigQuery entry names

When you interact with BigQuery resources through the Knowledge Catalog APIs, you must use specific formatting for the entry group ID and entry ID.

  • Entry group ID: @bigquery
  • Entry ID: bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}

Example

If your BigQuery table is projects/test-project/datasets/test_dataset/tables/test_table, the fully qualified Knowledge Catalog entry name is the following:

projects/{PROJECT_ID}/locations/{LOCATION}/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/test-project/datasets/test_dataset/tables/test_table