タイトル:PythonでAWS 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の機能を組み込んでみてください。素晴らしいプログラムを作成できることを願っています!