簡體   English   中英

將文件夾發送到 s3 存儲桶,但不要復制文件夾結構

[英]Send folder to s3 bucket, but do not copy the folder structure

我想向亞馬遜發送一個遞歸文件夾。

文件夾:文件夾

└───FOLDER
    ├───SUBFOLDER
            |
            |__ file1.jpg
            |
            |__ file2.jpg
    ├───SUBFOLDER(2)
            |
            |__ file3.jpg
            |
            |__ file4.jpg

為此用途:

asw s3 cp /folder s3://mybucket/folder_destination --recursive

但它到達存儲桶中具有相同文件夾結構的存儲桶。

我的願望是它以這種結構到達桶:

└───BUCKET
        ├───folder_destination
                |
                |__ file1.jpg
                |
                |__ file2.jpg
                |
                |__ file3.jpg
                |
                |__ file4.jpg

我測試了這個蝙蝠:

pushd C:\Users\user\Desktop\FOLDER
for /r %%a in (*.jpg) do (
       aws s3 cp  "%%a" "s3://bucket/Test/%%~nxa"
   )
   popd

他做我想做的事,但很慢。

for (File f : arquivos) {
            System.out.println(f);
            String fileObjKeyName = "Test" + f.toString().split("/")[f.toString().split("/").length - 1];


            PutObjectRequest request = new PutObjectRequest(bucketName, fileObjKeyName, f);
            ObjectMetadata metadata = new ObjectMetadata();
            metadata.setContentType("image/jpeg");
            //metadata.addUserMetadata("title", "someTitle");
            request.setMetadata(metadata);
            s3Client.putObject(request);
        }

也慢

有沒有什么方法可以在沒有文件夾結構的情況下快速發送它們?

最快和最簡單的方法是首先將所有單個文件從多個子文件夾復制到一個新的臨時文件夾,然后aws s3 sync到 S3,然后擦除臨時文件夾。

或者您可以同時運行命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM