Stay organized with collections
Save and categorize content based on your preferences.
Full name: projects.locations.featurestores.batchReadFeatureValues
Batch reads feature values from a Featurestore.
This API enables batch reading feature values, where each read instance in the batch may read feature values of entities from one or more EntityTypes. Point-in-time correctness is guaranteed for feature values of each read instance as of each instance's read timestamp.
Endpoint
post
https://{service-endpoint}/v1beta1/{featurestore}:batchReadFeatureValues
Required. The resource name of the Featurestore from which to query feature values. Format: projects/{project}/locations/{location}/featurestores/{featurestore}
Request body
The request body contains data with the following structure:
When not empty, the specified fields in the *_read_instances source will be joined as-is in the output, in addition to those fields from the Featurestore Entity.
For BigQuery source, the type of the pass-through values will be automatically inferred. For CSV source, the pass-through values will be passed as opaque bytes.
Optional. Excludes feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in feature Store. timestamp, if present, must not have higher than millisecond precision.
Uses RFC 3339, where generated output will always be Z-normalized and uses 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".
Each read instance consists of exactly one read timestamp and one or more entity IDs identifying entities of the corresponding EntityTypes whose Features are requested.
Each output instance contains feature values of requested entities concatenated together as of the read time.
An example read instance may be foo_entity_id, bar_entity_id,
2020-01-01T10:00:00.123Z.
An example output instance may be foo_entity_id, bar_entity_id,
2020-01-01T10:00:00.123Z, foo_entity_feature1_value,
bar_entity_feature2_value.
timestamp in each read instance must be millisecond-aligned.
csvReadInstances are read instances stored in a plain-text CSV file. The header should be: [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp
The columns can be in any order.
Values in the timestamp column must use the RFC 3339 format, e.g. 2012-07-30T10:43:17.123Z.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-27 UTC."],[],[],null,["# Method: featurestores.batchReadFeatureValues\n\n**Full name**: projects.locations.featurestores.batchReadFeatureValues\n\nBatch reads feature values from a Featurestore.\n\nThis API enables batch reading feature values, where each read instance in the batch may read feature values of entities from one or more EntityTypes. Point-in-time correctness is guaranteed for feature values of each read instance as of each instance's read timestamp. \n\n### Endpoint\n\npost `https:``/``/{service-endpoint}``/v1beta1``/{featurestore}:batchReadFeatureValues` \nWhere `{service-endpoint}` is one of the [supported service endpoints](/vertex-ai/docs/reference/rest#rest_endpoints).\n\n### Path parameters\n\n`featurestore` `string` \nRequired. The resource name of the Featurestore from which to query feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`\n\n### Request body\n\nThe request body contains data with the following structure:\nFields `destination` `object (`[FeatureValueDestination](/vertex-ai/docs/reference/rest/v1beta1/FeatureValueDestination)`)` \nRequired. Specifies output location and format.\n`passThroughFields[]` `object (`[PassThroughField](/vertex-ai/docs/reference/rest/v1beta1/projects.locations.featurestores/batchReadFeatureValues#PassThroughField)`)` \nWhen not empty, the specified fields in the \\*_read_instances source will be joined as-is in the output, in addition to those fields from the Featurestore Entity.\n\nFor BigQuery source, the type of the pass-through values will be automatically inferred. For CSV source, the pass-through values will be passed as opaque bytes.\n`entityTypeSpecs[]` `object (`[EntityTypeSpec](/vertex-ai/docs/reference/rest/v1beta1/projects.locations.featurestores/batchReadFeatureValues#EntityTypeSpec)`)` \nRequired. Specifies EntityType grouping Features to read values of and settings.\n`startTime` `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` \nOptional. Excludes feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in feature Store. timestamp, if present, must not have higher than millisecond precision.\n\nUses RFC 3339, where generated output will always be Z-normalized and uses 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\"`. \n`read_option` `Union type` \n`read_option` can be only one of the following:\n`csvReadInstances` `object (`[CsvSource](/vertex-ai/docs/reference/rest/v1beta1/CsvSource)`)` \nEach read instance consists of exactly one read timestamp and one or more entity IDs identifying entities of the corresponding EntityTypes whose Features are requested.\n\nEach output instance contains feature values of requested entities concatenated together as of the read time.\n\nAn example read instance may be `foo_entity_id, bar_entity_id,\n2020-01-01T10:00:00.123Z`.\n\nAn example output instance may be `foo_entity_id, bar_entity_id,\n2020-01-01T10:00:00.123Z, foo_entity_feature1_value,\nbar_entity_feature2_value`.\n\ntimestamp in each read instance must be millisecond-aligned.\n\n`csvReadInstances` are read instances stored in a plain-text CSV file. The header should be: \\[ENTITY_TYPE_ID1\\], \\[ENTITY_TYPE_ID2\\], ..., timestamp\n\nThe columns can be in any order.\n\nValues in the timestamp column must use the RFC 3339 format, e.g. `2012-07-30T10:43:17.123Z`.\n`bigqueryReadInstances` `object (`[BigQuerySource](/vertex-ai/docs/reference/rest/v1beta1/BigQuerySource)`)` \nSimilar to csvReadInstances, but from BigQuery source. \n\n### Response body\n\nIf successful, the response body contains an instance of [Operation](/vertex-ai/docs/reference/rest/Shared.Types/ListOperationsResponse#Operation).\n\nPassThroughField\n----------------\n\nDescribe pass-through fields in read_instance source.\nFields `fieldName` `string` \nRequired. The name of the field in the CSV header or the name of the column in BigQuery table. The naming restriction is the same as [feature.name](/vertex-ai/docs/reference/rest/v1beta1/projects.locations.featureGroups.features#Feature.FIELDS.name). \n\nEntityTypeSpec\n--------------\n\nSelects Features of an EntityType to read values of and specifies read settings.\nFields `entityTypeId` `string` \nRequired. id of the EntityType to select Features. The EntityType id is the [entityTypeId](/vertex-ai/docs/reference/rest/v1beta1/projects.locations.featurestores.entityTypes/create#body.QUERY_PARAMETERS.entity_type_id) specified during EntityType creation.\n`featureSelector` `object (`[FeatureSelector](/vertex-ai/docs/reference/rest/v1beta1/FeatureSelector)`)` \nRequired. Selectors choosing which feature values to read from the EntityType.\n`settings[]` `object (`[DestinationFeatureSetting](/vertex-ai/docs/reference/rest/v1beta1/DestinationFeatureSetting)`)` \nPer-feature settings for the batch read."]]