BerriAI/litellm · error · ValueError

file_id is required for Bedrock file content retrieval

Error message

file_id is required for Bedrock file content retrieval

What it means

Error "file_id is required for Bedrock file content retrieval" thrown in BerriAI/litellm.

Source

Thrown at litellm/llms/bedrock/files/transformation.py:1174

    ) -> list[OpenAIFileObject]:
        raise NotImplementedError("BedrockFilesConfig does not support file listing")

    def transform_file_content_request(
        self,
        file_content_request: FileContentRequest,
        optional_params: Mapping[str, object],
        litellm_params: MutableMapping[str, object],
    ) -> tuple[str, dict[str, str]]:
        """
        Build a SigV4-signed S3 GetObject request for a Bedrock batch file.

        Bedrock batch file ids are `s3://bucket/key` URIs (or unified ids
        that decode to one); the bucket and key are validated against the
        server-configured bucket before any request is signed.
        """
        file_id: Final = file_content_request.get("file_id")
        if not file_id:
            raise ValueError("file_id is required for Bedrock file content retrieval")

        s3_uri: Final = extract_s3_uri_from_file_id(file_id)
        bucket_name, object_key = validate_managed_cloud_file_id(
            file_id=s3_uri,
            scheme="s3://",
            configured_bucket_name=get_configured_s3_bucket_name(litellm_params),
            allowed_object_prefixes=BEDROCK_MANAGED_S3_PREFIXES,
            allow_legacy_cloud_file_ids=should_allow_legacy_cloud_file_ids(litellm_params),
        )

        # The shared file-content handler passes optional_params={}, so AWS
        # credentials/region arrive via litellm_params here (unlike the upload
        # path). s3_region_name wins over aws_region_name, same priority as
        # get_complete_file_url above.
        merged_params: Final[dict[str, object]] = {}
        merged_params.update(litellm_params)
        merged_params.update(optional_params)
        request_params: Final = _BedrockS3RequestParams.model_validate(merged_params)

View on GitHub (pinned to 6c2dcb801b)

Solutions

  1. Pass file_id for Bedrock file content retrieval.

When it happens

Trigger: Thrown at litellm/llms/bedrock/files/transformation.py:1174 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15). Data as JSON: /api/errors/3ad75d9e2aaad37c. Report an issue: GitHub.