REST Resource: projects.locations.dataProducts

Resource: DataProduct

A data product is a curated collection of data assets, packaged to address specific use cases. It's a way to manage and share data in a more organized, product-like manner.

JSON representation
{
  "name": string,
  "uid": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "labels": {
    string: string,
    ...
  },
  "description": string,
  "icon": string,
  "ownerEmails": [
    string
  ],
  "assetCount": integer,
  "accessGroups": {
    string: {
      object (AccessGroup)
    },
    ...
  }
}
Fields
name

string

Identifier. Resource name of the data product. Format: projects/{project_id_or_number}/locations/{locationId}/dataProducts/{dataProductId}.

uid

string

Output only. System generated unique ID for the data product. This ID will be different if the data product is deleted and re-created with the same name.

displayName

string

Required. User-friendly display name of the data product.

createTime

string (Timestamp format)

Output only. The time at which the data product was created.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. The time at which the data product was last updated.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

etag

string

Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.

labels

map (key: string, value: string)

Optional. User-defined labels for the data product.

Example:

{ "environment": "production", "billing": "marketing-department" }

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

description

string

Optional. Description of the data product.

icon

string (bytes format)

Optional. Base64 encoded image representing the data product. Max Size: 3.0MiB Expected image dimensions are 512x512 pixels, however the API only performs validation on size of the encoded data. Note: For byte fields, the content of the fields are base64-encoded (which increases the size of the data by 33-36%) when using JSON on the wire.

A base64-encoded string.

ownerEmails[]

string

Required. Emails of the data product owners.

assetCount

integer

Output only. Number of data assets associated with this data product.

accessGroups

map (key: string, value: object (AccessGroup))

Optional. Data product access groups by access group id as key. If data product is used only for packaging data assets, then access groups may be empty. However, if a data product is used for sharing data assets, then at least one access group must be specified.

Example:

{ "analyst": { "id": "analyst", "displayName": "Analyst", "description": "Access group for analysts", "principal": { "googleGroup": "analysts@example.com" } } }

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

AccessGroup

Custom user defined access groups at the data product level. These are used for granting different levels of access (IAM roles) on the individual data product's data assets.

JSON representation
{
  "id": string,
  "displayName": string,
  "description": string,
  "principal": {
    object (Principal)
  }
}
Fields
id

string

Required. Unique identifier of the access group within the data product. User defined. Eg. "analyst", "developer", etc.

displayName

string

Required. User friendly display name of the access group. Eg. "Analyst", "Developer", etc.

description

string

Optional. Description of the access group.

principal

object (Principal)

Required. The principal entity associated with this access group.

Principal

Represents the principal entity associated with an access group, as per https://cloud.google.com/iam/docs/principals-overview.

JSON representation
{

  // Union field type can be only one of the following:
  "googleGroup": string
  // End of list of possible types for union field type.
}
Fields
Union field type. The type of the principal entity. type can be only one of the following:
googleGroup

string

Optional. Email of the Google Group, as per https://cloud.google.com/iam/docs/principals-overview#google-group.

Methods

create

Creates a data product.

delete

Deletes a data product.

get

Gets a data product.

list

Lists data products for a given project.

patch

Updates a data product.