XM CloudまたはExperience Edgeに接続されているNext.jsベースのJavaScript Services(JSS)アプリケーションをビルドしようとした際に、以下のエラーが発生する可能性があります。
ClientError: GraphQL Error (Code: 429):
{"response":{"error":"API calls quota exceeded!
maximum admitted 80 per
1s.","status":429,"headers":{}}
この問題は、Next.jsが静的サイト生成の際に複数のスレッドを使用するため、複数のリクエストがGraphQLのエンドポイントに対して実行されることが原因で発生します。
この問題を解決するには、Sitecore JSS 21.4.0以降にアップグレードしてください。
または、以下の方法のいずれか、またはそれらを組み合わせて実施していただくことをご検討ください。
const nextConfig = {この方法に関する詳細につきましては、次のページをご参照ください: nextjs GitHub discussions
experimental: {
// これは実験的な機能ですが、
// nextjsの自動静的生成で並列スレッドを
// 許可するために有効化することができます
workerThreads: false,
cpus: 1
}
...
}
constructor() {
this._graphqlSitemapService = new GraphQLSitemapService({
endpoint: config.graphQLEndpoint,
apiKey: config.sitecoreApiKey,
siteName: config.jssAppName,
pageSize: 100, //pageSizeを設定するのにこの行を追加する必要があります
});}