如何使用通配符列出Amazon S3中的密钥

时间:2016-06-29 11:37:55

标签: amazon-s3 boto

作为AWS网站,请参阅this link,AWS提到S3上的密钥名称应使用散列值或随机序列的十六进制值命名,以优化S3实际存储数据的性能,例如。

  • /bucket-name/a2f0/test/001.txt
  • /bucket-name/83de/test/002.txt
  • /bucket-name/c1aa/test/003.txt

正如他们在网站上提到的关于列出键的前缀如'[0-f] [0-f] [0-f] [0-f] / test /',但我尝试过,使用Python库Boto和's3cmd ls [prefix]',但未能列出上述3个文件。

有没有用这种通配符列出密钥?

1 个答案:

答案 0 :(得分:0)

目前,建议使用AWS Command-Line Interface (CLI)代替s3cmd

要列出对象,您需要包含广告素材的名称,例如:

aws s3 ls s3://bucketname/

这将显示3个对象的完整路径:

a2f0/test/001.txt
83de/test/002.txt
c1aa/test/003.txt

另外,请注意,只有在执行大量操作(例如,每秒创建超过100个对象)时才需要为Amazon S3对象添加随机分布哈希值的建议。在尝试使用哈希方法之前,您可能想尝试使用没有哈希的S3来查看它是否符合您的性能要求。