我尝试使用s3cmd将文件上传到我的S3 Bucket。工作得很好,但是已经存在的文件不会被覆盖,而是保存为像“filename-1.ext”这样的新文件。
我找到了
*** Test Cases ***
Sample test Case
[Tags] Test
@{List1}= Create List a b c d
@{List2}= Create List 1 2 3 4
@{ListOfList}= Create List Of List @{List1} @{List2}
*** Keywords ***
Create List Of List
[Arguments] @{List1} @{List2}
Log Hello world
<{3}}的命令并尝试了
-f, --force (Force overwrite and other dangerous operations.)
但文件仍保存为新文件但未被覆盖。 有谁有想法吗?谢谢你的帮助!
答案 0 :(得分:2)
首先删除现有文件:s3cmd del s3://bucket/file
然后放入新文件。
答案 1 :(得分:1)
现在建议使用AWS Command-Line Interface (CLI)。
它有一个aws s3 cp
命令,始终保留所请求的名称。
答案 2 :(得分:1)
您可以使用mc (a.k.a. Minio client)。它是用Golang编写的。根据开源Apache许可证提供。它适用于Mac,Linux,Windows和FreeBSD。您可以使用mc cp
命令来满足您的要求。
64-bit Intel from https://dl.minio.io/client/mc/release/linux-amd64/mc
32-bit Intel from https://dl.minio.io/client/mc/release/linux-386/mc
32-bit ARM from https://dl.minio.io/client/mc/release/linux-arm/mc
$ chmod +x mc
$ ./mc --help
$ mc config host add mys3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
将您的对象名称myfile.txt
覆盖为Amazon S3存储桶名称mybucket
./mc cp myfile.txt mys3/mybucket
希望它有所帮助。
免责声明:我为Minio
工作