Пошаговая функция, превышающая максимальное количество символов служебного лимита

Мое состояние в потоке пошаговой функции возвращает ошибкуstate/task returned a result with a size exceeding the maximum number of characters service limit. . В документации по пошаговым функциям ограничение на количество символов для ввода / вывода составляет32,768 characters . После проверки общего количества символов в моих данных результата, если они упали ниже предела. Есть ли другие сценарии, при которых возникает эта ошибка? Спасибо!

# amazon-web-services aws-step-functions
Источник
  • 4
    Я делал это так, как будто сохранял в s3, а затем передавал путь к файлу, а не передавал данные. Я понимаю, что вопрос не в этом, но вместо этого это может помочь.
  • 0
    @Slabgorb спасибо, я использовал s3 для ввода и пути результата.
  • 0
    Максимальный размер полезной нагрузки был увеличен до 256 КБ: aws.amazon.com/about-aws/whats-new/2020/09/…
Codelisting
за 6 против
Лучший ответ

2020-09-29 Edit : Step Functions теперь поддерживает полезную нагрузку 256 КБ!

256 КБ - это максимальный размер полезной нагрузки, которая может передаваться между состояниями. Вы также можете превысить этот предел из состояния Map или Parallel, конечным результатом которых является массив с выходными данными каждой итерации или ветви.

https://aws.amazon.com/about-aws/whats-new/2020/09/aws-step-functions-increases-payload-size-to-256kb

Рекомендуемое решение из документации Step Functions - хранить данные в другом месте (например, S3) и передавать ARN вместо необработанного JSON.

https://docs.aws.amazon.com/step-functions/latest/dg/avoid-exec-failures.html

Вы также можете использоватьOutputPath чтобы уменьшить вывод до полей, которые вы хотите перейти в следующее состояние.

https://docs.aws.amazon.com/step-functions/latest/dg/input-output-outputpath.html

Codelisting
Популярные категории
На заметку программисту