один логический блок, который достает документ и кладет в s3, и второй блок, который создает presigned url и отправляет куда-то
Да, такой вариант уже есть, так как presigned_url для s3 генерируются нормально и это так сейчас и работает. Хотелось бы исключить s3 как источник данных для внешних пользователей и перейти на генерацию ссылок в es напрямую. Клиент es, по документации, поддерживает эту фичу, но проблема с тем что совсем непонятно как сгенерировать ссылку на документ в es.