AWS SDK for Go v2を使っているプロジェクトで、以下のようなエラーが発生しました。
{"time":"2024-01-09T06:45:00.239872","level":"fatal","message":"not found, ResolveEndpointV2"}
解決策
github.com/aws/aws-sdk-go-v2 名前空間の下にあるモジュールをすべて最新版にアップデートしましょう。
go get -u "github.com/aws/aws-sdk-go-v2/..."
原因
AWS SDK for Go v2 v1.23.0 (2023-11-15) で入った以下の変更が原因です。
Feature: BREAKING CHANGE: V2 endpoint resolution middleware has changed steps from Serialize to Finalize. Middleware that indexes off of this field will need to be updated accordingly.
特徴: 重大な変更: V2エンドポイント解決ミドルウェアは、SerializeからFinalizeへのステップが変更されました。このフィールドをベースにインデックスを付けるミドルウェアは、それに応じて更新する必要があります。(ChatGPTによる和訳)
なんでこんなひどいことするの 😭(1年3か月ぶり、2回目)
前回壊れたとき(参考:AWS SDK v2 for Goが壊れた、Googleお前もか)はコンパイルエラーで気がつけたのですが、今回のエラーは実行してみないとわかりません。 マイナーアップデートで入れるのはやめてくれ・・・。