0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS SDKについて調べてみた

0
Posted at

AWSを勉強していて、LambdaやDynamoDBと一緒に「SDK」という言葉が出てきました。

SDKが何をしているのかよく分からなかったので、今回勉強した内容を簡単にまとめておきます。

1. SDKとは?

SDKは Software Development Kit の略です。

簡単にいうと、特定のサービスをプログラムから利用するために必要なものをまとめた開発用のキットです。

AWSの場合は、AWS SDKを使うことで、プログラムからAWSのさまざまなサービスを操作できます。

例えば、

  • DynamoDBのデータを取得する
  • DynamoDBにデータを登録する
  • S3にファイルをアップロードする
  • SQSにメッセージを送る

といったことができます。

2. AWS SDKは何をしてくれるのか?

例えば、LambdaからDynamoDBを操作したいとします。

DynamoDBにはAPIが用意されているので、プログラムからAPIを呼び出すことで操作できます。

ただ、APIを直接扱おうとすると、リクエストの形式などを自分で考えて処理する必要があります。

そこでAWS SDKを使います。

SDKにはAWSの各サービスを操作するための機能が用意されているので、それを利用してプログラムを書くことができます。

Javaの場合は、AWS SDK for Javaを利用できます。

例えばDynamoDBを操作するクライアントを作る場合は、次のように書けます。

DynamoDbClient dynamoDbClient = DynamoDbClient.builder()
        .region(Region.AP_NORTHEAST_1)
        .build();

このように、AWS SDKを利用することで、JavaのプログラムからAWSのサービスを操作できます。

3. LambdaとDynamoDBで考えてみる

今回LambdaとDynamoDBについても勉強したので、この3つの関係を整理してみます。

例えば、車の予約アプリを作るとします。

ユーザーが車を予約すると、Lambdaで予約処理を実行します。

そのLambdaのプログラムからAWS SDKを利用して、DynamoDBに予約情報を保存します。

イメージとしては、

Lambdaのプログラム
    ↓
AWS SDKを利用
    ↓
DynamoDBを操作

という感じです。

あくまでプログラムからAWSのサービスを利用するための道具です。

4. SDKについて今回分かったこと

今回は、AWSの研修を受けて、SDKを用いた開発の仕組みを学んだので、それを元に整理してみました。

最初は「SDKはAWSを管理するためのもの」とかんがえていましたが、
実際は、プログラムからAWSのサービスを使うための開発用の道具と考えると分かりやすそうです。

これからAIエージェントを用いて、久しぶりに個人開発しようと思うので、こういった仕組みを使いこなしていけたらいいかなという感じです。

個人開発の記録もまた別の記事として載せていけたらと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?