{"record":{"id":"89c01b46320376f1","repo":"BerriAI/litellm","slug":"invalid-vector-bucket-name-self-vector-bucket-na","errorCode":null,"errorMessage":"Invalid vector_bucket_name '{self.vector_bucket_name}': AWS S3 bucket names must be at least 3 characters long. Please provide a valid bucket name (e.g., 'my-vector-bucket').","messagePattern":"Invalid vector_bucket_name '(.+?)': AWS S3 bucket names must be at least 3 characters long\\. Please provide a valid bucket name \\(e\\.g\\., 'my-vector-bucket'\\)\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/rag/ingestion/s3_vectors_ingestion.py","lineNumber":268,"sourceCode":"        method_upper: Final = method.upper()\n        if method_upper == \"PUT\":\n            response = await self.async_httpx_client.put(url, data=data, headers=signed_headers)\n        elif method_upper == \"POST\":\n            response = await self.async_httpx_client.post(url, data=data, headers=signed_headers)\n        elif method_upper == \"GET\":\n            response = await self.async_httpx_client.get(url, headers=signed_headers)\n        else:\n            raise ValueError(f\"Unsupported HTTP method: {method}\")\n\n        return response\n\n    async def _ensure_vector_bucket_exists(self):\n        \"\"\"Create vector bucket if it doesn't exist using GetVectorBucket and CreateVectorBucket APIs.\"\"\"\n        verbose_logger.debug(\"Ensuring S3 vector bucket exists: %s\", self.vector_bucket_name)\n\n        # Validate bucket name (AWS S3 naming rules)\n        if len(self.vector_bucket_name) < 3:\n            raise ValueError(\n                f\"Invalid vector_bucket_name '{self.vector_bucket_name}': \"\n                f\"AWS S3 bucket names must be at least 3 characters long. \"\n                f\"Please provide a valid bucket name (e.g., 'my-vector-bucket').\"\n            )\n        if not self.vector_bucket_name.replace(\"-\", \"\").replace(\".\", \"\").isalnum():\n            raise ValueError(\n                f\"Invalid vector_bucket_name '{self.vector_bucket_name}': \"\n                f\"AWS S3 bucket names can only contain lowercase letters, numbers, hyphens, and periods. \"\n                f\"Please provide a valid bucket name (e.g., 'my-vector-bucket').\"\n            )\n\n        # Try to get bucket info using GetVectorBucket API\n        get_url: Final = f\"https://s3vectors.{self.aws_region_name}.api.aws/GetVectorBucket\"\n        get_body: Final = safe_dumps({\"vectorBucketName\": self.vector_bucket_name})\n\n        try:\n            response: httpx.Response = await self._sign_and_execute_request(\"POST\", get_url, data=get_body)\n            if response.status_code == 200:","sourceCodeStart":250,"sourceCodeEnd":286,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/rag/ingestion/s3_vectors_ingestion.py#L250-L286","documentation":"Error \"Invalid vector_bucket_name '{self.vector_bucket_name}': AWS S3 bucket names must be at least 3 characters long. Please provide a valid bucket name (e.g., 'my-vector-bucket').\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/rag/ingestion/s3_vectors_ingestion.py:268 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a bucket name at least 3 characters long, e.g. 'my-vector-bucket'."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}