Go言語学習30日目:API開発の総仕上げと次のステップへ!Query・Scan確認&発展への橋渡し

Go言語学習30日目

Go言語学習スケジュール、ついに30日目=最終日に到達しました!🎉
今日はここまでの学びを振り返りつつ、
DynamoDBのQuery/Scanの基本にも軽く触れ、
この先のステップをどう進めていくかを考えてみます。。

今まではコチラ。

kunio-ud-all.com


総仕上げ:これまでにできるようになったこと

  • GoでWeb APIを構築する基本が身についた!
  • JSONの受け取り → DynamoDBに登録(POST)
  • ID指定でデータ取得(GET)
  • エラー処理とHTTPレスポンスの設計
  • ログ出力と関数分割による可読性アップ

発展ポイント①:DynamoDBのQueryScan

Query:主キーでまとめて取得したいときに使う
input := &dynamodb.QueryInput{
    TableName: aws.String("Go-Practice-Users"),
    KeyConditions: map[string]types.Condition{
        "UserID": {
            ComparisonOperator: types.ComparisonOperatorEq,
            AttributeValueList: []types.AttributeValue{
                &types.AttributeValueMemberS{Value: "u001"},
            },
        },
    },
}
Scan:全件取得したいときに使う(重いので注意)
input := &dynamodb.ScanInput{
    TableName: aws.String("Go-Practice-Users"),
}

実用では Queryを優先し、Scanは開発・調査用として使うのが基本ですので、Scanはあまり使わないかと。。


発展ポイント②:やってみたい「次の一歩」

ここまででAPIの基本的な設計と構築は習得できたので、 次は実際にサービス開発や運用につなげるためのステップが視野に入ってきます!

候補リスト:
ステップ 内容
Lambda化 GoコードをAWS Lambdaに移行してサーバーレス運用
API Gateway連携 REST APIとして公開できるように設定
CI/CD導入 GitHub Actionsなどで自動デプロイ化
フロントエンド接続 HTMLやReactとつないで実際に使うアプリにする
環境変数管理 .envやSSMパラメータストアで設定を管理
テスト導入 net/http/httptestでハンドラの単体テストを書く

最終チェックリスト(到達点)

  • ✔ Go言語でREST APIを構築できる
  • ✔ DynamoDBとの接続と操作が理解できた
  • ✔ エラー処理、ログ、関数分割など実用的な開発スキルが身についた
  • ✔ 開発後の拡張ステップ(Lambda化、CI/CDなど)のイメージが持てた

以上となります。引き続きよろしくお願いいたします。