0

S3バケットからイメージを取得し、APIゲートウェイで使用するために戻そうとしています。 権限が正しく設定されています。ラムダはs3からイメージを取得します

import boto3 

s3 = boto3.resource('s3') 

def handler(event, context): 
    image = s3.meta.client.download_file('mybucket', 'email-sig/1.png', '/tmp/1.png') 
    return image 

しかし、私はnullリターンを得ていますが、画像を取得する方法を理解できないようです。これは正しいアプローチですか、なぜそれが私のイメージを返さないのですか?

答えて

1

/tmp/1.pngにあるファイルをダウンロードしています。戻り値は返り値download_file()で、nullを返すようです。 APIゲートウェイはどのデータ型を期待していますか?

+0

戻り値の型 'image/png'に設定されています – user3024827

+0

ファイルを読み込んでイメージ/ pngを返すには、何らかの種類の画像処理ライブラリ(Node.js Lambdaに付属しているImageMagickなど)を使用する必要があります。 – helloV

+0

helloVの答えを明らかにするには... 'download_file()'の戻り値はイメージ自体ではありません。イメージは '/ tmp/1.png'にダウンロードされているので、(返り値ではなく)そのファイルの内容を返さなければなりません。 –

関連する問題