apache/beam · error · ValueError
Multiple values received for api_endpoint in api_endpoint…
Error message
Multiple values received for api_endpoint in api_endpoint and client_options parameters.
What it means
Raised in `VertexAIFeatureStoreEnrichmentHandler.__init__` when kwargs contain a `client_options` dict whose `api_endpoint` differs from the `api_endpoint` parameter. The handler refuses conflicting endpoint configuration because a single client endpoint must be unambiguous.
Solutions
- Remove the explicit `api_endpoint` argument and keep only `client_options`, or vice versa.
- Make the `api_endpoint` value inside `client_options` identical to the `api_endpoint` argument.
- Omit `client_options` entirely so the handler injects the configured `api_endpoint` automatically.
Example fix
// before
handler = VertexAIFeatureStoreEnrichmentHandler(api_endpoint='us-central1-aiplatform.googleapis.com', kwargs={'client_options': {'api_endpoint': 'europe-west1-aiplatform.googleapis.com'}})
// after
handler = VertexAIFeatureStoreEnrichmentHandler(api_endpoint='us-central1-aiplatform.googleapis.com') Defensive patterns
Strategy: validation
Validate before calling
co = kwargs.get('client_options') or {}
if 'api_endpoint' in co and api_endpoint and co['api_endpoint'] != api_endpoint:
raise ValueError('conflicting api_endpoint values') Prevention
- Set the endpoint in exactly one place — prefer client_options only.
- Review kwargs forwarding so duplicate client config is not merged in.
- Document which argument wins in wrapper libraries.
When it happens
Trigger: Constructing the handler with both `api_endpoint='us-central1-aiplatform.googleapis.com'` and `kwargs={'client_options': {'api_endpoint': '...other...'}}`, where the two values differ.
Common situations: Generic kwargs plumbing forwarding a client_options dict from another client while also setting api_endpoint explicitly; regional vs global endpoint mismatch copied from docs.
Understand the failure class
Background: Conflicting config options: "cannot be used together" — configuration validation errors across open-source libraries — this error's family across 162 libraries.
Related errors
- Expected image content in
- partial and use_subprocess are mutually incompatible.
- project and location must both be provided if api_key is…
- Unable to import VertexAIModelHandlerJSON. Please install…
- Vertex AI Feature Store
AI-assisted analysis of apache/beam@12126d8942 (2026-09-13).
Data as JSON: /api/errors/6eac141c05f58e43.
Report an issue: GitHub.
Appendix: source
Thrown at sdks/python/apache_beam/transforms/enrichment_handlers/vertex_ai_feature_store.py:106
`apache_beam.transforms.enrichment_handlers.utils.ExceptionLevel`
to set the level when an empty row is returned from the BigTable query.
Defaults to `ExceptionLevel.WARN`.
kwargs: Optional keyword arguments to configure the
`aiplatform.gapic.FeatureOnlineStoreServiceClient`.
"""
self.project = project
self.location = location
self.api_endpoint = api_endpoint
self.feature_store_name = feature_store_name
self.feature_view_name = feature_view_name
self.row_key = row_key
self.exception_level = exception_level
self.kwargs = kwargs if kwargs else {}
if 'client_options' in self.kwargs:
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}
# check if the feature store exists
try:
admin_client = aiplatform.gapic.FeatureOnlineStoreAdminServiceClient(
**self.kwargs)
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(View on GitHub (pinned to 12126d8942)