AWSコンソールを介してサブフォルダーのあるフォルダーをS3にアップロードしようとすると、サブフォルダーではなくファイルのみがアップロードされます。
フォルダを選択することもできません。何でも選択する前に、常に最初にフォルダを開く必要があります。
これも可能ですか?
Enhanced Uploader(もう存在しないと思う)やサードパーティのソフトウェア(誰かがあなたのプライベートデータを盗んだり、S3バケットやすべてのAWSリソースからアクセスキーを盗まれるリスクが常にある)必要はありません。
新しいAWS S3ウェブアップロードマネージャーは、ファイルとfoldersに対してdrag'n'dropをサポートしているため、単に https://console.aws.Amazon.com/s3/home そして、通常通りアップロードプロセスを開始し、デスクトップからフォルダーを直接S3ページにドラッグします。機密のプライベートデータをアップロードする場合は、作業しているページがhttps://プロトコルで始まっていることを確認してください。
AWS CLIを使用することをお勧めします。コマンドラインとawscliを使用すると非常に簡単なので
aws s3 cp SOURCE_DIR s3://DEST_BUCKET/ --recursive
または、次の方法で同期を使用できます
aws s3 sync SOURCE_DIR s3://DEST_BUCKET/
Aws cliをインストールし、アクセスキーIDとセキュリティアクセスキーIDを使用して設定する必要があることを忘れないでください
pip install --upgrade --user awscli
aws configure
Amazon S3コンソールは、フォルダー階層全体のアップロードをサポートするようになりました。 [アップロード]ダイアログでEhanced Uploaderを有効にしてから、アップロードキューに1つ以上のフォルダーを追加します。
通常、AWS管理コンソールから利用可能な Enhanced Uploader を使用します。ただし、これにはJavaが必要になるため、問題が発生する可能性があります。 s3cmd がコマンドラインの優れた代替品であることがわかりました。
s3cmd --configure # enter access keys, enable HTTPS, etc.
s3cmd sync <path-to-folder> s3://<path-to-s3-bucket>/
ドラッグアンドドロップこれらのフォルダーを使用できます。ドラッグアンドドロップ機能は、ChromeおよびFirefoxブラウザーでのみサポートされています。このリンクを参照してください https://docs.aws.Amazon.com/AmazonS3/latest/user-guide/upload-objects.html
Pythonここに答えはありません。Python/ boto3を使用してフォルダーのアップロードをスクリプトできます。ディレクトリツリーからすべてのファイル名を再帰的に取得する方法は次のとおりです。
def recursive_glob(treeroot, extention):
results = [os.path.join(dirpath, f)
for dirpath, dirnames, files in os.walk(treeroot)
for f in files if f.endswith(extention)]
return results
Python/botoを使用してファイルをS3にアップロードする方法は次のとおりです。
k = Key(bucket)
k.key = s3_key_name
k.set_contents_from_file(file_handle, cb=progress, num_cb=20, reduced_redundancy=use_rr )
これらのアイデアを使用して Directory-Uploader-For-S を記述しました
Transfer Managerを使用して、複数のファイル、ディレクトリなどをアップロードできます。詳細:
https://docs.aws.Amazon.com/sdk-for-Java/v1/developer-guide/examples-s3-transfermanager.html
これを理解しようとしたとき、私はここで終わった。そこにあるバージョンでは、アップロードダイアログを開いたときにフォルダを選択することはできませんが、フォルダをそこにドラッグアンドドロップすることができます。
ファイルをアップロードするには、ドラッグアンドドロップするか、ポイントしてクリックします。フォルダをアップロードするには、フォルダをドラッグアンドドロップする必要があります。ドラッグアンドドロップ機能は、ChromeおよびFirefoxブラウザーでのみサポートされます