web-dev-qa-db-ja.com

AmazonAPIゲートウェイとラムダを介した画像のアップロード

REST API with API gatewayおよびLambda。プロフィール写真をアップロードするためのエンドポイントを作成したくありません。このエンドポイントは、ファイルをLambda関数に渡し、そこでサイズが変更され、データベースに登録され、新しい画像のURLパスが返されます。

それらのサービスでそうする方法はありますか?オンラインで何も見つかりませんでした(私が見つけた唯一の提案は、IAMアクセス許可を必要とするS3に直接アップロードし、画像のサイズを変更するLambda関数をトリガーするイベントを発生させることです)。

ありがとう

[〜#〜]更新[〜#〜]

AWSはAPIGATEWAYを更新し、次のことができることを知っています エンドポイントを介してバイナリを送信する
コメントしてくれた@blueと@Manzoに感謝します

9
Yonatan

ファイルをS3に直接アップロードする場合、必ずしもIAM権限は必要ありません。 事前に署名されたS3 URL を返すAPIエンドポイントを作成します。これを使用して、ファイルをS3に直接アップロードできます。 APIエンドポイントの背後にあるLambda関数は、S3バケットの正しいIAM権限を必要とする唯一のものです。

4
Mark B

API GatewayとLambdaは現在ネイティブにサポートされていないため、API Gatewayにエンコードされたbased64の画像にファイルを渡してから、Lambda関数に渡すことができます。 Lambda関数は、ベース64でデコードしてからサイズを変更し、データベースに登録して、新しい画像のURLパスを返すことができます。

1
Ka Hou Ieong