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-трафик без ущерба для производительности.
