昨日までに、
- 認証情報(~/.aws/credentials
)の準備
- DynamoDB テーブルの作成
が完了したので、今日はついに Goコード側の準備に入っていきます!
毎日、30分程度で良いから何かをする。というのを定着させなければ。。。
✅ 今日の目標
Goコード内で AWS SDK for Go v2 を導入し、 DynamoDB に接続できるクライアントを初期化する。
1. Go Modules の準備(初回のみ)
まずはプロジェクトディレクトリ内でモジュールを初期化します:
go mod init mydynamodbapp
2. AWS SDK for Go v2 の必要パッケージを導入
go get github.com/aws/aws-sdk-go-v2/config go get github.com/aws/aws-sdk-go-v2/service/dynamodb
💡 ポイント
config
は設定読み込み用dynamodb
はDynamoDBとのやり取りを担当
3. コードで設定を読み込み、クライアントを作成
package main import ( "context" "log" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/dynamodb" ) func main() { // AWS設定をロード(~/.aws/credentials or 環境変数) cfg, err := config.LoadDefaultConfig(context.TODO()) if err != nil { log.Fatalf("設定の読み込みに失敗: %v", err) } // DynamoDBクライアントの初期化 svc := dynamodb.NewFromConfig(cfg) log.Println("✅ DynamoDBクライアントの初期化に成功しました") _ = svc // まだ使ってないけど、次回使います! }
4. 実行してみる!
go run main.go
出力例:
✅ DynamoDBクライアントの初期化に成功しました
🔍 認証情報はどこから読むの?
~/.aws/credentials
の[default]
プロファイル- または環境変数
AWS_ACCESS_KEY_ID
など - それを
config.LoadDefaultConfig()
が自動で検出してくれる
今日のまとめ
✅ Go言語 × AWS SDK v2 準備完了! - AWS SDK v2 をGo Modulesに導入 - `config.LoadDefaultConfig` で認証&リージョン読み込み - `dynamodb.NewFromConfig(cfg)` でDynamoDBクライアント作成 - これで明日から「読み書き操作」ができる!
この一週間が終わったら、フォルダ構成とかもしっかり考えたいな。 取り入れたいのはリポジトリパターン。 サンプル => DB設計書を後でおこす。などはよくありそうだし。
以上となります。引き続きよろしくお願いいたします。