PythonでAWS S3にファイルをアップロードするWeb APIサンプルコード

タイトル:PythonAWS S3にファイルをアップロードするWeb APIサンプルコード

こんにちは、皆さん。今回は、Pythonを使用してAWS S3にファイルをアップロードするWeb APIサンプルコードについてご紹介します。

AWS S3は、クラウドストレージサービスであり、データの保存やバックアップ、静的なファイルの配信など、さまざまな用途で利用されています。Web上でのファイルのアップロードも、S3を活用することで簡単に実現することができます。

それでは、まずは必要なライブラリをインストールしましょう。

```python

$ pip install boto3

$ pip install flask

```

次に、以下のサンプルコードをご覧ください。

```python

from flask import Flask, request

import boto3

app = Flask(__name__)

@app.route('/upload', methods=['POST'])

def upload_file():

file = request.files['file']

filename = file.filename

s3 = boto3.resource('s3')

bucket_name = 'your_bucket_name' # 自身の作成したバケット名に変更すること

try:

s3.meta.client.upload_fileobj(file, bucket_name, filename)

return f"{filename} を {bucket_name} にアップロードしました!"

except Exception as e:

return str(e)

if __name__ == '__main__':

app.run()

```

このコードでは、Flaskを使用してWeb APIを作成し、POSTメソッドによってファイルをアップロードします。`request`モジュールを使用して、リクエストされたファイルを取得し、`boto3`ライブラリを使用してS3へのアップロードを行っています。

S3へのアクセスには、AWSアクセスキーとシークレットアクセスキーが必要です。これらは、環境変数や設定ファイルに保存し、適宜変更してください。

また、`bucket_name`には、アップロード先のS3バケット名を指定する必要があります。自身が作成したバケット名に変更してください。

以上で、Pythonを使用してAWS S3にファイルをアップロードするWeb APIサンプルコードのご紹介を終わります。

皆さんもぜひこのサンプルコードを参考にして、自身のアプリケーションにS3の機能を組み込んでみてください。素晴らしいプログラムを作成できることを願っています!