2

我正在尝试使用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 让我失望了。

建议?欢迎使用替代方案,但它们必须是可编写脚本的。

4

1 回答 1

1

不确定是否有人仍然面临错误 - 更新 awscli 对我有帮助 - pip3 install awscli --upgrade

于 2019-08-02T17:13:05.803 回答