Я не скажу сколько именно есть способов загружать файлы в граф, но как минимум один распространенный есть. Но я так же оговорюсь сразу, что не знаю как это работает или нет с AWS, потому что я им не пользуюсь, а пишу код на своих серверах.
1. Полю, которое должно содержать загружаемый файл, задаем тип Upload.
Скорее всего при сборке схемы граф заругается, что такой тип ему не известен, просто где-нибудь пораньше объявим этот тип:
scalar Upload
Никаких обработчиков дополнительных специально под этот тип не надо прописывать, это только уже в самих резолверах.
2. В резолвере, которым обрабатывается этот запрос, пишем приемку и и обработку файла. Вот для при мера мой код, принимающий загружаемый файл:
https://github.com/prisma-cms/upload-module/blob/b...
3. С фронта отправка файлов выполняется через доступ к стандартному File-API из объекта event поля input.
https://github.com/prisma-cms/uploader/blob/7d8240...
К слову, по запросу "graphql aws upload file" гугл выдает очень много ответов, и вот это видео все наглядно показывает:
https://www.youtube.com/watch?v=Ue3Tn0ZzfdY (правда на англ).