Class Feature (1.20.0)

Feature(
    feature_name: str,
    featurestore_id: Optional[str] = None,
    entity_type_id: Optional[str] = None,
    project: Optional[str] = None,
    location: Optional[str] = None,
    credentials: Optional[google.auth.credentials.Credentials] = None,
)

Managed feature resource for Vertex AI.

Inheritance

builtins.object > google.cloud.aiplatform.base.VertexAiResourceNoun > builtins.object > google.cloud.aiplatform.base.FutureManager > google.cloud.aiplatform.base.VertexAiResourceNounWithFutureManager > Feature

Properties

create_time

Time this resource was created.

display_name

Display name of this resource.

encryption_spec

Customer-managed encryption key options for this Vertex AI resource.

If this is set, then all resources created by this Vertex AI resource will be encrypted with the provided encryption key.

entity_type_name

Full qualified resource name of the managed entityType in which this Feature is.

featurestore_name

Full qualified resource name of the managed featurestore in which this Feature is.

gca_resource

The underlying resource proto representation.

labels

User-defined labels containing metadata about this resource.

Read more about labels at https://goo.gl/xmQnxf

name

Name of this resource.

resource_name

Full qualified resource name.

update_time

Time this resource was last updated.

Methods

Feature

Feature(
    feature_name: str,
    featurestore_id: Optional[str] = None,
    entity_type_id: Optional[str] = None,
    project: Optional[str] = None,
    location: Optional[str] = None,
    credentials: Optional[google.auth.credentials.Credentials] = None,
)

Retrieves an existing managed feature given a feature resource name or a feature ID.

Example Usage:

my_feature = aiplatform.Feature(
    feature_name='projects/123/locations/us-central1/featurestores/my_featurestore_id/                entityTypes/my_entity_type_id/features/my_feature_id'
)
or
my_feature = aiplatform.Feature(
    feature_name='my_feature_id',
    featurestore_id='my_featurestore_id',
    entity_type_id='my_entity_type_id',
)
Parameters
Name Description
feature_name str

Required. A fully-qualified feature resource name or a feature ID. Example: "projects/123/locations/us-central1/featurestores/my_featurestore_id/entityTypes/my_entity_type_id/features/my_feature_id" or "my_feature_id" when project and location are initialized or passed, with featurestore_id and entity_type_id passed.

featurestore_id str

Optional. Featurestore ID of an existing featurestore to retrieve feature from, when feature_name is passed as Feature ID.

entity_type_id str

Optional. EntityType ID of an existing entityType to retrieve feature from, when feature_name is passed as Feature ID. The EntityType must exist in the Featurestore if provided by the featurestore_id.

project str

Optional. Project to retrieve feature from. If not set, project set in aiplatform.init will be used.

location str

Optional. Location to retrieve feature from. If not set, location set in aiplatform.init will be used.

credentials auth_credentials.Credentials

Optional. Custom credentials to use to retrieve this Feature. Overrides credentials set in aiplatform.init.

Exceptions
Type Description
ValueError If only one of featurestore_id or entity_type_id is provided.

create

create(
    feature_id: str,
    value_type: str,
    entity_type_name: str,
    featurestore_id: Optional[str] = None,
    description: Optional[str] = None,
    labels: Optional[Dict[str, str]] = None,
    project: Optional[str] = None,
    location: Optional[str] = None,
    credentials: Optional[google.auth.credentials.Credentials] = None,
    request_metadata: Optional[Sequence[Tuple[str, str]]] = (),
    sync: bool = True,
    create_request_timeout: Optional[float] = None,
)

Creates a Feature resource in an EntityType.

Example Usage:

my_feature = aiplatform.Feature.create(
    feature_id='my_feature_id',
    value_type='INT64',
    entity_type_name='projects/123/locations/us-central1/featurestores/my_featurestore_id/                entityTypes/my_entity_type_id'
)
or
my_feature = aiplatform.Feature.create(
    feature_id='my_feature_id',
    value_type='INT64',
    entity_type_name='my_entity_type_id',
    featurestore_id='my_featurestore_id',
)
Parameters
Name Description
feature_id str

Required. The ID to use for the Feature, which will become the final component of the Feature's resource name, which is immutable. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number. The value must be unique within an EntityType.

value_type str

Required. Immutable. Type of Feature value. One of BOOL, BOOL_ARRAY, DOUBLE, DOUBLE_ARRAY, INT64, INT64_ARRAY, STRING, STRING_ARRAY, BYTES.

entity_type_name str

Required. A fully-qualified entityType resource name or an entity_type ID of an existing entityType to create Feature in. The EntityType must exist in the Featurestore if provided by the featurestore_id. Example: "projects/123/locations/us-central1/featurestores/my_featurestore_id/entityTypes/my_entity_type_id" or "my_entity_type_id" when project and location are initialized or passed, with featurestore_id passed.

featurestore_id str

Optional. Featurestore ID of an existing featurestore to create Feature in if entity_type_name is passed an entity_type ID.

description str

Optional. Description of the Feature.

labels Dict[str, str]

Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable.

project str

Optional. Project to create Feature in if entity_type_name is passed an entity_type ID. If not set, project set in aiplatform.init will be used.

location str

Optional. Location to create Feature in if entity_type_name is passed an entity_type ID. If not set, location set in aiplatform.init will be used.

credentials auth_credentials.Credentials

Optional. Custom credentials to use to create Features. Overrides credentials set in aiplatform.init.

request_metadata Sequence[Tuple[str, str]]

Optional. Strings which should be sent along with the request as metadata.

sync bool

Optional. Whether to execute this creation synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

create_request_timeout float

Optional. The timeout for the create request in seconds.

delete

delete(sync: bool = True)

Deletes this Vertex AI resource. WARNING: This deletion is permanent.

Parameter
Name Description
sync bool

Whether to execute this deletion synchronously. If False, this method will be executed in concurrent Future and any downstream object will be immediately returned and synced when the Future has completed.

get_entity_type

get_entity_type()

Retrieves the managed entityType in which this Feature is.

get_featurestore

get_featurestore()

Retrieves the managed featurestore in which this Feature is.

list

list(
    entity_type_name: str,
    featurestore_id: Optional[str] = None,
    filter: Optional[str] = None,
    order_by: Optional[str] = None,
    project: Optional[str] = None,
    location: Optional[str] = None,
    credentials: Optional[google.auth.credentials.Credentials] = None,
)

Lists existing managed feature resources in an entityType, given an entityType resource name or an entity_type ID.

Example Usage:

my_features = aiplatform.Feature.list(
    entity_type_name='projects/123/locations/us-central1/featurestores/my_featurestore_id/                entityTypes/my_entity_type_id'
)
or
my_features = aiplatform.Feature.list(
    entity_type_name='my_entity_type_id',
    featurestore_id='my_featurestore_id',
)
Parameters
Name Description
entity_type_name str

Required. A fully-qualified entityType resource name or an entity_type ID of an existing entityType to list features in. The EntityType must exist in the Featurestore if provided by the featurestore_id. Example: "projects/123/locations/us-central1/featurestores/my_featurestore_id/entityTypes/my_entity_type_id" or "my_entity_type_id" when project and location are initialized or passed, with featurestore_id passed.

featurestore_id str

Optional. Featurestore ID of an existing featurestore to list features in, when entity_type_name is passed as entity_type ID.

filter str

Optional. Lists the Features that match the filter expression. The following filters are supported: - value_type: Supports = and != comparisons. - create_time: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. - update_time: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. - labels: Supports key-value equality as well as key presence. Examples: - value_type = DOUBLE --> Features whose type is DOUBLE. - create_time > "2020-01-31T15:30:00.000000Z" OR update_time > "2020-01-31T15:30:00.000000Z" --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. - labels.active = yes AND labels.env = prod --> Features having both (active: yes) and (env: prod) labels. - labels.env: * --> Any Feature which has a label with 'env' as the key.

order_by str

Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: - feature_id - value_type - create_time - update_time

project str

Optional. Project to list features in. If not set, project set in aiplatform.init will be used.

location str

Optional. Location to list features in. If not set, location set in aiplatform.init will be used.

credentials auth_credentials.Credentials

Optional. Custom credentials to use to list features. Overrides credentials set in aiplatform.init.

search(
    query: Optional[str] = None,
    page_size: Optional[int] = None,
    project: Optional[str] = None,
    location: Optional[str] = None,
    credentials: Optional[google.auth.credentials.Credentials] = None,
)

Searches existing managed Feature resources.

Example Usage:

my_features = aiplatform.Feature.search()
Parameters
Name Description
query str

Optional. Query string that is a conjunction of field-restricted queries and/or field-restricted filters. Field-restricted queries and filters can be combined using AND to form a conjunction. A field query is in the form FIELD:QUERY. This implicitly checks if QUERY exists as a substring within Feature's FIELD. The QUERY and the FIELD are converted to a sequence of words (i.e. tokens) for comparison. This is done by: - Removing leading/trailing whitespace and tokenizing the search value. Characters that are not one of alphanumeric [a-zA-Z0-9], underscore _, or asterisk are treated as delimiters for tokens. is treated as a wildcard that matches characters within a token. - Ignoring case. - Prepending an asterisk to the first and appending an asterisk to the last token in QUERY. A QUERY must be either a singular token or a phrase. A phrase is one or multiple words enclosed in double quotation marks ("). With phrases, the order of the words is important. Words in the phrase must be matching in order and consecutively. Supported FIELDs for field-restricted queries: - feature_id - description - entity_type_id Examples: - feature_id: foo --> Matches a Feature with ID containing the substring foo (eg. foo, foofeature, barfoo). - feature_id: foofeature --> Matches a Feature with ID containing the substring foofeature (eg. foobarfeature). - feature_id: foo AND description: bar --> Matches a Feature with ID containing the substring foo and description containing the substring bar. Besides field queries, the following exact-match filters are supported. The exact-match filters do not support wildcards. Unlike field-restricted queries, exact-match filters are case-sensitive. - feature_id: Supports = comparisons. - description: Supports = comparisons. Multi-token filters should be enclosed in quotes. - entity_type_id: Supports = comparisons. - value_type: Supports = and != comparisons. - labels: Supports key-value equality as well as key presence. - featurestore_id: Supports = comparisons. Examples: - description = "foo bar" --> Any Feature with description exactly equal to foo bar - value_type = DOUBLE --> Features whose type is DOUBLE. - labels.active = yes AND labels.env = prod --> Features having both (active: yes) and (env: prod) labels. - labels.env: * --> Any Feature which has a label with env as the key. This corresponds to the query field on the request instance; if request is provided, this should not be set.

page_size int

Optional. The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 100 Features will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.

project str

Optional. Project to list features in. If not set, project set in aiplatform.init will be used.

location str

Optional. Location to list features in. If not set, location set in aiplatform.init will be used.

credentials auth_credentials.Credentials

Optional. Custom credentials to use to list features. Overrides credentials set in aiplatform.init.

to_dict

to_dict()

Returns the resource proto as a dictionary.

update

update(
    description: Optional[str] = None,
    labels: Optional[Dict[str, str]] = None,
    request_metadata: Optional[Sequence[Tuple[str, str]]] = (),
    update_request_timeout: Optional[float] = None,
)

Updates an existing managed feature resource.

Example Usage:

my_feature = aiplatform.Feature(
    feature_name='my_feature_id',
    featurestore_id='my_featurestore_id',
    entity_type_id='my_entity_type_id',
)
my_feature.update(
    description='update my description',
)
Parameters
Name Description
description str

Optional. Description of the Feature.

labels Dict[str, str]

Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable.

request_metadata Sequence[Tuple[str, str]]

Optional. Strings which should be sent along with the request as metadata.

update_request_timeout float

Optional. The timeout for the update request in seconds.

wait

wait()

Helper method that blocks until all futures are complete.