Возможность передать дополнительные данные в бессерверную функцию действий?

Я изо всех сил пытаюсь найти лучший подход к следующему варианту использования:

Я работаю над игрой, в которой пользователь может выполнить мутацию equipItem. Эта мутация принимает один ввод - itemId. Затем я настроил пользовательское действие в hasura, чтобы разрешить его через бессерверную функцию. Моя текущая проблема заключается в том, что в рамках этой бессерверной функции мне нужно выполнять вычисления пользовательской статистики и обновлять ее в соответствии с оборудованием, которое они используют, для этого мне нужно запросить мой hasura api, чтобы получить полные символьные данные.

Это приводит к дополнительному времени выполнения, поэтому я хотел спросить, есть ли лучший метод? В идеале я могу запросить свои данные с сервера hasura перед выполнением этого действия, чтобы я мог их отправить, и все, что должна сделать моя бессерверная функция, это просто изменить ее и вернуть обратно.

Это должно произойти во время вставки, поэтому события здесь работать не будут.


person Ilja    schedule 04.05.2020    source источник


Ответы (1)


Возможность выполнить запрос перед вызовом действия - открытый вопрос, и мы думаем о том, чтобы добавить его в дорожную карту. https://github.com/hasura/graphql-engine/issues/4268

В настоящее время ваша идея сделать запрос в вашем действии для загрузки символьных данных кажется правильным. Здесь вам не нужно беспокоиться о большой задержке, ответ Hasura на вашу бессерверную функцию должен быть довольно быстрым (особенно если вы работаете в том же регионе).

(Примечание: я из команды Хасуры)

person iamnat    schedule 04.05.2020