apache/beam · error · NotFound

Vertex AI Feature Store %s does not exists in %s

Error message

Vertex AI Feature Store %s does not exists in %s

What it means

Raised in `VertexAIFeatureStoreEnrichmentHandler.__init__` as a `google.api_core.exceptions.NotFound` when the admin client's `get_feature_online_store` returns nothing for the given feature store name and location. This means the configured online feature store does not exist in the specified project/region.

Source

Thrown at sdks/python/apache_beam/transforms/enrichment_handlers/vertex_ai_feature_store.py:134

    except Exception:
      _LOGGER.warning(
          'Due to insufficient admin permission, could not verify '
          'the existence of feature store. If the `exception_level` '
          'is set to WARN then make sure the feature store exists '
          'otherwise the data enrichment will not happen without '
          'throwing an error.')
    else:
      location_path = admin_client.common_location_path(
          project=self.project, location=self.location)
      feature_store_path = admin_client.feature_online_store_path(
          project=self.project,
          location=self.location,
          feature_online_store=self.feature_store_name)
      feature_store = admin_client.get_feature_online_store(
          name=feature_store_path)

      if not feature_store:
        raise NotFound(
            'Vertex AI Feature Store %s does not exists in %s' %
            (self.feature_store_name, location_path))

  def __enter__(self):
    """Connect with the Vertex AI Feature Store."""
    self.client = aiplatform.gapic.FeatureOnlineStoreServiceClient(
        **self.kwargs)
    self.feature_view_path = self.client.feature_view_path(
        self.project,
        self.location,
        self.feature_store_name,
        self.feature_view_name)

  def __call__(self, request: beam.Row, *args, **kwargs):
    """Fetches feature value for an entity-id from Vertex AI Feature Store.

    Args:
      request: the input `beam.Row` to enrich.

View on GitHub (pinned to 12126d8942)

Solutions

  1. Verify the online store exists: `gcloud ai feature-online-stores list --region=LOCATION` or `aiplatform.FeatureOnlineStore.list()`.
  2. Correct `project`/`location`/`feature_store_name` so they reference the actual resource.
  3. Create the feature online store before running the pipeline.
  4. Ensure the credentials/service account can see the resource in the target project.

Example fix

// before
feature_store_name='my_fs', location='us-east1'  # store lives in us-central1
// after
feature_store_name='my_fs', location='us-central1'
Defensive patterns

Strategy: validation

Validate before calling

from google.cloud import aiplatform
stores = {s.name for s in aiplatform.FeatureOnlineStore.list(location=location)}
assert feature_store_name in stores, f'{feature_store_name} not in {stores}'

Try / catch

from google.api_core.exceptions import NotFound
try:
    fs = admin_client.get_feature_online_store(name=path)
except NotFound:
    raise RuntimeError(f'Online store {feature_store_name} missing in {location}')

Prevention

When it happens

Trigger: Constructing the handler with a `feature_store_name` (or location/project) that does not match an existing Vertex AI Feature Online Store; wrong region for a regional store; resource deleted before the pipeline ran.

Common situations: Regional endpoint mismatch (store in us-central1, location set to us-east1); typo in feature store name; environment switch (staging project lacks the resource); resource removed between pipeline deployments.

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


AI-assisted analysis of apache/beam@12126d8942 (2026-09-13). Data as JSON: /api/errors/8f7df0865bdb533c. Report an issue: GitHub.