AWS s3API 放置对象命令无法按预期工作



根据 https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html

使用 AWS S3API 将文件放入存储桶的行是

aws s3api put-object --bucket text-content --key dir-1/my_images.tar.bz2 --body my_images.tar.bz2

我使用上面的例子将我的文件放入存储桶中:

$ aws s3api put-object --bucket mybucket-witha3api2 --key 
test/TestDataforAWSs3api.txt --body TestDataforAWSs3api.txt
{
"ETag": ""d41d8cd98f00b204e9800998ecf8427e""
}

列出存储桶后,我看到以下内容:

aws s3 ls s3://mybucket-witha3api2/test
PRE test/

我不确定 TestDataforAWSs3api 文件在哪里.txt什么是 PRE?你能解释一下我的CL有什么问题吗?

谢谢。

您需要添加一个尾部斜杠,否则您正在做的是检查存储桶mybucket-witha3api2中是否存在名为test的对象。文件TestDataforAWSs3api.txt存在,但您未使用标记为PRE的正确前缀进行检查。要检查文件是否存在,您可以列出带有test前缀的对象,如下所示:

aws s3 ls s3://mybucket-witha3api2/test/

或者您可以显式检查文件本身

aws s3 ls s3://mybucket-witha3api2/test/TestDataforAWSs3api.txt

最新更新