2017-06-18 5 views
1

APIゲートウェイを使用してJSONブロブのストリームを受け取るサーバーレスWeb APIを構築することを検討しています。私はすべての着信BLOBを(いくつかの基本認証と検証の後に)アーカイブしたいと思います。これを行う方法に関するあなたの推奨事項は何ですか?着信JSONブロブをアーカイブするサーバーレスのアプローチですか?

追加情報:

  • 私はAWSラムダを使用していますが、コストを削減します。
  • アーカイブは非常にアクセス頻度が低いので、価格を下げるためにS3 Glacierを目の当たりにしています。私の問題は、多くのファイルのオーバーヘッドを避けるために、S3ファイルごとにブロブをバッチ処理する方法を理解する必要があることです。
  • 私が見てきた代替のストレージサービスは、CloudwatchログとDynamoDBです。

答えて

0

私は可能な解決策を投稿します。また、より多くの要件、期待している負荷、達成しようとしているベンチマークなどを列挙することは可能ですか?そこからのデータの取得にはかなりの時間がかかり、費用がかかります(データ量に基づいて計算します)ため、氷河はあなたが使用したいサービスですか?

私は2つの異なるAWSラムダ関数にこのタスクを分割します:

  • まずラムダは、JSONを受信して​​、プレーンテキストファイルとしてS3に保存します。

  • バケットに保存するアイテムまたはサイズ(http://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html)に基づいて、Cloudwatchアラートを設定しました。アラートは、次のラムダアーカイブ機能を起動しています。 30MBのデータが受信された後にアラートが実行されたとします。

  • アーカイブ機能ジョブはS3バケットのコンテンツを取得しますが、zip/tarパッケージを一緒に使用してアーカイブファイルを削除し、アーカイブを次のS3バケット/氷河に移動します。

関連する問題