Amazon Simple Storage Service (Amazon S3) リクエストレートについて、キープレフィックスとネストされたフォルダの違いは何ですか? S3 バケットではいくつのプレフィックスを持つことができますか?
解決方法
プレフィックス
キープレフィックスは、オブジェクト名の前の完全なパスとなることができる文字列です (バケット名を含む)。例えば、オブジェクト (123.txt) は BucketName/Project/WordFiles/123.txt として保存されます。プレフィックスは「BucketName/Project/WordFiles/123.txt」である場合があります。プレフィックスは、任意の長さにすることができます (オブジェクトキー名全体を含む)。
123.txt ファイルが指定パスなしでバケットに保存される場合、Amazon S3 はリクエストレートに従ってプレフィックス値を自動的に調整します。パーティションは、プレフィックス文字列の任意の時点で自動的に形成されます。
バケット内にあるパーティション分割されたプレフィックスは、毎秒 3,500 件の PUT/COPY/POST/DELETE リクエストまたは 5,500 件の GET/HEAD リクエストをサポートできます。バケット内で持つことができるプレフィックスの数に制限はありません。ただし、リクエストレートが急上昇するとスロットリングが発生する可能性があることに注意してください。
注: Amazon S3 では、キーまたはオブジェクトのパーティションはありません。パーティションはプレフィックスレベルでのみ存在し、オブジェクトレベルでは存在しません。Amazon S3 でのプレフィックスの使用の詳細については、「プレフィックスを使用してオブジェクトを整理する」を参照してください。
フォルダ
Amazon S3 では、フォルダは、オブジェクトのグループ化およびファイルの整理を行うために使用されます。従来のファイルシステムとは異なり、Amazon S3 はオブジェクトとファイルを整理するために階層を使用しません。Amazon S3 コンソールは、オブジェクトをグループ化 (および表示) する手段としてのみフォルダの概念をサポートします。
より具体的には、フォルダは 2 つの「/」文字の間にある値です。例えば、ファイルが BucketName/Project/WordFiles/123.txt として保存されている場合、ファイルパスは、フォルダ (「Project」) およびサブフォルダ (「WordFiles」) があることを示します。「Project」と「WordFiles」は両方ともフォルダと見なされます。指定されたパスなしで 123.txt ファイルがバケットに保存されている場合、ファイルを保存するためにフォルダは使用されません。
注: フォルダ構造は、リクエストレートをサポートするパーティション化されたプレフィクスを示していない場合があります。
プレフィックスとフォルダの違い
プレフィックスとフォルダの違いは、「/」文字の意味にあります。フォルダの場合、「/」文字は次のサブフォルダまたはオブジェクト名を意味します。プレフィックスの場合、「/」は単に別の文字です。「/」はパーティションの配置を示すものではありません。
注: フォルダ構造は Amazon S3 コンソールにのみ適用されます。詳細については、「フォルダを使用して Amazon S3 コンソールでオブジェクトを整理する」を参照してください。
関連情報
AWS re:Invent 2018: Best practices for Amazon S3 and Amazon S3 Glacier
オブジェクトの整理、リスト化、使用