2 个稳定版本
使用旧的 Rust 2015
1.0.1 | 2018年9月8日 |
---|---|
1.0.0 | 2018年8月3日 |
#322 in 可视化
27KB
490 代码行
S3 Meta
一个简单的工具,用于收集关于 S3 桶(或其子部分)的数据。设计得简单,并且(某种程度上)可由 shell 消费。元数据将随着可用性而添加,S3 交互由 rusoto_s3 控制。
安装
您可以从这个存储库或 Crates(一旦发布)安装 s3-meta
。
# install from Cargo
$ cargo install s3-meta
# install the latest from GitHub
$ cargo install --git https://github.com/whitfin/s3-meta.git
用法
可以通过遵循 AWS 文档 中的说明来配置凭据,尽管示例将使用环境变量以提高清晰度。
您可以使用以下格式检索桶的元数据(确保您的区域与桶的 AWS 区域匹配)
$ AWS_ACCESS_KEY_ID=MY_ACCESS_KEY_ID \
AWS_SECRET_ACCESS_KEY=MY_SECRET_ACCESS_KEY \
AWS_DEFAULT_REGION=us-west-2 \
s3-meta my.bucket.name
如果您想检索桶的“子目录”的元数据,可以使用以下格式提供前缀
$ AWS_ACCESS_KEY_ID=MY_ACCESS_KEY_ID \
AWS_SECRET_ACCESS_KEY=MY_SECRET_ACCESS_KEY \
AWS_DEFAULT_REGION=us-west-2 \
s3-meta my.bucket.name/my/directory/path
如果您在上面的示例中内联凭据,别忘了在命令的开始处添加一个空格!
输出
输出格式相当直观,遵循相对简单的格式,易于扩展,并在 shell 管道中方便使用。可能对这种格式进行更改,以便更容易消费(将空格放置于未格式化的数字等)。
以下是一个基于真实 S3 桶的示例(尽管文件名已稍作修改 :))
[general]
total_time=7s
total_space=1.94TB
total_files=51,152
[file_size]
average_file_size=37.95MB
average_file_bytes=37949529
largest_file_size=1.82GB
largest_file_bytes=1818900684
largest_file_name=path/to/my_largest_file.txt.gz
smallest_file_size=54B
smallest_file_bytes=54
smallest_file_name=path/to/my_smallest_file.txt.gz
smallest_file_others=12
[extensions]
unique_extensions=1
most_frequent_extension=gz
[modification]
earliest_file_date=2016-06-11T17:36:57.000Z
earliest_file_name=path/to/my_earliest_file.txt.gz
earliest_file_others=3
latest_file_date=2017-01-01T00:03:19.000Z
latest_file_name=path/to/my_latest_file.txt.gz
此示例基于 s3-meta
的初始构建。根据您使用此工具的时间,输出中可能包含更多(或更少)的内容。
依赖项
~23MB
~486K SLoC