#amazon-s3 #s3 #aws #statistics #amazon

应用程序 s3-meta

收集您 S3 桶的元数据

2 个稳定版本

使用旧的 Rust 2015

1.0.1 2018年9月8日
1.0.0 2018年8月3日

#322 in 可视化

MIT 许可证

27KB
490 代码行

S3 Meta

Crates.io Unix Build Status Windows Build Status

一个简单的工具,用于收集关于 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