記事タイトル:[lambda+python]presignedurlを発行するサンプルコード
こんにちは、みなさん!
今日は、AWS LambdaとPythonを使用してpresigned URLを発行する方法についてご紹介します。presigned URLは、一時的なアクセス許可を持ったURLであり、S3などのストレージサービスに保存されているファイルにアクセスするために使用されます。
以下に、presigned URLを発行する簡単なサンプルコードを示します:
```python
import boto3
from botocore.exceptions import ClientError
def generate_presigned_url(bucket_name, object_name, expiration=3600):
# リージョン情報を指定してboto3のS3クライアントを作成
s3_client = boto3.client('s3', region_name='ap-northeast-1')
try:
# presigned URLを発行
response = s3_client.generate_presigned_url('get_object',
Params={'Bucket': bucket_name,
'Key': object_name},
ExpiresIn=expiration)
except ClientError as e:
# エラーハンドリング
print(f"エラーが発生しました: {e}")
return None
# presigned URLを返す
return response
# 使用例
object_name = 'my-object.txt'
expiration = 60 * 60 # 1時間有効なURLを生成
presigned_url = generate_presigned_url(bucket_name, object_name, expiration)
if presigned_url is not None:
print(f"presigned URL: {presigned_url}")
```
このサンプルコードでは、boto3を使用してS3クライアントを作成し、`generate_presigned_url`関数を定義しています。`generate_presigned_url`関数では、指定されたバケット名とオブジェクト名を元に、`get_object`のアクションに対するpresigned URLを発行しています。`ExpiresIn`パラメータによって、URLの有効期限を設定することも可能です。
このサンプルコードを実行すると、指定されたバケットとオブジェクトに対するpresigned URLが生成されます。有効期限が切れるまで、そのURLを使用してファイルにアクセスすることができます。
presigned URLを発行することで、一時的なアクセス権限を持たせることができるため、セキュリティの向上にも役立ちます。
ぜひ、このサンプルコードを使ってpresigned URLを発行してみてください。さまざまなシナリオで活用することができますので、ぜひお試しください!
それでは、次回の記事でお会いしましょう。お楽しみに!