デフォルトのGraphQL Query Executor 設定オプション
対処方法を説明します サービス拒否 最新のGraphQL Java アップデートのデフォルトのパーサーオプションが原因で発生した、GraphQL クエリのエラー。
説明 description
環境
Adobe Experience Manager
問題/症状
最新のGraphQL-Java アップデートにより、次のデフォルトのパーサーオプションが作成される可能性があります 「サービス拒否」の無効な構文 GraphQLの複雑なクエリを実行中にエラーが発生しました。 これらの検証は、サービス拒否攻撃を避けるためにGraphQL - Java で導入されました。
コンテキストに関しては、これらの制限はで定義されています。 https://github.com/graphql-java/graphql-java/blob/v20.3/src/main/java/graphql/parser/ParserOptions.java#L35。
解決策 resolution
この問題は、次の手順に従ってカスタムパーサーオプションを渡すことで修正できます。
-
これは、を返す非常に大きなGraphQL クエリに有効です。 「サービス拒否」の無効な構文 エラー、次のいずれかで始まる:
- AEM Cloud Service(リリース 2023.8 の内部参照 SITES-13906 で導入された制限と、リリース 2024.3 で導入された回避策)または
- AEM 6.5.21 (内部参照 SITES-17355 で導入された制限と回避策)
-
これは、OSGI 設定を設定することで解決できます Apache Sling Default GraphQL Query Executor および値を調整 最大クエリ トークン数 および 最大空白トークン数 必要に応じて調整します。
これは最後の手段として行い、プロジェクトのニーズが満たされるまで値を徐々に増やす必要があります.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f