Create entry type

Create an entry type.

Code sample

Java

Before trying this sample, follow the Java setup instructions in the Dataplex quickstart using client libraries. For more information, see the Dataplex Java API reference documentation.

To authenticate to Dataplex, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.EntryType;
import com.google.cloud.dataplex.v1.LocationName;

public class CreateEntryType {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "MY_PROJECT_ID";
    // Available locations: https://cloud.google.com/dataplex/docs/locations
    String location = "MY_LOCATION";
    String entryTypeId = "MY_ENTRY_TYPE_ID";

    EntryType createdEntryType = createEntryType(projectId, location, entryTypeId);
    System.out.println("Successfully created entry type: " + createdEntryType.getName());
  }

  // Method to create Entry Type located in projectId, location and with entryTypeId
  public static EntryType createEntryType(String projectId, String location, String entryTypeId)
      throws Exception {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (CatalogServiceClient client = CatalogServiceClient.create()) {
      LocationName locationName = LocationName.of(projectId, location);
      EntryType entryType =
          EntryType.newBuilder()
              .setDescription("description of the entry type")
              // Required aspects will need to be attached to every entry created for this entry
              // type.
              // You cannot change required aspects for entry type once it is created.
              .addRequiredAspects(
                  EntryType.AspectInfo.newBuilder()
                      // Example of system aspect type.
                      // It is also possible to specify custom aspect type.
                      .setType("projects/dataplex-types/locations/global/aspectTypes/schema")
                      .build())
              .build();
      return client.createEntryTypeAsync(locationName, entryType, entryTypeId).get();
    }
  }
}

Python

Before trying this sample, follow the Python setup instructions in the Dataplex quickstart using client libraries. For more information, see the Dataplex Python API reference documentation.

To authenticate to Dataplex, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

from google.cloud import dataplex_v1


def create_entry_type(
    project_id: str, location: str, entry_type_id: str
) -> dataplex_v1.EntryType:
    """Method to create Entry Type located in project_id, location and with entry_type_id"""

    # Initialize client that will be used to send requests across threads. This
    # client only needs to be created once, and can be reused for multiple requests.
    # After completing all of your requests, call the "__exit__()" method to safely
    # clean up any remaining background resources. Alternatively, use the client as
    # a context manager.
    with dataplex_v1.CatalogServiceClient() as client:
        # The resource name of the Entry Type location
        parent = f"projects/{project_id}/locations/{location}"
        entry_type = dataplex_v1.EntryType(
            description="description of the entry type",
            # Required aspects will need to be attached to every entry created for this entry type.
            # You cannot change required aspects for entry type once it is created.
            required_aspects=[
                dataplex_v1.EntryType.AspectInfo(
                    # Example of system aspect type.
                    # It is also possible to specify custom aspect type.
                    type="projects/dataplex-types/locations/global/aspectTypes/generic"
                )
            ],
        )
        create_operation = client.create_entry_type(
            parent=parent, entry_type=entry_type, entry_type_id=entry_type_id
        )
        return create_operation.result(60)


if __name__ == "__main__":
    # TODO(developer): Replace these variables before running the sample.
    project_id = "MY_PROJECT_ID"
    # Available locations: https://cloud.google.com/dataplex/docs/locations
    location = "MY_LOCATION"
    entry_type_id = "MY_ENTRY_TYPE_ID"

    created_entry_type = create_entry_type(project_id, location, entry_type_id)
    print(f"Successfully created entry type: {created_entry_type.name}")

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.