Class AccessEntry (3.13.0)

AccessEntry(
    role: typing.Optional[str] = None,
    entity_type: typing.Optional[str] = None,
    entity_id: typing.Optional[typing.Union[typing.Dict[str, typing.Any], str]] = None,
)

Represents grant of an access role to an entity.

An entry must have exactly one of the allowed xref_EntityTypes. If anything but view, routine, or dataset are set, a role is also required. role is omitted for view, routine, dataset, because they are always read-only.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets.

Parameters

NameDescription
role typing.Optional[str]

Role granted to the entity. The following string values are supported: 'READER', 'WRITER', 'OWNER'. It may also be :data:None if the entity_type is view, routine, or dataset.

entity_type typing.Optional[str]

Type of entity being granted the role. See EntityTypes for supported types.

entity_id typing.Union[typing.Dict[str, typing.Any], str, NoneType]

If the entity_type is not 'view', 'routine', or 'dataset', the entity_id is the str ID of the entity being granted the role. If the entity_type is 'view' or 'routine', the entity_id is a dict representing the view or routine from a different dataset to grant access to in the following format for views:: { 'projectId': string, 'datasetId': string, 'tableId': string } For routines:: { 'projectId': string, 'datasetId': string, 'routineId': string } If the entity_type is 'dataset', the entity_id is a dict that includes a 'dataset' field with a dict representing the dataset and a 'target_types' field with a str value of the dataset's resource type:: { 'dataset': { 'projectId': string, 'datasetId': string, }, 'target_types: 'VIEWS' }

Properties

dataset

API resource representation of a dataset reference.

dataset_target_types

Which resources that the dataset in this entry applies to.

domain

A domain to grant access to.

entity_id

The entity_id of the entry.

entity_type

The entity_type of the entry.

group_by_email

An email address of a Google Group to grant access to.

role

The role of the entry.

routine

API resource representation of a routine reference.

special_group

A special group to grant access to.

user_by_email

An email address of a user to grant access to.

view

API resource representation of a view reference.

Methods

from_api_repr

from_api_repr(resource: dict) -> google.cloud.bigquery.dataset.AccessEntry

Factory: construct an access entry given its API representation

Parameter
NameDescription
resource Dict[str, object]

Access entry resource representation returned from the API

Exceptions
TypeDescription
ValueErrorIf the resource has more keys than role and one additional key.
Returns
TypeDescription
google.cloud.bigquery.dataset.AccessEntryAccess entry parsed from resource.

to_api_repr

to_api_repr()

Construct the API resource representation of this access entry

Returns
TypeDescription
Dict[str, object]Access entry represented as an API resource

__init__

__init__(
    role: typing.Optional[str] = None,
    entity_type: typing.Optional[str] = None,
    entity_id: typing.Optional[typing.Union[typing.Dict[str, typing.Any], str]] = None,
)

Initialize self. See help(type(self)) for accurate signature.

AccessEntry

AccessEntry(
    role: typing.Optional[str] = None,
    entity_type: typing.Optional[str] = None,
    entity_id: typing.Optional[typing.Union[typing.Dict[str, typing.Any], str]] = None,
)

Represents grant of an access role to an entity.

An entry must have exactly one of the allowed xref_EntityTypes. If anything but view, routine, or dataset are set, a role is also required. role is omitted for view, routine, dataset, because they are always read-only.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets.

Parameters
NameDescription
role typing.Optional[str]

Role granted to the entity. The following string values are supported: 'READER', 'WRITER', 'OWNER'. It may also be :data:None if the entity_type is view, routine, or dataset.

entity_type typing.Optional[str]

Type of entity being granted the role. See EntityTypes for supported types.

entity_id typing.Union[typing.Dict[str, typing.Any], str, NoneType]

If the entity_type is not 'view', 'routine', or 'dataset', the entity_id is the str ID of the entity being granted the role. If the entity_type is 'view' or 'routine', the entity_id is a dict representing the view or routine from a different dataset to grant access to in the following format for views:: { 'projectId': string, 'datasetId': string, 'tableId': string } For routines:: { 'projectId': string, 'datasetId': string, 'routineId': string } If the entity_type is 'dataset', the entity_id is a dict that includes a 'dataset' field with a dict representing the dataset and a 'target_types' field with a str value of the dataset's resource type:: { 'dataset': { 'projectId': string, 'datasetId': string, }, 'target_types: 'VIEWS' }

Exceptions
TypeDescription
ValueErrorIf a view, routine, or dataset has role set, or a non view, non routine, and non dataset **does not** have a role set. .. rubric:: Examples >>> entry = AccessEntry('OWNER', 'userByEmail', 'user@example.com') >>> view = { ... 'projectId': 'my-project', ... 'datasetId': 'my_dataset', ... 'tableId': 'my_table' ... } >>> entry = AccessEntry(None, 'view', view)