背景
Cognitoを使用したログイン機能全般の実装を行なっていた所、パスワード変更でLimitExceededException
が出ました。
エラーについて
このエラーは、ユーザーが要求した AWS リソースの制限を超えた場合にスローされるもので、簡単に言うと何回もテストでパスワード変更したら回数制限に達してしまったという感じです。
なので、時間をおいて再度パスワード変更してみたら問題なく変更できました。
Cognitoパスワード変更方法や他のエラーについてはこちらを参考にしてください
学び
ここからは、このエラーが起きた事によって自分にいろいろ学びがあったので、まとめてみました。興味ある方だけ見てください。
なんでこのエラーの記事を書いたのか
理由はこのエラー原因を気付くまでに2時間もの時間が掛かったからです!!!!
今でも自分は馬鹿だったと思うのですが、なぜエラーが起きてるのか全く分からなかったんです。今までうまくいっていたパスワード変更動作が、コードを一切変更ぜず、いきなり以下画像のように400 Bad Request
エラーが出たのでおかしすぎると思っていました。
2時間Cognito設定を見直したり、変更していないコードと睨めっこしたりしていました。
ふと、以下画像のように開発者ツール
→Network
→Preview
を見てみたら、今回の原因であるLimitExceededException
の文字が。
LimitExceededException
を調べて、2時間何もぜずに待ってるだけでエラーが直ると知り頭が痛くなりました。
良い経験だったと前を向きます。
今後このような凡ミスを起こさない為に
- エラーの原因を把握
エラーが発生した際には、まず原因を調査し、根本的な問題を理解してから修正に取り掛かるようにします。 - エラーログの記録
今回のCognitoを使用したログイン機能の実装は、案件ではなく課題の一環として試験的に触れていたため、エラーログやtry-catchブロックを実装していませんでした。その結果、エラーの原因特定に時間がかかってしまいました。この経験を通じて、エラーログや例外処理の重要性を改めて認識しました。今後は適切なログと例外処理を意識して書くようにします。