AWS Amplify Graphql оптимальная глубина вложения - PullRequest
0 голосов
/ 29 апреля 2020

Я создал схему GraphQL в AWS App Syn c (1100 строк до автоматической генерации ресурсов, запросов, мутаций и подписок, 4800 строк после) для использования в реакции. В моей папке реакции я выполнил

amplify init
amplify add codegen --apiId myId

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

3 levels is 2,5mb
4 levels is 9mb
5 levels is 50mb

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

Ни один клиент не хочет ждать, пока загрузятся 50 МБ

Каков ваш опыт загрузки больших файлов в graphql? Можно ли автоматически разбивать большие файлы на более мелкие? На уровне 5 файлы имеют до 1 м строк кода в каждом.

Я использую ленивую загрузку в React для своих компонентов, было бы здорово, если бы что-то подобное было возможно и здесь.

Вы предпочитаете один большой вложенный запрос с большим количеством уровней глубины или несколько каскадных меньших запросов с низкой глубиной?

С уважением к Кристиану

1 Ответ

0 голосов
/ 29 апреля 2020

Lazy ...

... возможно, вам не нужна полная информация о каждом узле (все свойства) одновременно.

Вы можете получить только id и name насколько глубоко вам нужно получить структуру / отношения. Позже вы можете получить дополнительные / обязательные (для рендеринга) свойства.

...