{"record":{"id":"3ad75d9e2aaad37c","repo":"BerriAI/litellm","slug":"file-id-is-required-for-bedrock-file-content-retri","errorCode":null,"errorMessage":"file_id is required for Bedrock file content retrieval","messagePattern":"file_id is required for Bedrock file content retrieval","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/bedrock/files/transformation.py","lineNumber":1174,"sourceCode":"    ) -> list[OpenAIFileObject]:\n        raise NotImplementedError(\"BedrockFilesConfig does not support file listing\")\n\n    def transform_file_content_request(\n        self,\n        file_content_request: FileContentRequest,\n        optional_params: Mapping[str, object],\n        litellm_params: MutableMapping[str, object],\n    ) -> tuple[str, dict[str, str]]:\n        \"\"\"\n        Build a SigV4-signed S3 GetObject request for a Bedrock batch file.\n\n        Bedrock batch file ids are `s3://bucket/key` URIs (or unified ids\n        that decode to one); the bucket and key are validated against the\n        server-configured bucket before any request is signed.\n        \"\"\"\n        file_id: Final = file_content_request.get(\"file_id\")\n        if not file_id:\n            raise ValueError(\"file_id is required for Bedrock file content retrieval\")\n\n        s3_uri: Final = extract_s3_uri_from_file_id(file_id)\n        bucket_name, object_key = validate_managed_cloud_file_id(\n            file_id=s3_uri,\n            scheme=\"s3://\",\n            configured_bucket_name=get_configured_s3_bucket_name(litellm_params),\n            allowed_object_prefixes=BEDROCK_MANAGED_S3_PREFIXES,\n            allow_legacy_cloud_file_ids=should_allow_legacy_cloud_file_ids(litellm_params),\n        )\n\n        # The shared file-content handler passes optional_params={}, so AWS\n        # credentials/region arrive via litellm_params here (unlike the upload\n        # path). s3_region_name wins over aws_region_name, same priority as\n        # get_complete_file_url above.\n        merged_params: Final[dict[str, object]] = {}\n        merged_params.update(litellm_params)\n        merged_params.update(optional_params)\n        request_params: Final = _BedrockS3RequestParams.model_validate(merged_params)","sourceCodeStart":1156,"sourceCodeEnd":1192,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/llms/bedrock/files/transformation.py#L1156-L1192","documentation":"Error \"file_id is required for Bedrock file content retrieval\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/llms/bedrock/files/transformation.py:1174 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass file_id for Bedrock file content retrieval."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}