Class DataCatalogClient

public class DataCatalogClient implements BackgroundResource

Service Description: Data Catalog API service allows you to discover, understand, and manage your data.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
   String entryGroupId = "entryGroupId1228924712";
   EntryGroup entryGroup = EntryGroup.newBuilder().build();
   EntryGroup response = dataCatalogClient.createEntryGroup(parent, entryGroupId, entryGroup);
 }
 

Note: close() needs to be called on the DataCatalogClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of DataCatalogSettings to create(). For example:

To customize credentials:


 DataCatalogSettings dataCatalogSettings =
     DataCatalogSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 DataCatalogClient dataCatalogClient = DataCatalogClient.create(dataCatalogSettings);
 

To customize the endpoint:


 DataCatalogSettings dataCatalogSettings =
     DataCatalogSettings.newBuilder().setEndpoint(myEndpoint).build();
 DataCatalogClient dataCatalogClient = DataCatalogClient.create(dataCatalogSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > DataCatalogClient

Implements

BackgroundResource

Static Methods

create()

public static final DataCatalogClient create()

Constructs an instance of DataCatalogClient with default settings.

Returns
TypeDescription
DataCatalogClient
Exceptions
TypeDescription
IOException

create(DataCatalogSettings settings)

public static final DataCatalogClient create(DataCatalogSettings settings)

Constructs an instance of DataCatalogClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsDataCatalogSettings
Returns
TypeDescription
DataCatalogClient
Exceptions
TypeDescription
IOException

create(DataCatalogStub stub)

public static final DataCatalogClient create(DataCatalogStub stub)

Constructs an instance of DataCatalogClient, using the given stub for making calls. This is for advanced usage - prefer using create(DataCatalogSettings).

Parameter
NameDescription
stubDataCatalogStub
Returns
TypeDescription
DataCatalogClient

Constructors

DataCatalogClient(DataCatalogSettings settings)

protected DataCatalogClient(DataCatalogSettings settings)

Constructs an instance of DataCatalogClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsDataCatalogSettings

DataCatalogClient(DataCatalogStub stub)

protected DataCatalogClient(DataCatalogStub stub)
Parameter
NameDescription
stubDataCatalogStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

createEntry(CreateEntryRequest request)

public final Entry createEntry(CreateEntryRequest request)

Creates an entry.

You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

An entry group can have a maximum of 100,000 entries.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateEntryRequest request =
       CreateEntryRequest.newBuilder()
           .setParent(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setEntryId("entryId-1591558867")
           .setEntry(Entry.newBuilder().build())
           .build();
   Entry response = dataCatalogClient.createEntry(request);
 }
 
Parameter
NameDescription
requestCreateEntryRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Entry

createEntry(EntryGroupName parent, String entryId, Entry entry)

public final Entry createEntry(EntryGroupName parent, String entryId, Entry entry)

Creates an entry.

You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

An entry group can have a maximum of 100,000 entries.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryGroupName parent = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]");
   String entryId = "entryId-1591558867";
   Entry entry = Entry.newBuilder().build();
   Entry response = dataCatalogClient.createEntry(parent, entryId, entry);
 }
 
Parameters
NameDescription
parentEntryGroupName

Required. The name of the entry group this entry belongs to.

Note: The entry itself and its child resources might not be stored in the location specified in its name.

entryIdString

Required. The ID of the entry to create.

The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores (_). The maximum size is 64 bytes when encoded in UTF-8.

entryEntry

Required. The entry to create.

Returns
TypeDescription
Entry

createEntry(String parent, String entryId, Entry entry)

public final Entry createEntry(String parent, String entryId, Entry entry)

Creates an entry.

You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

An entry group can have a maximum of 100,000 entries.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String parent = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString();
   String entryId = "entryId-1591558867";
   Entry entry = Entry.newBuilder().build();
   Entry response = dataCatalogClient.createEntry(parent, entryId, entry);
 }
 
Parameters
NameDescription
parentString

Required. The name of the entry group this entry belongs to.

Note: The entry itself and its child resources might not be stored in the location specified in its name.

entryIdString

Required. The ID of the entry to create.

The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores (_). The maximum size is 64 bytes when encoded in UTF-8.

entryEntry

Required. The entry to create.

Returns
TypeDescription
Entry

createEntryCallable()

public final UnaryCallable<CreateEntryRequest,Entry> createEntryCallable()

Creates an entry.

You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

An entry group can have a maximum of 100,000 entries.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateEntryRequest request =
       CreateEntryRequest.newBuilder()
           .setParent(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setEntryId("entryId-1591558867")
           .setEntry(Entry.newBuilder().build())
           .build();
   ApiFuture<Entry> future = dataCatalogClient.createEntryCallable().futureCall(request);
   // Do something.
   Entry response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateEntryRequest,Entry>

createEntryGroup(CreateEntryGroupRequest request)

public final EntryGroup createEntryGroup(CreateEntryGroupRequest request)

Creates an entry group.

An entry group contains logically related entries together with Cloud Identity and Access Management policies. These policies specify users who can create, edit, and view entries within entry groups.

Data Catalog automatically creates entry groups with names that start with the @ symbol for the following resources:

  • BigQuery entries (@bigquery)
  • Pub/Sub topics (@pubsub)
  • Dataproc Metastore services (@dataproc_metastore_{SERVICE_NAME_HASH})

You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the @ symbol, it is reserved for automatically created groups.

Entry groups, like entries, can be searched.

A maximum of 10,000 entry groups may be created per organization across all locations.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateEntryGroupRequest request =
       CreateEntryGroupRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setEntryGroupId("entryGroupId1228924712")
           .setEntryGroup(EntryGroup.newBuilder().build())
           .build();
   EntryGroup response = dataCatalogClient.createEntryGroup(request);
 }
 
Parameter
NameDescription
requestCreateEntryGroupRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
EntryGroup

createEntryGroup(LocationName parent, String entryGroupId, EntryGroup entryGroup)

public final EntryGroup createEntryGroup(LocationName parent, String entryGroupId, EntryGroup entryGroup)

Creates an entry group.

An entry group contains logically related entries together with Cloud Identity and Access Management policies. These policies specify users who can create, edit, and view entries within entry groups.

Data Catalog automatically creates entry groups with names that start with the @ symbol for the following resources:

  • BigQuery entries (@bigquery)
  • Pub/Sub topics (@pubsub)
  • Dataproc Metastore services (@dataproc_metastore_{SERVICE_NAME_HASH})

You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the @ symbol, it is reserved for automatically created groups.

Entry groups, like entries, can be searched.

A maximum of 10,000 entry groups may be created per organization across all locations.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
   String entryGroupId = "entryGroupId1228924712";
   EntryGroup entryGroup = EntryGroup.newBuilder().build();
   EntryGroup response = dataCatalogClient.createEntryGroup(parent, entryGroupId, entryGroup);
 }
 
Parameters
NameDescription
parentLocationName

Required. The names of the project and location that the new entry group belongs to.

Note: The entry group itself and its child resources might not be stored in the location specified in its name.

entryGroupIdString

Required. The ID of the entry group to create.

The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8.

entryGroupEntryGroup

The entry group to create. Defaults to empty.

Returns
TypeDescription
EntryGroup

createEntryGroup(String parent, String entryGroupId, EntryGroup entryGroup)

public final EntryGroup createEntryGroup(String parent, String entryGroupId, EntryGroup entryGroup)

Creates an entry group.

An entry group contains logically related entries together with Cloud Identity and Access Management policies. These policies specify users who can create, edit, and view entries within entry groups.

Data Catalog automatically creates entry groups with names that start with the @ symbol for the following resources:

  • BigQuery entries (@bigquery)
  • Pub/Sub topics (@pubsub)
  • Dataproc Metastore services (@dataproc_metastore_{SERVICE_NAME_HASH})

You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the @ symbol, it is reserved for automatically created groups.

Entry groups, like entries, can be searched.

A maximum of 10,000 entry groups may be created per organization across all locations.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
   String entryGroupId = "entryGroupId1228924712";
   EntryGroup entryGroup = EntryGroup.newBuilder().build();
   EntryGroup response = dataCatalogClient.createEntryGroup(parent, entryGroupId, entryGroup);
 }
 
Parameters
NameDescription
parentString

Required. The names of the project and location that the new entry group belongs to.

Note: The entry group itself and its child resources might not be stored in the location specified in its name.

entryGroupIdString

Required. The ID of the entry group to create.

The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8.

entryGroupEntryGroup

The entry group to create. Defaults to empty.

Returns
TypeDescription
EntryGroup

createEntryGroupCallable()

public final UnaryCallable<CreateEntryGroupRequest,EntryGroup> createEntryGroupCallable()

Creates an entry group.

An entry group contains logically related entries together with Cloud Identity and Access Management policies. These policies specify users who can create, edit, and view entries within entry groups.

Data Catalog automatically creates entry groups with names that start with the @ symbol for the following resources:

  • BigQuery entries (@bigquery)
  • Pub/Sub topics (@pubsub)
  • Dataproc Metastore services (@dataproc_metastore_{SERVICE_NAME_HASH})

You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the @ symbol, it is reserved for automatically created groups.

Entry groups, like entries, can be searched.

A maximum of 10,000 entry groups may be created per organization across all locations.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateEntryGroupRequest request =
       CreateEntryGroupRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setEntryGroupId("entryGroupId1228924712")
           .setEntryGroup(EntryGroup.newBuilder().build())
           .build();
   ApiFuture<EntryGroup> future =
       dataCatalogClient.createEntryGroupCallable().futureCall(request);
   // Do something.
   EntryGroup response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateEntryGroupRequest,EntryGroup>

createTag(CreateTagRequest request)

public final Tag createTag(CreateTagRequest request)

Creates a tag and assigns it to:

  • An Entry if the method name is projects.locations.entryGroups.entries.tags.create.
  • Or EntryGroupif the method name is projects.locations.entryGroups.tags.create.

Note: The project identified by the parent parameter for the tag and the tag template used to create the tag must be in the same organization.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateTagRequest request =
       CreateTagRequest.newBuilder()
           .setParent(
               TagName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]", "[TAG]")
                   .toString())
           .setTag(Tag.newBuilder().build())
           .build();
   Tag response = dataCatalogClient.createTag(request);
 }
 
Parameter
NameDescription
requestCreateTagRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Tag

createTag(TagName parent, Tag tag)

public final Tag createTag(TagName parent, Tag tag)

Creates a tag and assigns it to:

  • An Entry if the method name is projects.locations.entryGroups.entries.tags.create.
  • Or EntryGroupif the method name is projects.locations.entryGroups.tags.create.

Note: The project identified by the parent parameter for the tag and the tag template used to create the tag must be in the same organization.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   TagName parent = TagName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]", "[TAG]");
   Tag tag = Tag.newBuilder().build();
   Tag response = dataCatalogClient.createTag(parent, tag);
 }
 
Parameters
NameDescription
parentTagName

Required. The name of the resource to attach this tag to.

Tags can be attached to entries or entry groups. An entry can have up to 1000 attached tags.

Note: The tag and its child resources might not be stored in the location specified in its name.

tagTag

Required. The tag to create.

Returns
TypeDescription
Tag

createTag(String parent, Tag tag)

public final Tag createTag(String parent, Tag tag)

Creates a tag and assigns it to:

  • An Entry if the method name is projects.locations.entryGroups.entries.tags.create.
  • Or EntryGroupif the method name is projects.locations.entryGroups.tags.create.

Note: The project identified by the parent parameter for the tag and the tag template used to create the tag must be in the same organization.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String parent =
       TagName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]", "[TAG]").toString();
   Tag tag = Tag.newBuilder().build();
   Tag response = dataCatalogClient.createTag(parent, tag);
 }
 
Parameters
NameDescription
parentString

Required. The name of the resource to attach this tag to.

Tags can be attached to entries or entry groups. An entry can have up to 1000 attached tags.

Note: The tag and its child resources might not be stored in the location specified in its name.

tagTag

Required. The tag to create.

Returns
TypeDescription
Tag

createTagCallable()

public final UnaryCallable<CreateTagRequest,Tag> createTagCallable()

Creates a tag and assigns it to:

  • An Entry if the method name is projects.locations.entryGroups.entries.tags.create.
  • Or EntryGroupif the method name is projects.locations.entryGroups.tags.create.

Note: The project identified by the parent parameter for the tag and the tag template used to create the tag must be in the same organization.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateTagRequest request =
       CreateTagRequest.newBuilder()
           .setParent(
               TagName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]", "[TAG]")
                   .toString())
           .setTag(Tag.newBuilder().build())
           .build();
   ApiFuture<Tag> future = dataCatalogClient.createTagCallable().futureCall(request);
   // Do something.
   Tag response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateTagRequest,Tag>

createTagTemplate(CreateTagTemplateRequest request)

public final TagTemplate createTagTemplate(CreateTagTemplateRequest request)

Creates a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateTagTemplateRequest request =
       CreateTagTemplateRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setTagTemplateId("tagTemplateId-1438776721")
           .setTagTemplate(TagTemplate.newBuilder().build())
           .build();
   TagTemplate response = dataCatalogClient.createTagTemplate(request);
 }
 
Parameter
NameDescription
requestCreateTagTemplateRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
TagTemplate

createTagTemplate(LocationName parent, String tagTemplateId, TagTemplate tagTemplate)

public final TagTemplate createTagTemplate(LocationName parent, String tagTemplateId, TagTemplate tagTemplate)

Creates a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
   String tagTemplateId = "tagTemplateId-1438776721";
   TagTemplate tagTemplate = TagTemplate.newBuilder().build();
   TagTemplate response =
       dataCatalogClient.createTagTemplate(parent, tagTemplateId, tagTemplate);
 }
 
Parameters
NameDescription
parentLocationName

Required. The name of the project and the template location region.

tagTemplateIdString

Required. The ID of the tag template to create.

The ID must contain only lowercase letters (a-z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8.

tagTemplateTagTemplate

Required. The tag template to create.

Returns
TypeDescription
TagTemplate

createTagTemplate(String parent, String tagTemplateId, TagTemplate tagTemplate)

public final TagTemplate createTagTemplate(String parent, String tagTemplateId, TagTemplate tagTemplate)

Creates a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
   String tagTemplateId = "tagTemplateId-1438776721";
   TagTemplate tagTemplate = TagTemplate.newBuilder().build();
   TagTemplate response =
       dataCatalogClient.createTagTemplate(parent, tagTemplateId, tagTemplate);
 }
 
Parameters
NameDescription
parentString

Required. The name of the project and the template location region.

tagTemplateIdString

Required. The ID of the tag template to create.

The ID must contain only lowercase letters (a-z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8.

tagTemplateTagTemplate

Required. The tag template to create.

Returns
TypeDescription
TagTemplate

createTagTemplateCallable()

public final UnaryCallable<CreateTagTemplateRequest,TagTemplate> createTagTemplateCallable()

Creates a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateTagTemplateRequest request =
       CreateTagTemplateRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setTagTemplateId("tagTemplateId-1438776721")
           .setTagTemplate(TagTemplate.newBuilder().build())
           .build();
   ApiFuture<TagTemplate> future =
       dataCatalogClient.createTagTemplateCallable().futureCall(request);
   // Do something.
   TagTemplate response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateTagTemplateRequest,TagTemplate>

createTagTemplateField(CreateTagTemplateFieldRequest request)

public final TagTemplateField createTagTemplateField(CreateTagTemplateFieldRequest request)

Creates a field in a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateTagTemplateFieldRequest request =
       CreateTagTemplateFieldRequest.newBuilder()
           .setParent(TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString())
           .setTagTemplateFieldId("tagTemplateFieldId-1556835615")
           .setTagTemplateField(TagTemplateField.newBuilder().build())
           .build();
   TagTemplateField response = dataCatalogClient.createTagTemplateField(request);
 }
 
Parameter
NameDescription
requestCreateTagTemplateFieldRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
TagTemplateField

createTagTemplateField(TagTemplateName parent, String tagTemplateFieldId, TagTemplateField tagTemplateField)

public final TagTemplateField createTagTemplateField(TagTemplateName parent, String tagTemplateFieldId, TagTemplateField tagTemplateField)

Creates a field in a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   TagTemplateName parent = TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]");
   String tagTemplateFieldId = "tagTemplateFieldId-1556835615";
   TagTemplateField tagTemplateField = TagTemplateField.newBuilder().build();
   TagTemplateField response =
       dataCatalogClient.createTagTemplateField(parent, tagTemplateFieldId, tagTemplateField);
 }
 
Parameters
NameDescription
parentTagTemplateName

Required. The name of the project and the template location region.

tagTemplateFieldIdString

Required. The ID of the tag template field to create.

Note: Adding a required field to an existing template is *not* allowed.

Field IDs can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.

tagTemplateFieldTagTemplateField

Required. The tag template field to create.

Returns
TypeDescription
TagTemplateField

createTagTemplateField(String parent, String tagTemplateFieldId, TagTemplateField tagTemplateField)

public final TagTemplateField createTagTemplateField(String parent, String tagTemplateFieldId, TagTemplateField tagTemplateField)

Creates a field in a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String parent = TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString();
   String tagTemplateFieldId = "tagTemplateFieldId-1556835615";
   TagTemplateField tagTemplateField = TagTemplateField.newBuilder().build();
   TagTemplateField response =
       dataCatalogClient.createTagTemplateField(parent, tagTemplateFieldId, tagTemplateField);
 }
 
Parameters
NameDescription
parentString

Required. The name of the project and the template location region.

tagTemplateFieldIdString

Required. The ID of the tag template field to create.

Note: Adding a required field to an existing template is *not* allowed.

Field IDs can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.

tagTemplateFieldTagTemplateField

Required. The tag template field to create.

Returns
TypeDescription
TagTemplateField

createTagTemplateFieldCallable()

public final UnaryCallable<CreateTagTemplateFieldRequest,TagTemplateField> createTagTemplateFieldCallable()

Creates a field in a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   CreateTagTemplateFieldRequest request =
       CreateTagTemplateFieldRequest.newBuilder()
           .setParent(TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString())
           .setTagTemplateFieldId("tagTemplateFieldId-1556835615")
           .setTagTemplateField(TagTemplateField.newBuilder().build())
           .build();
   ApiFuture<TagTemplateField> future =
       dataCatalogClient.createTagTemplateFieldCallable().futureCall(request);
   // Do something.
   TagTemplateField response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateTagTemplateFieldRequest,TagTemplateField>

deleteEntry(DeleteEntryRequest request)

public final void deleteEntry(DeleteEntryRequest request)

Deletes an existing entry.

You can delete only the entries created by the CreateEntry method.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteEntryRequest request =
       DeleteEntryRequest.newBuilder()
           .setName(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .build();
   dataCatalogClient.deleteEntry(request);
 }
 
Parameter
NameDescription
requestDeleteEntryRequest

The request object containing all of the parameters for the API call.

deleteEntry(EntryName name)

public final void deleteEntry(EntryName name)

Deletes an existing entry.

You can delete only the entries created by the CreateEntry method.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryName name = EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]");
   dataCatalogClient.deleteEntry(name);
 }
 
Parameter
NameDescription
nameEntryName

Required. The name of the entry to delete.

deleteEntry(String name)

public final void deleteEntry(String name)

Deletes an existing entry.

You can delete only the entries created by the CreateEntry method.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name = EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString();
   dataCatalogClient.deleteEntry(name);
 }
 
Parameter
NameDescription
nameString

Required. The name of the entry to delete.

deleteEntryCallable()

public final UnaryCallable<DeleteEntryRequest,Empty> deleteEntryCallable()

Deletes an existing entry.

You can delete only the entries created by the CreateEntry method.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteEntryRequest request =
       DeleteEntryRequest.newBuilder()
           .setName(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .build();
   ApiFuture<Empty> future = dataCatalogClient.deleteEntryCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteEntryRequest,Empty>

deleteEntryGroup(DeleteEntryGroupRequest request)

public final void deleteEntryGroup(DeleteEntryGroupRequest request)

Deletes an entry group.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteEntryGroupRequest request =
       DeleteEntryGroupRequest.newBuilder()
           .setName(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setForce(true)
           .build();
   dataCatalogClient.deleteEntryGroup(request);
 }
 
Parameter
NameDescription
requestDeleteEntryGroupRequest

The request object containing all of the parameters for the API call.

deleteEntryGroup(EntryGroupName name)

public final void deleteEntryGroup(EntryGroupName name)

Deletes an entry group.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryGroupName name = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]");
   dataCatalogClient.deleteEntryGroup(name);
 }
 
Parameter
NameDescription
nameEntryGroupName

Required. The name of the entry group to delete.

deleteEntryGroup(String name)

public final void deleteEntryGroup(String name)

Deletes an entry group.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString();
   dataCatalogClient.deleteEntryGroup(name);
 }
 
Parameter
NameDescription
nameString

Required. The name of the entry group to delete.

deleteEntryGroupCallable()

public final UnaryCallable<DeleteEntryGroupRequest,Empty> deleteEntryGroupCallable()

Deletes an entry group.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteEntryGroupRequest request =
       DeleteEntryGroupRequest.newBuilder()
           .setName(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setForce(true)
           .build();
   ApiFuture<Empty> future = dataCatalogClient.deleteEntryGroupCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteEntryGroupRequest,Empty>

deleteTag(DeleteTagRequest request)

public final void deleteTag(DeleteTagRequest request)

Deletes a tag.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteTagRequest request =
       DeleteTagRequest.newBuilder()
           .setName(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .build();
   dataCatalogClient.deleteTag(request);
 }
 
Parameter
NameDescription
requestDeleteTagRequest

The request object containing all of the parameters for the API call.

deleteTag(EntryName name)

public final void deleteTag(EntryName name)

Deletes a tag.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryName name = EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]");
   dataCatalogClient.deleteTag(name);
 }
 
Parameter
NameDescription
nameEntryName

Required. The name of the tag to delete.

deleteTag(String name)

public final void deleteTag(String name)

Deletes a tag.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name = EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString();
   dataCatalogClient.deleteTag(name);
 }
 
Parameter
NameDescription
nameString

Required. The name of the tag to delete.

deleteTagCallable()

public final UnaryCallable<DeleteTagRequest,Empty> deleteTagCallable()

Deletes a tag.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteTagRequest request =
       DeleteTagRequest.newBuilder()
           .setName(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .build();
   ApiFuture<Empty> future = dataCatalogClient.deleteTagCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteTagRequest,Empty>

deleteTagTemplate(DeleteTagTemplateRequest request)

public final void deleteTagTemplate(DeleteTagTemplateRequest request)

Deletes a tag template and all tags that use it.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteTagTemplateRequest request =
       DeleteTagTemplateRequest.newBuilder()
           .setName(TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString())
           .setForce(true)
           .build();
   dataCatalogClient.deleteTagTemplate(request);
 }
 
Parameter
NameDescription
requestDeleteTagTemplateRequest

The request object containing all of the parameters for the API call.

deleteTagTemplate(TagTemplateName name, boolean force)

public final void deleteTagTemplate(TagTemplateName name, boolean force)

Deletes a tag template and all tags that use it.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   TagTemplateName name = TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]");
   boolean force = true;
   dataCatalogClient.deleteTagTemplate(name, force);
 }
 
Parameters
NameDescription
nameTagTemplateName

Required. The name of the tag template to delete.

forceboolean

Required. If true, deletes all tags that use this template.

Currently, true is the only supported value.

deleteTagTemplate(String name, boolean force)

public final void deleteTagTemplate(String name, boolean force)

Deletes a tag template and all tags that use it.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name = TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString();
   boolean force = true;
   dataCatalogClient.deleteTagTemplate(name, force);
 }
 
Parameters
NameDescription
nameString

Required. The name of the tag template to delete.

forceboolean

Required. If true, deletes all tags that use this template.

Currently, true is the only supported value.

deleteTagTemplateCallable()

public final UnaryCallable<DeleteTagTemplateRequest,Empty> deleteTagTemplateCallable()

Deletes a tag template and all tags that use it.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteTagTemplateRequest request =
       DeleteTagTemplateRequest.newBuilder()
           .setName(TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString())
           .setForce(true)
           .build();
   ApiFuture<Empty> future = dataCatalogClient.deleteTagTemplateCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteTagTemplateRequest,Empty>

deleteTagTemplateField(DeleteTagTemplateFieldRequest request)

public final void deleteTagTemplateField(DeleteTagTemplateFieldRequest request)

Deletes a field in a tag template and all uses of this field from the tags based on this template.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteTagTemplateFieldRequest request =
       DeleteTagTemplateFieldRequest.newBuilder()
           .setName(
               TagTemplateFieldName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]", "[FIELD]")
                   .toString())
           .setForce(true)
           .build();
   dataCatalogClient.deleteTagTemplateField(request);
 }
 
Parameter
NameDescription
requestDeleteTagTemplateFieldRequest

The request object containing all of the parameters for the API call.

deleteTagTemplateField(TagTemplateFieldName name, boolean force)

public final void deleteTagTemplateField(TagTemplateFieldName name, boolean force)

Deletes a field in a tag template and all uses of this field from the tags based on this template.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   TagTemplateFieldName name =
       TagTemplateFieldName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]", "[FIELD]");
   boolean force = true;
   dataCatalogClient.deleteTagTemplateField(name, force);
 }
 
Parameters
NameDescription
nameTagTemplateFieldName

Required. The name of the tag template field to delete.

forceboolean

Required. If true, deletes this field from any tags that use it.

Currently, true is the only supported value.

deleteTagTemplateField(String name, boolean force)

public final void deleteTagTemplateField(String name, boolean force)

Deletes a field in a tag template and all uses of this field from the tags based on this template.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name =
       TagTemplateFieldName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]", "[FIELD]")
           .toString();
   boolean force = true;
   dataCatalogClient.deleteTagTemplateField(name, force);
 }
 
Parameters
NameDescription
nameString

Required. The name of the tag template field to delete.

forceboolean

Required. If true, deletes this field from any tags that use it.

Currently, true is the only supported value.

deleteTagTemplateFieldCallable()

public final UnaryCallable<DeleteTagTemplateFieldRequest,Empty> deleteTagTemplateFieldCallable()

Deletes a field in a tag template and all uses of this field from the tags based on this template.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   DeleteTagTemplateFieldRequest request =
       DeleteTagTemplateFieldRequest.newBuilder()
           .setName(
               TagTemplateFieldName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]", "[FIELD]")
                   .toString())
           .setForce(true)
           .build();
   ApiFuture<Empty> future =
       dataCatalogClient.deleteTagTemplateFieldCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteTagTemplateFieldRequest,Empty>

getEntry(EntryName name)

public final Entry getEntry(EntryName name)

Gets an entry.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryName name = EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]");
   Entry response = dataCatalogClient.getEntry(name);
 }
 
Parameter
NameDescription
nameEntryName

Required. The name of the entry to get.

Returns
TypeDescription
Entry

getEntry(GetEntryRequest request)

public final Entry getEntry(GetEntryRequest request)

Gets an entry.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   GetEntryRequest request =
       GetEntryRequest.newBuilder()
           .setName(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .build();
   Entry response = dataCatalogClient.getEntry(request);
 }
 
Parameter
NameDescription
requestGetEntryRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Entry

getEntry(String name)

public final Entry getEntry(String name)

Gets an entry.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name = EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString();
   Entry response = dataCatalogClient.getEntry(name);
 }
 
Parameter
NameDescription
nameString

Required. The name of the entry to get.

Returns
TypeDescription
Entry

getEntryCallable()

public final UnaryCallable<GetEntryRequest,Entry> getEntryCallable()

Gets an entry.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   GetEntryRequest request =
       GetEntryRequest.newBuilder()
           .setName(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .build();
   ApiFuture<Entry> future = dataCatalogClient.getEntryCallable().futureCall(request);
   // Do something.
   Entry response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetEntryRequest,Entry>

getEntryGroup(EntryGroupName name)

public final EntryGroup getEntryGroup(EntryGroupName name)

Gets an entry group.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryGroupName name = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]");
   EntryGroup response = dataCatalogClient.getEntryGroup(name);
 }
 
Parameter
NameDescription
nameEntryGroupName

Required. The name of the entry group to get.

Returns
TypeDescription
EntryGroup

getEntryGroup(EntryGroupName name, FieldMask readMask)

public final EntryGroup getEntryGroup(EntryGroupName name, FieldMask readMask)

Gets an entry group.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryGroupName name = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]");
   FieldMask readMask = FieldMask.newBuilder().build();
   EntryGroup response = dataCatalogClient.getEntryGroup(name, readMask);
 }
 
Parameters
NameDescription
nameEntryGroupName

Required. The name of the entry group to get.

readMaskFieldMask

The fields to return. If empty or omitted, all fields are returned.

Returns
TypeDescription
EntryGroup

getEntryGroup(GetEntryGroupRequest request)

public final EntryGroup getEntryGroup(GetEntryGroupRequest request)

Gets an entry group.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   GetEntryGroupRequest request =
       GetEntryGroupRequest.newBuilder()
           .setName(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setReadMask(FieldMask.newBuilder().build())
           .build();
   EntryGroup response = dataCatalogClient.getEntryGroup(request);
 }
 
Parameter
NameDescription
requestGetEntryGroupRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
EntryGroup

getEntryGroup(String name)

public final EntryGroup getEntryGroup(String name)

Gets an entry group.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString();
   EntryGroup response = dataCatalogClient.getEntryGroup(name);
 }
 
Parameter
NameDescription
nameString

Required. The name of the entry group to get.

Returns
TypeDescription
EntryGroup

getEntryGroup(String name, FieldMask readMask)

public final EntryGroup getEntryGroup(String name, FieldMask readMask)

Gets an entry group.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString();
   FieldMask readMask = FieldMask.newBuilder().build();
   EntryGroup response = dataCatalogClient.getEntryGroup(name, readMask);
 }
 
Parameters
NameDescription
nameString

Required. The name of the entry group to get.

readMaskFieldMask

The fields to return. If empty or omitted, all fields are returned.

Returns
TypeDescription
EntryGroup

getEntryGroupCallable()

public final UnaryCallable<GetEntryGroupRequest,EntryGroup> getEntryGroupCallable()

Gets an entry group.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   GetEntryGroupRequest request =
       GetEntryGroupRequest.newBuilder()
           .setName(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setReadMask(FieldMask.newBuilder().build())
           .build();
   ApiFuture<EntryGroup> future = dataCatalogClient.getEntryGroupCallable().futureCall(request);
   // Do something.
   EntryGroup response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetEntryGroupRequest,EntryGroup>

getIamPolicy(ResourceName resource)

public final Policy getIamPolicy(ResourceName resource)

Gets the access control policy for a resource.

May return:

  • ANOT_FOUND error if the resource doesn't exist or you don't have the permission to view it.
  • An empty policy if the resource exists but doesn't have a set policy.

Supported resources are:

- Tag templates - Entry groups

Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog.

To call this method, you must have the following Google IAM permissions:

- datacatalog.tagTemplates.getIamPolicy to get policies on tag templates. - datacatalog.entryGroups.getIamPolicy to get policies on entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ResourceName resource = EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]");
   Policy response = dataCatalogClient.getIamPolicy(resource);
 }
 
Parameter
NameDescription
resourcecom.google.api.resourcenames.ResourceName

REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

Returns
TypeDescription
com.google.iam.v1.Policy

getIamPolicy(GetIamPolicyRequest request)

public final Policy getIamPolicy(GetIamPolicyRequest request)

Gets the access control policy for a resource.

May return:

  • ANOT_FOUND error if the resource doesn't exist or you don't have the permission to view it.
  • An empty policy if the resource exists but doesn't have a set policy.

Supported resources are:

- Tag templates - Entry groups

Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog.

To call this method, you must have the following Google IAM permissions:

- datacatalog.tagTemplates.getIamPolicy to get policies on tag templates. - datacatalog.entryGroups.getIamPolicy to get policies on entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   GetIamPolicyRequest request =
       GetIamPolicyRequest.newBuilder()
           .setResource(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .setOptions(GetPolicyOptions.newBuilder().build())
           .build();
   Policy response = dataCatalogClient.getIamPolicy(request);
 }
 
Parameter
NameDescription
requestcom.google.iam.v1.GetIamPolicyRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.iam.v1.Policy

getIamPolicy(String resource)

public final Policy getIamPolicy(String resource)

Gets the access control policy for a resource.

May return:

  • ANOT_FOUND error if the resource doesn't exist or you don't have the permission to view it.
  • An empty policy if the resource exists but doesn't have a set policy.

Supported resources are:

- Tag templates - Entry groups

Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog.

To call this method, you must have the following Google IAM permissions:

- datacatalog.tagTemplates.getIamPolicy to get policies on tag templates. - datacatalog.entryGroups.getIamPolicy to get policies on entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String resource =
       EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString();
   Policy response = dataCatalogClient.getIamPolicy(resource);
 }
 
Parameter
NameDescription
resourceString

REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

Returns
TypeDescription
com.google.iam.v1.Policy

getIamPolicyCallable()

public final UnaryCallable<GetIamPolicyRequest,Policy> getIamPolicyCallable()

Gets the access control policy for a resource.

May return:

  • ANOT_FOUND error if the resource doesn't exist or you don't have the permission to view it.
  • An empty policy if the resource exists but doesn't have a set policy.

Supported resources are:

- Tag templates - Entry groups

Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog.

To call this method, you must have the following Google IAM permissions:

- datacatalog.tagTemplates.getIamPolicy to get policies on tag templates. - datacatalog.entryGroups.getIamPolicy to get policies on entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   GetIamPolicyRequest request =
       GetIamPolicyRequest.newBuilder()
           .setResource(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .setOptions(GetPolicyOptions.newBuilder().build())
           .build();
   ApiFuture<Policy> future = dataCatalogClient.getIamPolicyCallable().futureCall(request);
   // Do something.
   Policy response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy>

getSettings()

public final DataCatalogSettings getSettings()
Returns
TypeDescription
DataCatalogSettings

getStub()

public DataCatalogStub getStub()
Returns
TypeDescription
DataCatalogStub

getTagTemplate(GetTagTemplateRequest request)

public final TagTemplate getTagTemplate(GetTagTemplateRequest request)

Gets a tag template.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   GetTagTemplateRequest request =
       GetTagTemplateRequest.newBuilder()
           .setName(TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString())
           .build();
   TagTemplate response = dataCatalogClient.getTagTemplate(request);
 }
 
Parameter
NameDescription
requestGetTagTemplateRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
TagTemplate

getTagTemplate(TagTemplateName name)

public final TagTemplate getTagTemplate(TagTemplateName name)

Gets a tag template.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   TagTemplateName name = TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]");
   TagTemplate response = dataCatalogClient.getTagTemplate(name);
 }
 
Parameter
NameDescription
nameTagTemplateName

Required. The name of the tag template to get.

Returns
TypeDescription
TagTemplate

getTagTemplate(String name)

public final TagTemplate getTagTemplate(String name)

Gets a tag template.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String name = TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString();
   TagTemplate response = dataCatalogClient.getTagTemplate(name);
 }
 
Parameter
NameDescription
nameString

Required. The name of the tag template to get.

Returns
TypeDescription
TagTemplate

getTagTemplateCallable()

public final UnaryCallable<GetTagTemplateRequest,TagTemplate> getTagTemplateCallable()

Gets a tag template.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   GetTagTemplateRequest request =
       GetTagTemplateRequest.newBuilder()
           .setName(TagTemplateName.of("[PROJECT]", "[LOCATION]", "[TAG_TEMPLATE]").toString())
           .build();
   ApiFuture<TagTemplate> future =
       dataCatalogClient.getTagTemplateCallable().futureCall(request);
   // Do something.
   TagTemplate response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetTagTemplateRequest,TagTemplate>

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listEntries(EntryGroupName parent)

public final DataCatalogClient.ListEntriesPagedResponse listEntries(EntryGroupName parent)

Lists entries.

Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryGroupName parent = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]");
   for (Entry element : dataCatalogClient.listEntries(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentEntryGroupName

Required. The name of the entry group that contains the entries to list.

Can be provided in URL format.

Returns
TypeDescription
DataCatalogClient.ListEntriesPagedResponse

listEntries(ListEntriesRequest request)

public final DataCatalogClient.ListEntriesPagedResponse listEntries(ListEntriesRequest request)

Lists entries.

Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListEntriesRequest request =
       ListEntriesRequest.newBuilder()
           .setParent(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setReadMask(FieldMask.newBuilder().build())
           .build();
   for (Entry element : dataCatalogClient.listEntries(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListEntriesRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
DataCatalogClient.ListEntriesPagedResponse

listEntries(String parent)

public final DataCatalogClient.ListEntriesPagedResponse listEntries(String parent)

Lists entries.

Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String parent = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString();
   for (Entry element : dataCatalogClient.listEntries(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. The name of the entry group that contains the entries to list.

Can be provided in URL format.

Returns
TypeDescription
DataCatalogClient.ListEntriesPagedResponse

listEntriesCallable()

public final UnaryCallable<ListEntriesRequest,ListEntriesResponse> listEntriesCallable()

Lists entries.

Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListEntriesRequest request =
       ListEntriesRequest.newBuilder()
           .setParent(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setReadMask(FieldMask.newBuilder().build())
           .build();
   while (true) {
     ListEntriesResponse response = dataCatalogClient.listEntriesCallable().call(request);
     for (Entry element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListEntriesRequest,ListEntriesResponse>

listEntriesPagedCallable()

public final UnaryCallable<ListEntriesRequest,DataCatalogClient.ListEntriesPagedResponse> listEntriesPagedCallable()

Lists entries.

Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListEntriesRequest request =
       ListEntriesRequest.newBuilder()
           .setParent(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setReadMask(FieldMask.newBuilder().build())
           .build();
   ApiFuture<Entry> future = dataCatalogClient.listEntriesPagedCallable().futureCall(request);
   // Do something.
   for (Entry element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListEntriesRequest,ListEntriesPagedResponse>

listEntryGroups(EntryGroupName parent)

public final DataCatalogClient.ListEntryGroupsPagedResponse listEntryGroups(EntryGroupName parent)

Lists entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryGroupName parent = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]");
   for (EntryGroup element : dataCatalogClient.listEntryGroups(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentEntryGroupName

Required. The name of the location that contains the entry groups to list.

Can be provided as a URL.

Returns
TypeDescription
DataCatalogClient.ListEntryGroupsPagedResponse

listEntryGroups(ListEntryGroupsRequest request)

public final DataCatalogClient.ListEntryGroupsPagedResponse listEntryGroups(ListEntryGroupsRequest request)

Lists entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListEntryGroupsRequest request =
       ListEntryGroupsRequest.newBuilder()
           .setParent(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   for (EntryGroup element : dataCatalogClient.listEntryGroups(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListEntryGroupsRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
DataCatalogClient.ListEntryGroupsPagedResponse

listEntryGroups(String parent)

public final DataCatalogClient.ListEntryGroupsPagedResponse listEntryGroups(String parent)

Lists entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String parent = EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString();
   for (EntryGroup element : dataCatalogClient.listEntryGroups(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. The name of the location that contains the entry groups to list.

Can be provided as a URL.

Returns
TypeDescription
DataCatalogClient.ListEntryGroupsPagedResponse

listEntryGroupsCallable()

public final UnaryCallable<ListEntryGroupsRequest,ListEntryGroupsResponse> listEntryGroupsCallable()

Lists entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListEntryGroupsRequest request =
       ListEntryGroupsRequest.newBuilder()
           .setParent(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   while (true) {
     ListEntryGroupsResponse response =
         dataCatalogClient.listEntryGroupsCallable().call(request);
     for (EntryGroup element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListEntryGroupsRequest,ListEntryGroupsResponse>

listEntryGroupsPagedCallable()

public final UnaryCallable<ListEntryGroupsRequest,DataCatalogClient.ListEntryGroupsPagedResponse> listEntryGroupsPagedCallable()

Lists entry groups.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListEntryGroupsRequest request =
       ListEntryGroupsRequest.newBuilder()
           .setParent(EntryGroupName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   ApiFuture<EntryGroup> future =
       dataCatalogClient.listEntryGroupsPagedCallable().futureCall(request);
   // Do something.
   for (EntryGroup element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListEntryGroupsRequest,ListEntryGroupsPagedResponse>

listTags(EntryName parent)

public final DataCatalogClient.ListTagsPagedResponse listTags(EntryName parent)

Lists tags assigned to an Entry. The columns in the response are lowercased.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   EntryName parent = EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]");
   for (Tag element : dataCatalogClient.listTags(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentEntryName

Required. The name of the Data Catalog resource to list the tags of.

The resource can be an Entry or an EntryGroup (without /entries/{entries} at the end).

Returns
TypeDescription
DataCatalogClient.ListTagsPagedResponse

listTags(ListTagsRequest request)

public final DataCatalogClient.ListTagsPagedResponse listTags(ListTagsRequest request)

Lists tags assigned to an Entry. The columns in the response are lowercased.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListTagsRequest request =
       ListTagsRequest.newBuilder()
           .setParent(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   for (Tag element : dataCatalogClient.listTags(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListTagsRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
DataCatalogClient.ListTagsPagedResponse

listTags(String parent)

public final DataCatalogClient.ListTagsPagedResponse listTags(String parent)

Lists tags assigned to an Entry. The columns in the response are lowercased.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   String parent =
       EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString();
   for (Tag element : dataCatalogClient.listTags(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. The name of the Data Catalog resource to list the tags of.

The resource can be an Entry or an EntryGroup (without /entries/{entries} at the end).

Returns
TypeDescription
DataCatalogClient.ListTagsPagedResponse

listTagsCallable()

public final UnaryCallable<ListTagsRequest,ListTagsResponse> listTagsCallable()

Lists tags assigned to an Entry. The columns in the response are lowercased.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListTagsRequest request =
       ListTagsRequest.newBuilder()
           .setParent(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   while (true) {
     ListTagsResponse response = dataCatalogClient.listTagsCallable().call(request);
     for (Tag element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListTagsRequest,ListTagsResponse>

listTagsPagedCallable()

public final UnaryCallable<ListTagsRequest,DataCatalogClient.ListTagsPagedResponse> listTagsPagedCallable()

Lists tags assigned to an Entry. The columns in the response are lowercased.

Sample code:


 try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
   ListTagsRequest request =
       ListTagsRequest.newBuilder()
           .setParent(
               EntryName.of("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .build();
   ApiFuture<Tag> future = dataCatalogClient.listTagsPagedCallable().futureCall(request);
   // Do something.
   for (Tag element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListTagsRequest,ListTagsPagedResponse>

lookupEntry(LookupEntryRequest request)

public final Entry lookupEntry(LookupEntryRequest request)

Gets an entry by its target resource name.

The resource name comes from the sourc