AWSSDKが2から3になった際に色々変わったことを知らなくて困ったという話
Route 53 でCNameのAレコードを適宜書き換える的なアプリを作ってて
- C# 6.0
- .NET Framework 4.6.1
- AWSSDK 2.3.54.2
から
- C# 6.0
- .NET Core 1.0.1 preview2
- AWSSDK.Extensions.NETCore.Setup 3.3.0.1
に移植しようとしたときに、とりあえず新規プロジェクトを作って、元のプロジェクトからソースをコピペしてみたら、真っ赤。
まずnugetで
AWSSDK.Route53 (3.3.0)
も入れないとだめっぽい。
それでも
- IAmazonRoute53
- AWSClientFactory
なるものは無い、と赤く自己主張してくるので、それっぽい単語を入力してインテリセンスで探すという非常にコンピューターリソースを無駄にしたごり押しをした結果(ドキュメント読め)、
AWSSDK 2 時代は
private readonly IAmazonRoute53 _client;
//(中略)
this._client = AWSClientFactory.CreateAmazonRoute53Client(アクセスキー, シークレットキー, リージョン);
とかやっていたのを、3になってからは
private readonly AmazonRoute53Client _client;
//(中略)
this._client = new AmazonRoute53Client(アクセスキー, シークレットキー, リージョン);
とすればいいっぽい。動いたからいいということにしよう。
というところまで行きついたところで、別な理由で .NET Core への移植は諦めざるをえなかったんだけどそれはそれ。