2016-04-04 5 views
0

s3のドキュメントへのパスを指定してビジネスロジックを行い、そのs3 docのバイナリを返すHTTPでアクセス可能なアプリケーションを構築しようとしています。AWS:s3からバイナリをダウンロード

私はAPI GatewayとLambdaを使用してこの作業を開始しましたが、両方のサービスがxmlまたはjsonを使用するように設定されているため、問題が発生しました。私はbase64エンコードファイルとラムダを試し始め、API Gatewayでそれをデコードしましたが、それもうまくいきませんでした。

この記事では、私が行っていることを明示的に言っていませんでした。Get object from S3 in AWS Lambda function and send to Api Gateway

ラムダが魅力的だと分かったのは、豆の茎に比べて瞬時に自動スケーリングができるからです。 Lambdaに同様のスケーリングを提供しながらこれを達成するための選択肢はありますか?

答えて

1

APIゲートウェイチームここでバイナリパススルーサポートがバックログにありますが、私は明確なETAを提供することはできませんが、近いうちにこれを実現したいと考えています。私はあなたがリンクしているスレッドのいくつかの点に同意します。ラムダとAPIゲートウェイの両方のコア機能の一部は、JSON向けに構築されています。しかし、私たちはバイナリパススルーをサポートする計画を立てているので、少なくともデータを通過させることができます。

+0

これは知っておきたいことです。ありがとう。 – Banner

2

単純な代替方法は、署名されたURLを返送することです。

http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-examples.html

s3.getSignedUrl('getObject', params, function (err, url) { 
     if (err) { 
      deferred.reject(err); 
     } else { 
      deferred.resolve({ 
       url: url, 
       expires: expires 
      }); 
     } 
    }); 

これは、APIの消費者へのバイナリをダウンロードする責任を延期します。

関連する問題