我在 python 中使用 boto3 模块与 S3 交互,目前我能够获得 S3 存储桶中每个单独密钥的大小。但是我的动机是只找到顶级文件夹的空间存储(每个文件夹都是不同的项目),我们需要按项目对使用的空间进行收费。我能够获得顶级文件夹的名称,但无法获得有关以下实现中文件夹大小的任何详细信息。以下是我获取顶级文件夹名称的实现。
import boto
import boto.s3.connection
AWS_ACCESS_KEY_ID = "access_id"
AWS_SECRET_ACCESS_KEY = "secret_access_key"
Bucketname = 'Bucket-name'
conn = boto.s3.connect_to_region('ap-south-1',
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
is_secure=True, # uncomment if you are not using ssl
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.get_bucket('bucket')
folders = bucket.list("", "/")
for folder in folders:
print(folder.name)
Run Code Online (Sandbox Code Playgroud)
这里的文件夹类型是 boto.s3.prefix.Prefix 并且它不显示任何大小的详细信息。有没有办法通过名称搜索 S3 存储桶中的文件夹/对象,然后获取该对象的大小?
我正在调用 api 并以 /Date(1500462505221)/ 格式获取日期时间字段。我的动机是将其转换为这种格式 "2018-05-11 23:25:47" 。我该如何做到这一点?