Amazon s3バケット内にたくさんのファイルがあります。それらのファイルを圧縮してダウンロードし、Java Springを使用してS3 URL経由でコンテンツを取得します。
S3はファイルサーバーではなく、データ操作などのオペレーティングシステムファイルサービスも提供していません。
「巨大な」ファイルがたくさんある場合、最善の策は
はい、AWSラムダを使用して同じことを行うことができますが、ラムダは900秒(15分)の実行タイムアウトに制限されています(したがって、ラムダ実行パフォーマンスを向上させるために、より多くのRAMを割り当てることをお勧めします)
S3からローカルリージョンEC2インスタンスおよびその他のサービスへのトラフィックは無料です。
主な目的がread EC2/etcサービスを使用する同じAWSリージョン内のファイルである場合、この追加の手順は必要ありません。ファイルに直接アクセスするだけです。
注意 :
AWS APIを使用してファイルにアクセスして共有することをお勧めします。ファイルを公開して共有する場合は、セキュリティの問題を真剣に検討し、ダウンロードを制限する必要があります。 AWSのインターネットへのトラフィックは決して安くはありません。
S3で圧縮された個々のファイル(オブジェクト)が必要な場合は、迂回的に行うことができます。 S3バケットを指すCloudFrontエンドポイントを定義してから、CloudFrontにコンテンツを途中で圧縮させることができます。 https://docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html =