Services

CoreService

rpc GetFeastCoreVersion(GetFeastCoreVersionRequest) returns (GetFeastCoreVersionResponse)

Retrieve version information about this Feast deployment

rpc GetEntity(GetEntityRequest) returns (GetEntityResponse)

Returns a specific entity

rpc ListFeatures(ListFeaturesRequest) returns (ListFeaturesResponse)

Returns all feature references and respective features matching that filter. If none are found an empty map will be returned If no filter is provided in the request, the response will contain all the features currently stored in the default project.

rpc ListStores(ListStoresRequest) returns (ListStoresResponse)

Retrieve store details given a filter.

Returns all stores matching that filter. If none are found, an empty list will be returned. If no filter is provided in the request, the response will contain all the stores currently stored in the registry.

rpc ApplyEntity(ApplyEntityRequest) returns (ApplyEntityResponse)

Create or update and existing entity.

This function is idempotent - it will not create a new entity if schema does not change. Schema changes will update the entity if the changes are valid. Following changes are not valid: - Changes to name - Changes to type

rpc ListEntities(ListEntitiesRequest) returns (ListEntitiesResponse)

Returns all entity references and respective entities matching that filter. If none are found an empty map will be returned If no filter is provided in the request, the response will contain all the entities currently stored in the default project.

rpc UpdateStore(UpdateStoreRequest) returns (UpdateStoreResponse)

Updates core with the configuration of the store.

If the changes are valid, core will return the given store configuration in response, and start or update the necessary feature population jobs for the updated store.

rpc CreateProject(CreateProjectRequest) returns (CreateProjectResponse)

Creates a project. Projects serve as namespaces within which resources like features will be created. Feature table names as must be unique within a project while field (Feature/Entity) names must be unique within a Feature Table. Project names themselves must be globally unique.

rpc ArchiveProject(ArchiveProjectRequest) returns (ArchiveProjectResponse)

Archives a project. Archived projects will continue to exist and function, but won’t be visible through the Core API. Any existing ingestion or serving requests will continue to function, but will result in warning messages being logged. It is not possible to unarchive a project through the Core API

rpc ListProjects(ListProjectsRequest) returns (ListProjectsResponse)

Lists all projects active projects.

rpc ApplyFeatureTable(ApplyFeatureTableRequest) returns (ApplyFeatureTableResponse)

Create or update an existing feature table. This function is idempotent - it will not create a new feature table if the schema does not change. Schema changes will update the feature table if the changes are valid. All changes except the following are valid: - Changes to feature table name. - Changes to entities - Changes to feature name and type

rpc ListFeatureTables(ListFeatureTablesRequest) returns (ListFeatureTablesResponse)

List feature tables that match a given filter. Returns the references of the Feature Tables matching that filter. If none are found, an empty list will be returned. If no filter is provided in the request, the response will match all the feature tables currently stored in the registry.

rpc GetFeatureTable(GetFeatureTableRequest) returns (GetFeatureTableResponse)

Returns a specific feature table

rpc DeleteFeatureTable(DeleteFeatureTableRequest) returns (DeleteFeatureTableResponse)

Delete a specific feature table

Types

GetEntityRequest

Request for a single entity

Field Type Description Required
name string

Name of entity (required).

No
project string

Name of project the entity belongs to. If omitted will default to ‘default’ project.

No

GetEntityResponse

Response containing a single entity

Field Type Description Required
entity Entity No

ListEntitiesRequest

Retrieves details for all versions of a specific entity

Field Type Description Required
filter Filter No

ListEntitiesResponse

Field Type Description Required
entities Entity[] No

ListFeaturesRequest

Field Type Description Required
filter Filter No

ListFeaturesResponse

Field Type Description Required
features map<string, FeatureSpecV2> No

ListStoresRequest

Field Type Description Required
filter Filter No

ListStoresResponse

Field Type Description Required
store Store[] No

ApplyEntityRequest

Field Type Description Required
spec EntitySpecV2

If project is unspecified, will default to ‘default’ project. If project specified does not exist, the project would be automatically created.

No
project string

Name of project that this entity belongs to.

No

ApplyEntityResponse

Field Type Description Required
entity Entity No

GetFeastCoreVersionRequest

GetFeastCoreVersionResponse

Field Type Description Required
version string No

UpdateStoreRequest

Field Type Description Required
store Store No

UpdateStoreResponse

Field Type Description Required
store Store No
status Status No

CreateProjectRequest

Request to create a project

Field Type Description Required
name string

Name of project (required)

No

CreateProjectResponse

Response for creation of a project

ArchiveProjectRequest

Request for the archival of a project

Field Type Description Required
name string

Name of project to be archived

No

ArchiveProjectResponse

Response for archival of a project

ListProjectsRequest

Request for listing of projects

ListProjectsResponse

Response for listing of projects

Field Type Description Required
projects string[]

List of project names (archived projects are filtered out)

No

UpdateFeatureSetStatusResponse

ApplyFeatureTableRequest

Field Type Description Required
project string

Optional. Name of the Project to apply the Feature Table to. If unspecified, will apply FeatureTable to the default project.

No
tableSpec FeatureTableSpec

Feature Table specification to apply

No

ApplyFeatureTableResponse

Field Type Description Required
table FeatureTable No

GetFeatureTableRequest

Field Type Description Required
project string

Optional. Name of the Project to retrieve the Feature Table from. If unspecified, will apply FeatureTable to the default project.

No
name string

Name of the FeatureTable to retrieve.

No

GetFeatureTableResponse

Field Type Description Required
table FeatureTable

The Feature Table retrieved.

No

ListFeatureTablesRequest

Field Type Description Required
filter Filter

Filter used when listing Feature Tables

No

ListFeatureTablesResponse

Field Type Description Required
tables FeatureTable[]

List of matching Feature Tables

No

DeleteFeatureTableRequest

Field Type Description Required
project string

Optional. Name of the Project to delete the Feature Table from. If unspecified, will delete FeatureTable from the default project.

No
name string

Name of the FeatureTable to delete.

No

DeleteFeatureTableResponse

ListEntitiesRequest.Filter

Field Type Description Required
project string

Optional. Specifies the name of the project to list Entities in. It is NOT possible to provide an asterisk with a string in order to do pattern matching. If unspecified, this field will default to the default project ‘default’.

No
labels map<string, string>

Optional. User defined metadata for entity. Entities with all matching labels will be returned.

No

ListFeaturesRequest.Filter

Field Type Description Required
labels map<string, string>

User defined metadata for feature. Features with all matching labels will be returned.

No
entities string[]

List of entities contained within the featureSet that the feature belongs to. Only feature tables with these entities will be searched for features.

No
project string

Name of project that the feature tables belongs to. Filtering on projects is disabled. It is NOT possible to provide an asterisk with a string in order to do pattern matching. If unspecified this field will default to the default project ‘default’.

No

ListStoresRequest.Filter

Field Type Description Required
name string

Name of desired store. Regex is not supported in this query.

No

ListFeatureTablesRequest.Filter

Field Type Description Required
project string

Optional. Specifies the name of the project to list Feature Tables in. If unspecified would list Feature Tables in the default project.

No
labels map<string, string>

Optional. Feature Tables with all matching labels will be returned. If unspecified would list Feature Tables without filtering by labels.

No

Entity

Field Type Description Required
spec EntitySpecV2

User-specified specifications of this entity.

No
meta EntityMeta

System-populated metadata for this entity.

No

Store

Store provides a location where Feast reads and writes feature values. Feature values will be written to the Store in the form of FeatureRow elements. The way FeatureRow is encoded and decoded when it is written to and read from the Store depends on the type of the Store.

Field Type Description Required
name string

Name of the store.

No
type StoreType

Type of store.

No
subscriptions Subscription[]

Feature sets to subscribe to.

No
redisConfig RedisConfig (oneof) No
redisClusterConfig RedisClusterConfig (oneof) No

EntitySpecV2

Field Type Description Required
name string

Name of the entity.

No
valueType Enum

Type of the entity.

No
description string

Description of the entity.

No
labels map<string, string>

User defined metadata

No

FeatureTableSpec

Field Type Description Required
name string

Name of the feature table. Must be unique. Not updated.

No
entities string[]

List names of entities to associate with the Features defined in this Feature Table. Not updatable.

No
features FeatureSpecV2[]

List of features specifications for each feature defined with this feature table.

No
labels map<string, string>

User defined metadata

No
maxAge Duration

Features in this feature table can only be retrieved from online serving younger than max age. Age is measured as the duration of time between the feature’s event timestamp and when the feature is retrieved Feature values outside max age will be returned as unset values and indicated to end user

No
batchSource DataSource

Batch/Offline DataSource to source batch/offline feature data. Only batch DataSource can be specified (ie source type should start with ‘BATCH_’)

No
streamSource DataSource

Stream/Online DataSource to source stream/online feature data. Only stream DataSource can be specified (ie source type should start with ‘STREAM_’)

No

FeatureTable

Field Type Description Required
spec FeatureTableSpec

User-specified specifications of this feature table.

No
meta FeatureTableMeta

System-populated metadata for this feature table.

No

FeatureSpecV2

Field Type Description Required
name string

Name of the feature. Not updatable.

No
valueType Enum

Value type of the feature. Not updatable.

No
labels map<string, string>

Labels for user defined metadata on a feature

No

UpdateStoreResponse.Status

Name Description
NO_CHANGE

Existing store config matching the given store id is identical to the given store config.

UPDATED

New store created or existing config updated.