背景

Cognitoを使用したログイン機能全般の実装を行なっていた所、パスワード変更でLimitExceededExceptionが出ました。

エラーについて

このエラーは、ユーザーが要求した AWS リソースの制限を超えた場合にスローされるもので、簡単に言うと何回もテストでパスワード変更したら回数制限に達してしまったという感じです。
なので、時間をおいて再度パスワード変更してみたら問題なく変更できました。
Cognitoパスワード変更方法や他のエラーについてはこちらを参考にしてください

学び

ここからは、このエラーが起きた事によって自分にいろいろ学びがあったので、まとめてみました。興味ある方だけ見てください。

なんでこのエラーの記事を書いたのか

理由はこのエラー原因を気付くまでに2時間もの時間が掛かったからです!!!!

今でも自分は馬鹿だったと思うのですが、なぜエラーが起きてるのか全く分からなかったんです。今までうまくいっていたパスワード変更動作が、コードを一切変更ぜず、いきなり以下画像のように400 Bad Requestエラーが出たのでおかしすぎると思っていました。
2時間Cognito設定を見直したり、変更していないコードと睨めっこしたりしていました。

ふと、以下画像のように開発者ツールNetworkPreviewを見てみたら、今回の原因であるLimitExceededExceptionの文字が。

LimitExceededExceptionを調べて、2時間何もぜずに待ってるだけでエラーが直ると知り頭が痛くなりました。
良い経験だったと前を向きます。

今後このような凡ミスを起こさない為に

  1. エラーの原因を把握
    エラーが発生した際には、まず原因を調査し、根本的な問題を理解してから修正に取り掛かるようにします。
  2. エラーログの記録
    今回のCognitoを使用したログイン機能の実装は、案件ではなく課題の一環として試験的に触れていたため、エラーログやtry-catchブロックを実装していませんでした。その結果、エラーの原因特定に時間がかかってしまいました。この経験を通じて、エラーログや例外処理の重要性を改めて認識しました。今後は適切なログと例外処理を意識して書くようにします。