Amazon SageMaker ИИ Async Inference получил поддержку inline-полезных нагрузок. Теперь при вызове эндпоинта через InvokeEndpointAsync можно передать payload напрямую в теле запроса, минуя Amazon S3. Максимальный размер передаваемых данных — 128 000 байт. Новая функциональность доступна в 31 коммерческом регионе AWS, включая BOM, PDX, IAD, LHR, FRA и другие.

Ранее для каждого асинхронного вызова требовалось сначала загрузить payload в S3, указать ссылку на объект в параметре InputLocation, а затем вызывать эндпоинт. Это добавляло сетевой round-trip, требовало отдельной настройки IAM-прав на запись в S3 и создания схемы именования для избежания коллизий, а также политики очистки старых объектов. С новым параметром Body код клиента становится однокомпонентным: один вызов API без дополнительных шагов.

ХарактеристикаСтарая схема (S3)Новая схема (inline)
Сетевые вызовы2 (S3 PUT + InvokeEndpointAsync)1 (InvokeEndpointAsync)
IAM-права на записьТребуется s3:PutObjectНе требуется
Очистка входных объектовТребуется (UUID, lifecycle)Не требуется
Затраты на S3 PUTЕстьНет
Обработка ошибокКосвенная (после загрузки)Синхронная ValidationError

Основные преимущества — снижение задержки (удалён один сетевой вызов и один S3 PUT), упрощение архитектуры (не нужен входной бакет, его жизненные циклы и соответствующие разрешения), уменьшение количества точек отказа — один запрос либо ставится в очередь, либо возвращает ошибку. Также устраняются затраты на PUT-операции S3 при каждом инлайн-вызове. При нарушении ограничения размера или указании одновременно Body и InputLocation API немедленно возвращает синхронную ошибку ValidationError, что упрощает отладку.

Удаление шага S3 сокращает время отклика, упрощает код клиента и снижает затраты на хранение и передачу.

Функция не требует изменения существующих моделей или контейнеров: она работает с любыми асинхронными эндпоинтами. Вывод по-прежнему записывается в указанный S3 OutputLocation, уведомления отправляются через SNS. Таким образом, обновление особенно полезно для сценариев, где small payload (килобайты) сочетается с длительным временем обработки — типично для задач генерации текста или анализа данных с помощью LLM, где асинхронный режим позволяет масштабироваться до нуля и обрабатывать burst-трафик без ущерба для производительности.