AWS Lambda(Python3.9.10)からS3のファイルを取得する
AWS Lambda(Python3.9.10)からS3に配置しているファイルの中身を取得してみます。接続するにはboto3モジュールを使用します。
sample.txt
sample.txtの中身です。
高橋K太郎
lambda_function.py
ソースです。
import json
import boto3
S3 = boto3.resource(
's3',
region_name='ap-northeast-1'
)
def lambda_handler(event, context):
bucket = S3.Bucket('hogehogehogehog') # バケット名指定してください
obj = bucket.Object('sample.txt')
response = obj.get()
print({response["Body"].read().decode("utf-8-sig")})
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
テスト
マネジメントコンソールからテストします。
sample.json
sample.jsonの中身です。
{
"name": "高橋K太郎",
"age": 20
}
lambda_function.py
ソースです。日本語を含むので、Shift_JISでデコードしています。
import json
import boto3
s3 = boto3.client('s3')
def lambda_handler(event, context):
response = s3.get_object(Bucket='hoge1947', Key='sample.json')
json_data = response['Body'].read().decode('Shift_JIS')
parsed_data = json.loads(json_data)
print(parsed_data)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
テスト
マネジメントコンソールからテストします。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


