もくじ
期日
プロジェクトにSDKをダウンロード→ビルドして使ってる分には大きな問題はないと思いますが、Nodejsを使ってたりするとそれに合わせてバージョンアップが必要になります。ご自身のプロジェクト構成を確認してください。
手順
1. package.json から aws-sdk を削除
package.json
確認
おそらくプロジェクト直下にpackage.json
があるので中身を確認します。
{ ~省略~ "dependencies": { "aws-sdk": "^2.709.0", // 数字は環境によって違う } ~省略~ }
aws-sdk
がインストールされていますね。
node_modules
ディレクトリ確認
node_modules
ディレクトリ確認プロジェクト直下にあるnode_modules
ディレクトリを開いて、aws-sdk
があることを確認します。
yarn remove
yarnを使っているので今回はyarnでまずaws-sdk
を削除します。
$ yarn install
全体
$ yarn remove aws-sdk yarn remove v1.22.19 [1/2] 🗑 Removing module aws-sdk... [2/2] 🔨 Regenerating lockfile and installing missing dependencies... success Uninstalled packages. ✨ Done in 8.05s.
削除されるもの
package.json
の中のaws-sdk
こちらは削除されませんnode_modules
内のaws-sdk
フォルダ
もし削除されていなかったら・・
もしまだ残っていたら、まずpackage.json
からaws-sdk
を削除し、次に削除してください。削除できたら下記コマンドを実行します。node_modules
フォルダごとまるっと
$ yarn install
上記実行すれば最新のpackage.json
からパッケージをインストールし直してくれます。
全体
$ yarn install yarn install v1.22.19 [1/4] 🔍 Resolving packages... [2/4] 🚚 Fetching packages... [3/4] 🔗 Linking dependencies... [4/4] 🔨 Building fresh packages... ✨ Done in 53.19s.
2. バージョン2 のコードを探す
VSCode等を使って"aws-sdk";
でまず検索かけます。
するとバージョン2の書き方に倣ってimport
している箇所が出てくると思います。
import { DynamoDB } from "aws-sdk";
このような記述箇所をすべてv3対応の書き方に変更していきます。
3. パッケージ確認
DynamoDBの場合は以下のようにパッケージが変更になります。
- v2
import { DynamoDB } from "aws-sdk";
- v3
import { DynamoDB } from "@aws-sdk/client-dynamodb";
AWS SDK for JavaScriptは何ですか。 - AWS SDK for JavaScript
4. パッケージ追加
@aws-sdk/client-dynamodb
が必要ということがわかったので追加します。コマンドはyarn add
を使います。
$ yarn add @aws-sdk/client-dynamodb
全体
$ yarn add @aws-sdk/client-dynamodb yarn add v1.22.19 [1/4] 🔍 Resolving packages... [2/4] 🚚 Fetching packages... [3/4] 🔗 Linking dependencies... [4/4] 🔨 Building fresh packages... success Saved lockfile. success Saved 21 new dependencies. info Direct dependencies └─ @aws-sdk/client-dynamodb@3.511.0 info All dependencies ├─ @aws-crypto/crc32@3.0.0 ├─ @aws-crypto/ie11-detection@3.0.0 ├─ @aws-crypto/supports-web-crypto@3.0.0 ├─ @aws-sdk/client-dynamodb@3.511.0 ├─ @aws-sdk/client-sso-oidc@3.511.0 ├─ @aws-sdk/client-sso@3.511.0 ├─ @aws-sdk/credential-provider-http@3.511.0 ├─ @aws-sdk/credential-provider-ini@3.511.0 ├─ @aws-sdk/credential-provider-node@3.511.0 ├─ @aws-sdk/endpoint-cache@3.495.0 ├─ @aws-sdk/middleware-endpoint-discovery@3.511.0 ├─ @aws-sdk/middleware-signing@3.511.0 ├─ @aws-sdk/token-providers@3.511.0 ├─ @aws-sdk/util-locate-window@3.495.0 ├─ @smithy/eventstream-codec@2.1.1 ├─ @smithy/querystring-parser@2.1.1 ├─ @smithy/util-waiter@2.1.1 ├─ fast-xml-parser@4.2.5 ├─ mnemonist@0.38.3 ├─ obliterator@1.6.1 └─ strnum@1.0.5 ✨ Done in 91.03s.
5. 必要なパッケージだけ繰り返し
同じように2〜4を繰り返してバージョンアップしていきましょう。
DynamoDB
以外にも例えばCloudWatch Logs
ならコマンドは以下の通りです。
$ yarn add @aws-sdk/client-cloudwatch-logs
地道ですが一度やれば、仮にバージョン4が出るまでは作業不要になります。
完了!