{"record":{"id":"dd0d45d943923d42","repo":"BerriAI/litellm","slug":"boto3-is-required-for-bedrock-ingestion-install-w","errorCode":null,"errorMessage":"boto3 is required for Bedrock ingestion. Install with: pip install boto3","messagePattern":"boto3 is required for Bedrock ingestion\\. Install with: pip install boto3","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"litellm/rag/ingestion/bedrock_ingestion.py","lineNumber":581,"sourceCode":"                \"type\": \"S3\",\n                \"s3Configuration\": {\n                    \"bucketArn\": f\"arn:aws:s3:::{self.s3_bucket}\",\n                    \"inclusionPrefixes\": [self.s3_prefix],\n                },\n            },\n        )\n        ds_id: Final = response[\"dataSource\"][\"dataSourceId\"]\n        self._created_resources[\"data_source\"] = ds_id\n\n        verbose_logger.info(\"Created Data Source: %s\", ds_id)\n        return ds_id\n\n    def _get_boto3_client(self, service_name: str):\n        \"\"\"Get a boto3 client for the specified service using BaseAWSLLM auth.\"\"\"\n        try:\n            import boto3\n        except ImportError:\n            raise ImportError(\"boto3 is required for Bedrock ingestion. Install with: pip install boto3\")\n\n        # Get credentials using BaseAWSLLM's get_credentials method\n        credentials: Final = self.get_credentials(\n            aws_access_key_id=_get_str_or_none(self.vector_store_config.get(\"aws_access_key_id\")),\n            aws_secret_access_key=_get_str_or_none(self.vector_store_config.get(\"aws_secret_access_key\")),\n            aws_session_token=_get_str_or_none(self.vector_store_config.get(\"aws_session_token\")),\n            aws_region_name=self.aws_region_name,\n            aws_session_name=_get_str_or_none(self.vector_store_config.get(\"aws_session_name\")),\n            aws_profile_name=_get_str_or_none(self.vector_store_config.get(\"aws_profile_name\")),\n            aws_role_name=_get_str_or_none(self.vector_store_config.get(\"aws_role_name\")),\n            aws_web_identity_token=_get_str_or_none(self.vector_store_config.get(\"aws_web_identity_token\")),\n            aws_sts_endpoint=_get_str_or_none(self.vector_store_config.get(\"aws_sts_endpoint\")),\n            aws_external_id=_get_str_or_none(self.vector_store_config.get(\"aws_external_id\")),\n        )\n\n        # Create session with credentials\n        session: Final = boto3.Session(\n            aws_access_key_id=credentials.access_key,","sourceCodeStart":563,"sourceCodeEnd":599,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/rag/ingestion/bedrock_ingestion.py#L563-L599","documentation":"Missing-dependency error from _get_boto3_client: the optional boto3 package is not installed, so no AWS client can be built for bedrock-agent/OpenSearch operations. Install boto3 (it also provides the credential chain BaseAWSLLM relies on) and retry.","triggerScenarios":"Thrown at litellm/rag/ingestion/bedrock_ingestion.py:581 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install boto3: pip install boto3."],"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-14T05:17:10.506Z"}