web-dev-qa-db-ja.com

s3cmd経由でフォルダーを作成する(Amazon S3)

S3cmdを使用してファイルをS3サーバーにアップロードしています。私の問題は、サーバー上のディレクトリが存在しない場合、アップロードが失敗することです。フォルダーが存在しない場合、フォルダーを作成するようにs3cmdに指示するにはどうすればよいですか? PHPを使用しています。

25
John

s3cmd put file.jpg s3://bucket/folder/file.jpg

S3にはディレクトリの概念はなく、全体のfolder/file.jpgはファイル名です。 GUIツールなどを使用して、フォルダー内からfile.jpgを削除した場合、おそらくフォルダーもなくなっていることがわかります。ディレクトリによる視覚表現は、ユーザーの便宜のためです。

45
Sabeen Malik

これは、フォルダーs3cmd put foobar s3:// bucket_name/new_directory /を作成する方法です

確認する-s3cmd la

1
Anand Kumar

ファイルをアップロードしたくない場合は、s3ツールがフォルダーをマークするために作成する特別な$ folder $オブジェクトをコピーできます。

s3cmd cp 's3://bucket/parent_$folder$' 's3://bucket/parent/child_$folder$'

「子」「フォルダ」を作成します。

代わりに子の場所に何かをアップロードするほうが混乱が少なくなります。

s3cmd put dummy s3://bucket/parent/child/dummy

Hiveは、外部テーブルを作成するときに完全なS3パスが存在することを要求するようです。それが私がこの質問を見ている理由です:)

1
iggy