我正在尝试使用AWS SELECT计算存储在 S3 存储桶中的文件中的行数。具体来说,执行以下命令(基于AWS s3api 文档和这个用于 count(*) 查询的 Java 示例):
aws s3api select-object-content --bucket my_bucket_name --key my_file_name --expression "select count(*) from S3object s" --expression-type SQL --input-serialization CSV={} --output-serialization CSV={}
以上返回:
{
"Payload":
Circular reference detected
尽管默认值适用于我的用例,但我尝试CSV={}
在命令行中提供带有参数的附加信息,并尝试了替代 JSON 语法'{"CSV":{}}'
。总是收到Circular reference detected
错误。
该文件存在于桶中;否则,你会得到一个NoSuchKey
错误。是的,去过那里,做过... :)
AWS SELECT 的例子要么很少见,要么我的 Google-fu 让我失望了。
建议?欢迎使用替代方案,但它们必须是可编写脚本的。