Как я могу использовать httpx для загрузки файла на S3, используя заранее подписанный URL (метод PUT)

Поскольку httpx стремится быть совместимым с API запросов, где это возможно, я попробовал следующее на основе этого ответа:

with open(local_file, 'rb') as f:
    response = httpx.put(s3_presigned_url, data=f)

Это возвращает ответ 501 от S3 со следующим сообщением:

<?xml version="1.0" encoding="UTF-8"?>
    <Error><Code>NotImplemented</Code><Message>A header you provided implies functionality that is not implemented</Message><Header>Transfer-Encoding</Header><RequestId>AA70B8C6566230A7</RequestId><HostId>lU1m+ZF48KN8jV+F4bPjMU+81zBNRIt9TdaWzXaNZJD4HCqcDzAzGNli+g7/Z9XhnPjOzFdMFio=</HostId></Error>

Я подтвердил, что эквивалентный вызов запросов работает.

Я использую Windows 10, используя Python версии 3.7.7 и httpx версии 0.14.2.

0 ответов

Другие вопросы по тегам