🌟

AWS SDKとは

2024/10/25に公開

AWS SDKとは(boto3とは)

AWSのクラウドサービスを利用するためのソフトウェア開発キット

ソフトウェア開発キットとは

SDK(ソフトウェア開発キット)は、ソフトウェア開発に必要なツールやリソースをまとめたパッケージ。これにより、開発者は一からコードを書く手間を省き、効率的に機能を追加できる。特にWebアプリやWebサービスの開発で利用され、開発コストの削減と迅速な機能実装が可能。例えば、ライブ配信アプリに特化したSDKを使えば、簡単にライブ配信機能を追加できる。

APIとの違い

どちらとも機能のパッケージを用いるという点では同じだが、AWSSDKはそのAPIを利用しやすくするツールやライブラリを含んでいる。
SDKは、APIを含めた総合的なサポートも含まれている!!!!

boto3とは

AWS SDK for Python(boto3)は、PythonプログラムからAWSサービスを操作するためのライブラリ。
AmazonS3、AmazonEC2、LambdaなどのAWSサービスと簡単に連携できる。

Terraformは、インフラ管理だが、
boto3は、AWSの特定サービスの操作

具体的には
・クライアント
低レベルのAPI操作を行うためのインターフェース。例えば、S3バケットの作成やオブジェクトのアップロードなどが可能。

import boto3
s3_client = boto3.client('s3')
s3_client.create_bucket(Bucket='my-bucket')

・リソース
高レベルのオブジェクト指向インターフェース。リソースを使うと、より直感的にAWSサービスを操作

import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')
bucket.upload_file('localfile.txt', 's3file.txt')

・セッション管理
Boto3はセッションを使って、AWSの認証情報や設定を管理します。これにより、複数のAWSアカウントやリージョンを簡単に切り替え

session = boto3.Session(
    aws_access_key_id='YOUR_ACCESS_KEY',
    aws_secret_access_key='YOUR_SECRET_KEY',
    region_name='us-west-2'
)
s3 = session.resource('s3')

・エラーハンドリング
AWSサービスからのエラーをキャッチし、適切に処理するための仕組みを提供しています。これにより、エラーが発生した場合でも、アプリケーションが適切に対応

try:
    s3_client.create_bucket(Bucket='my-bucket')
except boto3.exceptions.S3CreateBucketError as e:
    print(f"Error creating bucket: {e}")


・ドキュメントとサンプルコード
Boto3には豊富なドキュメントとサンプルコードが用意されており、開発者が迅速に学習し、実装できるようサポート

https://aws.amazon.com/jp/what-is/sdk/

Discussion