{"record":{"id":"82db6008aa1e5316","repo":"microsoft/semantic-kernel","slug":"failed-to-create-azure-cosmosdb-for-mongodb-settin","errorCode":null,"errorMessage":"Failed to create Azure CosmosDB for MongoDB settings.","messagePattern":"Failed to create Azure CosmosDB for MongoDB settings\\.","errorType":"exception","errorClass":"VectorStoreInitializationException","httpStatus":null,"severity":"error","filePath":"python/semantic_kernel/connectors/azure_cosmos_db.py","lineNumber":343,"sourceCode":"                record_type=record_type,\n                definition=definition,\n                mongo_client=mongo_client,\n                collection_name=collection_name,\n                database_name=database_name or DEFAULT_DB_NAME,\n                managed_client=managed_client,\n                embedding_generator=embedding_generator,\n            )\n            return\n\n        try:\n            settings = CosmosMongoSettings(\n                env_file_path=env_file_path,\n                env_file_encoding=env_file_encoding,\n                connection_string=connection_string,\n                database_name=database_name,\n            )\n        except ValidationError as exc:\n            raise VectorStoreInitializationException(\"Failed to create Azure CosmosDB for MongoDB settings.\") from exc\n\n        mongo_client = AsyncMongoClient(\n            settings.connection_string.get_secret_value(),\n            driver=DriverInfo(SEMANTIC_KERNEL_USER_AGENT, metadata.version(\"semantic-kernel\")),\n        )\n\n        super().__init__(\n            record_type=record_type,\n            definition=definition,\n            collection_name=collection_name,\n            mongo_client=mongo_client,\n            managed_client=managed_client,\n            database_name=settings.database_name,\n            embedding_generator=embedding_generator,\n        )\n\n    @override\n    async def ensure_collection_exists(self, **kwargs) -> None:","sourceCodeStart":325,"sourceCodeEnd":361,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/python/semantic_kernel/connectors/azure_cosmos_db.py#L325-L361","documentation":"CosmosMongoCollection builds a CosmosMongoSettings object from constructor args and environment variables. If that pydantic settings validation fails (typically a missing required connection string or malformed value), the library wraps the ValidationError in a VectorStoreInitializationException. This fires during collection construction, before any network call.","triggerScenarios":"Raised in CosmosMongoCollection.__init__ when CosmosMongoSettings(...) raises ValidationError. Triggered when no mongo_client is supplied and the environment lacks the required connection string (e.g. COSMOS_DB_MONGODB_CONNECTION_STRING), or when env vars are malformed. The same path is hit in CosmosMongoStore (error 1248).","commonSituations":"Missing environment variable for the connection string in local dev / CI. Wrong env var name after an SDK rename. A connection string that fails URL/format validation. Forgetting to load a .env file (env_file_path not set).","solutions":["Set the required connection string environment variable (check CosmosMongoSettings for the exact name) and any database_name env var.","Pass connection_string=... directly to the constructor.","If using a .env file, pass env_file_path and env_file_encoding, or load it via python-dotenv before construction.","Supply a pre-built mongo_client to bypass settings validation entirely."],"exampleFix":"// before\nexport COSMOS_DB_MONGODB_CONNECTION_STRING=\"\"\n// after\nexport COSMOS_DB_MONGODB_CONNECTION_STRING=\"mongodb+srv://user:pass@account.mongo.cosmos.azure.com/?retryWrites=true&w=majority\"","handlingStrategy":"try-catch","validationCode":"import os\nrequired = [\"COSMOS_DB_MONGODB_CONNECTION_STRING\"]  # confirm exact name in CosmosMongoSettings\nmissing = [v for v in required if not os.getenv(v)]\nif missing:\n    raise RuntimeError(f\"Missing env vars: {missing}\")\n","typeGuard":null,"tryCatchPattern":"try:\n    collection = CosmosMongoCollection(...)\nexcept VectorStoreInitializationException as e:\n    cause = e.__cause__\n    if isinstance(cause, ValidationError):\n        # missing/malformed settings -> fix env or pass connection_string\n        ...\n","preventionTips":["Load .env at app startup (e.g. dotenv.load_dotenv()).","Define required env vars in a settings check before constructing clients.","Prefer injecting a pre-built mongo_client in DI for testability."],"tags":["azure-cosmos-db","vector-store","initialization","configuration","environment"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}