2017-02-06 17 views
0

Amazon S3の動作に多少の矛盾があるようです。 バケツに「Bucket1」がある場合は、「Folder1」というフォルダを作成し、「sample.txt」というファイルをアップロードします。次に、このファイルを削除します。バケツのレベルでは、私はS3 Consoleで "Folder1"を見ることができます。 "Folder2/sample.txt"というファイルをアップロードしてsample.txtファイルを削除すると、同じバケット内にあるので、Folder2もコンソールから消えますか?Amazon S3のフォルダ/キーアップロードでの動作が一貫しない

この不一致はなぜですか? AFAIK私たちは、SDKレベルでフォルダを作成/削除するAPIはありません。

ここに何か不足していますか、これは実際の問題ですか?

ご協力いただきありがとうございます。

答えて

2

S3の「Folder」は、キー名の末尾に/文字の単純な0バイトオブジェクトです。

AWS CLIまたはSDKを使用すると、これらの条件に一致するオブジェクトを「配置」することで、「フォルダを作成する」ことができます。

AWS管理コンソールは、明示的に作成されていない場合でも、フォルダをシミュレートします。したがって、オブジェクトを "Folder2/sample.txt"としてアップロードすると、親フォルダレベルで "Folder2 /"を外挿してシミュレートします。 delimiterパラメーターを使用して、CLI/SDKを使用してこれを自分で行うことができます。

オブジェクトを削除すると、実際には "Folder2"が0バイトのオブジェクトとして/(最初の段落を参照)で終わっていないため、管理コンソールから「Folder2 /」が消えます。

+0

ご協力ありがとうございます:) – Rashida