Google Cloud Data Catalog API . entries

Instance Methods

close()

Close httplib2 connections.

lookup(fullyQualifiedName=None, linkedResource=None, sqlResource=None, x__xgafv=None)

Gets an entry by its target resource name. The resource name comes from the source Google Cloud Platform service.

Method Details

close()
Close httplib2 connections.
lookup(fullyQualifiedName=None, linkedResource=None, sqlResource=None, x__xgafv=None)
Gets an entry by its target resource name. The resource name comes from the source Google Cloud Platform service.

Args:
  fullyQualifiedName: string, Fully qualified name (FQN) of the resource. FQNs take two forms: * For non-regionalized resources: `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` * For regionalized resources: `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` Example for a DPMS table: `dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}`
  linkedResource: string, The full name of the Google Cloud Platform resource the Data Catalog entry represents. For more information, see [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). Full names are case-sensitive. For example: * `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` * `//pubsub.googleapis.com/projects/{PROJECT_ID}/topics/{TOPIC_ID}`
  sqlResource: string, The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.topic.{PROJECT_ID}.{TOPIC_ID}` * `pubsub.topic.{PROJECT_ID}.`\``{TOPIC.ID.SEPARATED.WITH.DOTS}`\` * `bigquery.table.{PROJECT_ID}.{DATASET_ID}.{TABLE_ID}` * `bigquery.dataset.{PROJECT_ID}.{DATASET_ID}` * `datacatalog.entry.{PROJECT_ID}.{LOCATION_ID}.{ENTRY_GROUP_ID}.{ENTRY_ID}` Identifiers (`*_ID`) should comply with the [Lexical structure in Standard SQL] (https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Entry metadata. A Data Catalog entry represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or outside of it. You can use the `linked_resource` field in the entry resource to refer to the original resource ID of the source system. An entry resource contains resource details, for example, its schema. Additionally, you can attach flexible metadata to an entry in the form of a Tag.
  "bigqueryDateShardedSpec": { # Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name pattern. For more information, see [Introduction to partitioned tables] (https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding). # Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name pattern. For more information, see [Introduction to partitioned tables] (https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding).
    "dataset": "A String", # Output only. The Data Catalog resource name of the dataset entry the current table belongs to. For example: `projects/{PROJECT_ID}/locations/{LOCATION}/entrygroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}`.
    "latestShardResource": "A String", # Output only. BigQuery resource name of the latest shard.
    "shardCount": "A String", # Output only. Total number of shards.
    "tablePrefix": "A String", # Output only. The table name prefix of the shards. The name of any given shard is `[table_prefix]YYYYMMDD`. For example, for the `MyTable20180101` shard, the `table_prefix` is `MyTable`.
  },
  "bigqueryTableSpec": { # Describes a BigQuery table. # Specification that applies to a BigQuery table. Valid only for entries with the `TABLE` type.
    "tableSourceType": "A String", # Output only. The table source type.
    "tableSpec": { # Normal BigQuery table specification. # Specification of a BigQuery table. Populated only if the `table_source_type` is `BIGQUERY_TABLE`.
      "groupedEntry": "A String", # Output only. If the table is date-sharded, that is, it matches the `[prefix]YYYYMMDD` name pattern, this field is the Data Catalog resource name of the date-sharded grouped entry. For example: `projects/{PROJECT_ID}/locations/{LOCATION}/entrygroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}`. Otherwise, `grouped_entry` is empty.
    },
    "viewSpec": { # Table view specification. # Table view specification. Populated only if the `table_source_type` is `BIGQUERY_VIEW`.
      "viewQuery": "A String", # Output only. The query that defines the table view.
    },
  },
  "dataSource": { # Physical location of an entry. # Output only. Physical location of the entry.
    "resource": "A String", # Full name of a resource as defined by the service. For example: `//bigquery.googleapis.com/projects/{PROJECT_ID}/locations/{LOCATION}/datasets/{DATASET_ID}/tables/{TABLE_ID}`
    "service": "A String", # Service that physically stores the data.
  },
  "dataSourceConnectionSpec": { # Specification that applies to a data source connection. Valid only for entries with the `DATA_SOURCE_CONNECTION` type. # Specification that applies to a data source connection. Valid only for entries with the `DATA_SOURCE_CONNECTION` type.
    "bigqueryConnectionSpec": { # Specification for the BigQuery connection. # Fields specific to BigQuery connections.
      "cloudSql": { # Specification for the BigQuery connection to a Cloud SQL instance. # Specification for the BigQuery connection to a Cloud SQL instance.
        "database": "A String", # Database name.
        "instanceId": "A String", # Cloud SQL instance ID in the format of `project:location:instance`.
        "type": "A String", # Type of the Cloud SQL database.
      },
      "connectionType": "A String", # The type of the BigQuery connection.
      "hasCredential": True or False, # True if there are credentials attached to the BigQuery connection; false otherwise.
    },
  },
  "databaseTableSpec": { # Specification that applies to a table resource. Valid only for entries with the `TABLE` type. # Specification that applies to a table resource. Valid only for entries with the `TABLE` type.
    "type": "A String", # Type of this table.
  },
  "description": "A String", # Entry description that can consist of several sentences or paragraphs that describe entry contents. The description must not contain Unicode non-characters as well as C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF). The maximum size is 2000 bytes when encoded in UTF-8. Default value is an empty string.
  "displayName": "A String", # Display name of an entry. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum size is 200 bytes when encoded in UTF-8. Default value is an empty string.
  "fullyQualifiedName": "A String", # Fully qualified name (FQN) of the resource. Set automatically for entries representing resources from synced systems. Settable only during creation and read-only afterwards. Can be used for search and lookup of the entries. FQNs take two forms: * For non-regionalized resources: `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` * For regionalized resources: `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` Example for a DPMS table: `dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}`
  "gcsFilesetSpec": { # Describes a Cloud Storage fileset entry. # Specification that applies to a Cloud Storage fileset. Valid only for entries with the `FILESET` type.
    "filePatterns": [ # Required. Patterns to identify a set of files in Google Cloud Storage. For more information, see [Wildcard Names] (https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames). Note: Currently, bucket wildcards are not supported. Examples of valid `file_patterns`: * `gs://bucket_name/dir/*`: matches all files in `bucket_name/dir` directory * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` and all subdirectories * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match the `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You can combine wildcards to match complex sets of files, for example: `gs://bucket_name/[a-m]??.j*g`
      "A String",
    ],
    "sampleGcsFileSpecs": [ # Output only. Sample files contained in this fileset, not all files contained in this fileset are represented here.
      { # Specification of a single file in Cloud Storage.
        "filePath": "A String", # Required. Full file path. Example: `gs://bucket_name/a/b.txt`.
        "gcsTimestamps": { # Timestamps associated with this resource in a particular system. # Output only. Creation, modification, and expiration timestamps of a Cloud Storage file.
          "createTime": "A String", # Creation timestamp of the resource within the given system.
          "expireTime": "A String", # Output only. Expiration timestamp of the resource within the given system. Currently only applicable to BigQuery resources.
          "updateTime": "A String", # Timestamp of the last modification of the resource or its metadata within a given system. Note: Depending on the source system, not every modification updates this timestamp. For example, BigQuery timestamps every metadata modification but not data or permission changes.
        },
        "sizeBytes": "A String", # Output only. File size in bytes.
      },
    ],
  },
  "integratedSystem": "A String", # Output only. Indicates the entry's source system that Data Catalog integrates with, such as BigQuery, Pub/Sub, or Dataproc Metastore.
  "labels": { # Cloud labels attached to the entry. In Data Catalog, you can create and modify labels attached only to custom entries. Synced entries have unmodifiable labels that come from the source system.
    "a_key": "A String",
  },
  "linkedResource": "A String", # The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
  "name": "A String", # Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
  "personalDetails": { # Entry metadata relevant only to the user and private to them. # Output only. Additional information related to the entry. Private to the current user.
    "starTime": "A String", # Set if the entry is starred; unset otherwise.
    "starred": True or False, # True if the entry is starred by the user; false otherwise.
  },
  "routineSpec": { # Specification that applies to a routine. Valid only for entries with the `ROUTINE` type. # Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
    "bigqueryRoutineSpec": { # Fields specific for BigQuery routines. # Fields specific for BigQuery routines.
      "importedLibraries": [ # Paths of the imported libraries.
        "A String",
      ],
    },
    "definitionBody": "A String", # The body of the routine.
    "language": "A String", # The language the routine is written in. The exact value depends on the source system. For BigQuery routines, possible values are: * `SQL` * `JAVASCRIPT`
    "returnType": "A String", # Return type of the argument. The exact value depends on the source system and the language.
    "routineArguments": [ # Arguments of the routine.
      { # Input or output argument of a function or stored procedure.
        "mode": "A String", # Specifies whether the argument is input or output.
        "name": "A String", # The name of the argument. A return argument of a function might not have a name.
        "type": "A String", # Type of the argument. The exact value depends on the source system and the language.
      },
    ],
    "routineType": "A String", # The type of the routine.
  },
  "schema": { # Represents a schema, for example, a BigQuery, GoogleSQL, or Avro schema. # Schema of the entry. An entry might not have any schema attached to it.
    "columns": [ # The unified GoogleSQL-like schema of columns. The overall maximum number of columns and nested columns is 10,000. The maximum nested depth is 15 levels.
      { # A column within a schema. Columns can be nested inside other columns.
        "column": "A String", # Required. Name of the column. Must be a UTF-8 string without dots (.). The maximum size is 64 bytes.
        "description": "A String", # Optional. Description of the column. Default value is an empty string. The description must be a UTF-8 string with the maximum size of 2000 bytes.
        "mode": "A String", # Optional. A column's mode indicates whether values in this column are required, nullable, or repeated. Only `NULLABLE`, `REQUIRED`, and `REPEATED` values are supported. Default mode is `NULLABLE`.
        "subcolumns": [ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
          # Object with schema name: GoogleCloudDatacatalogV1ColumnSchema
        ],
        "type": "A String", # Required. Type of the column. Must be a UTF-8 string with the maximum size of 128 bytes.
      },
    ],
  },
  "sourceSystemTimestamps": { # Timestamps associated with this resource in a particular system. # Timestamps from the underlying resource, not from the Data Catalog entry. Output only when the entry has a type listed in the `EntryType` enum. For entries with `user_specified_type`, this field is optional and defaults to an empty timestamp.
    "createTime": "A String", # Creation timestamp of the resource within the given system.
    "expireTime": "A String", # Output only. Expiration timestamp of the resource within the given system. Currently only applicable to BigQuery resources.
    "updateTime": "A String", # Timestamp of the last modification of the resource or its metadata within a given system. Note: Depending on the source system, not every modification updates this timestamp. For example, BigQuery timestamps every metadata modification but not data or permission changes.
  },
  "type": "A String", # The type of the entry. Only used for entries with types listed in the `EntryType` enum. Currently, only `FILESET` enum value is allowed. All other entries created in Data Catalog must use the `user_specified_type`.
  "usageSignal": { # The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. # Output only. Resource usage statistics.
    "updateTime": "A String", # The end timestamp of the duration of usage statistics.
    "usageWithinTimeRange": { # Usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D"}`.
      "a_key": { # Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables)
        "totalCancellations": 3.14, # The number of cancelled attempts to use the underlying entry.
        "totalCompletions": 3.14, # The number of successful uses of the underlying entry.
        "totalExecutionTimeForCompletionsMillis": 3.14, # Total time spent only on successful uses, in milliseconds.
        "totalFailures": 3.14, # The number of failed attempts to use the underlying entry.
      },
    },
  },
  "userSpecifiedSystem": "A String", # Indicates the entry's source system that Data Catalog doesn't automatically integrate with. The `user_specified_system` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long.
  "userSpecifiedType": "A String", # Custom entry type that doesn't match any of the values allowed for input and listed in the `EntryType` enum. When creating an entry, first check the type values in the enum. If there are no appropriate types for the new entry, provide a custom value, for example, `my_special_type`. The `user_specified_type` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long.
}