Я пытаюсь подсчитать количество строк в файле, хранящемся в корзине S3, используя AWS SELECT . В частности, выполнение следующей команды (на основе документации AWS s3api и этого примера Java для запроса count (*) ):
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 меня подводит.
Предложения? Альтернативы приветствуются, но они должны быть в сценариях.