Bedrock Knowledge Base + Pinecone fails after vectors inserted

I’m integrating AWS Bedrock Knowledge Bases (VECTOR) with Pinecone Serverless as the vector store. Embeddings are Amazon Titan Text Embeddings v2 (1024 dims, cosine). When my Pinecone index is empty, I can create/connect the KB. As soon as I insert vectors and try to retrieve, Bedrock returns an error — and if I try to re-create the KB pointing to a non-empty index/namespace, I get a storage configuration validation error.

Pinecone index details

  • Type: Serverless (Dense)

  • Cloud/Region: aws / us-west-2

  • Dimensions: 1024

  • Metric: cosine

  • Namespaces tested:

    • "" (empty / default)

    • "vitacasa"

I can upsert and fetch vectors directly via Pinecone HTTP API.

  1. Bedrock retrieve (index has data)
aws bedrock-agent-runtime retrieve \
  --region us-west-2 \
  --knowledge-base-id 123 \
  --retrieval-query '{ "text": "comprar una propiedad en México notario preventa Zapopan" }' \
  --retrieval-configuration '{"vectorSearchConfiguration":{"numberOfResults":5}}'

Returns:

An error occurred (DependencyFailedException) when calling the Retrieve operation: Internal Server Exception

  1. Bedrock create-knowledge-base (pointing to a non-empty index / namespace)
  • If I include "namespace":"vitacasa" (or any non-empty), I get:
ValidationException: The knowledge base storage configuration provided is invalid, please check your configuration.

  • If I omit the namespace (so default/empty), KB creation succeeds only when the index is empty; once the index has data, retrieval later fails with the same DependencyFailedException.

    Questions:

  1. Could Bedrock be calling Pinecone endpoints like /namespaces without the X-Pinecone-API-Version header during validation or retrieval, causing Pinecone to return an error and Bedrock to surface ValidationException / DependencyFailedException?
  2. Are there constraints on metadata that could cause Pinecone to reject/400 something Bedrock sends (e.g., large text metadata, field names like text / url, stringified numbers, etc.)? Any reserved keys?