apache/beam · error · NotFound
Vertex AI Feature Store (Legacy)
Error message
Vertex AI Feature Store (Legacy) %s does not exist
What it means
In __init__, the handler validates the feature store by listing featurestores via the admin client; if gRPC NotFound is raised, it is re-raised as NotFound with a message stating the (Legacy) Vertex AI Feature Store identified by feature_store_id does not exist.
Solutions
- Verify feature_store_id matches the actual Featurestore resource ID in your project.
- Check project and location parameters match where the feature store was created.
- Confirm credentials can access the project and the Featurestore exists (gcloud ai featurestores list).
Example fix
// before
VertexAIFeatureStoreEnrichment('my-store-typo', 'my_view', 'user_id', project='p', location='us-central1')
// after
VertexAIFeatureStoreEnrichment('my_featurestore', 'my_view', 'user_id', project='p', location='us-central1') Defensive patterns
Strategy: try-catch
Validate before calling
from google.cloud import aiplatform
def store_exists(project, location, store_id):
client = aiplatform.gapic.FeaturestoreServiceClient()
name = client.featurestore_path(project, location, store_id)
try:
client.get_featurestore(name=name)
return True
except Exception:
return False Try / catch
try:
handler = VertexAIFeatureStoreEnrichment(fs_id, fv, key, project=p, location=loc)
except google.api_core.exceptions.NotFound as e:
logging.error('Feature store missing: %s', e) Prevention
- Copy resource IDs from gcloud/Console rather than retyping them.
- Verify project and location before constructing the handler.
- Validate resource existence in a startup smoke test.
When it happens
Trigger: Constructing VertexAIFeatureStoreEnrichment with a feature_store_id that does not exist in the given project/location, or with wrong project/location/credentials so the store is not visible.
Common situations: Typo in feature_store_id, using a store in a different region than the location parameter, wrong project, or credentials lacking permission to see the store (surfacing as NotFound).
Understand the failure class
Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.
Related errors
- _not_found_err_message(self.feature_store_id…
- _not_found_err_message(self.feature_store_name…
- Can't set both the topic and the subscription for a…
- Could not find a partition term for
- Could not find a partition transform for
AI-assisted analysis of apache/beam@12126d8942 (2026-09-13).
Data as JSON: /api/errors/e4537a0bde5f29db.
Report an issue: GitHub.
Appendix: source
Thrown at sdks/python/apache_beam/transforms/enrichment_handlers/vertex_ai_feature_store.py:265
if not self.kwargs['client_options']['api_endpoint']:
self.kwargs['client_options']['api_endpoint'] = self.api_endpoint
elif self.kwargs['client_options']['api_endpoint'] != self.api_endpoint:
raise ValueError(
'Multiple values received for api_endpoint in '
'api_endpoint and client_options parameters.')
else:
self.kwargs['client_options'] = {"api_endpoint": self.api_endpoint}
# checks if feature store exists
try:
_ = aiplatform.Featurestore(
featurestore_name=self.feature_store_id,
project=self.project,
location=self.location,
credentials=self.kwargs.get('credentials'),
)
except NotFound:
raise NotFound(
'Vertex AI Feature Store (Legacy) %s does not exist' %
self.feature_store_id)
def __enter__(self):
"""Connect with the Vertex AI Feature Store (Legacy)."""
self.client = aiplatform.gapic.FeaturestoreOnlineServingServiceClient(
**self.kwargs)
self.entity_type_path = self.client.entity_type_path(
self.project, self.location, self.feature_store_id, self.entity_type_id)
def __call__(self, request: beam.Row, *args, **kwargs):
"""Fetches feature value for an entity-id from
Vertex AI Feature Store (Legacy).
Args:
request: the input `beam.Row` to enrich.
"""
try:View on GitHub (pinned to 12126d8942)