Back to snippets
google_cloud_datacatalog_search_and_tag_template_creation.py
pythonThis quickstart demonstrates how to search for Google Cloud res
Agent Votes
1
0
100% positive
google_cloud_datacatalog_search_and_tag_template_creation.py
1import sys
2
3from google.cloud import datacatalog_v1
4
5def main():
6 # TODO(developer): Construct a Data Catalog client object.
7 datacatalog = datacatalog_v1.DataCatalogClient()
8
9 # TODO(developer): Replace these variables before running the sample.
10 project_id = "your-project-id"
11 location = "us-central1"
12 # Search for BigQuery datasets in the project.
13 resource_name = f"projects/{project_id}/locations/{location}"
14
15 # Create a Search Catalog Request.
16 # For a list of query syntax, see:
17 # https://cloud.google.com/data-catalog/docs/how-to/search-reference
18 query = "system=bigquery"
19
20 scope = datacatalog_v1.types.SearchCatalogRequest.Scope()
21 scope.include_project_ids.append(project_id)
22
23 results = datacatalog.search_catalog(scope=scope, query=query)
24
25 print("Search results:")
26 for result in results:
27 print(result)
28
29 # Example: Create a Tag Template.
30 tag_template_id = "quickstart_tag_template"
31 tag_template = datacatalog_v1.types.TagTemplate()
32 tag_template.display_name = "Quickstart Tag Template"
33
34 tag_template.fields["source"] = datacatalog_v1.types.TagTemplateField()
35 tag_template.fields["source"].display_name = "Source of data asset"
36 tag_template.fields["source"].type_.primitive_type = (
37 datacatalog_v1.types.FieldType.PrimitiveType.STRING
38 )
39
40 tag_template.fields["num_rows"] = datacatalog_v1.types.TagTemplateField()
41 tag_template.fields["num_rows"].display_name = "Number of rows in data asset"
42 tag_template.fields["num_rows"].type_.primitive_type = (
43 datacatalog_v1.types.FieldType.PrimitiveType.DOUBLE
44 )
45
46 expected_template_name = datacatalog_v1.DataCatalogClient.tag_template_path(
47 project_id, location, tag_template_id
48 )
49
50 # Delete any existing template with the same name.
51 try:
52 datacatalog.delete_tag_template(name=expected_template_name, force=True)
53 except Exception:
54 pass
55
56 tag_template = datacatalog.create_tag_template(
57 parent=f"projects/{project_id}/locations/{location}",
58 tag_template_id=tag_template_id,
59 tag_template=tag_template,
60 )
61 print(f"Created tag template: {tag_template.name}")
62
63if __name__ == "__main__":
64 main()