我有以下代码,用于对位于 S3 存储桶中的 key 文件运行 SQL 查询。这运行完美。我的问题是,我不希望将输出写入输出文件。我能在屏幕上看到输出吗(我的偏好 #1)?如果没有,那么附加到输出文件的能力如何,而不是覆盖它(我的偏好#2)。我正在使用 AWS-CLI 二进制文件来运行此查询。如果有另一种方式,我很乐意尝试(只要它在 bash 内)
aws s3api select-object-content \
--bucket "project2" \
--key keyfile1 \
--expression "SELECT * FROM s3object s where Lower(s._1) = 'email@search.com'" \
--expression-type 'SQL' \
--input-serialization '{"CSV": {"FieldDelimiter": ":"}, "CompressionType": "GZIP"}' \
--output-serialization '{"CSV": {"FieldDelimiter": ":"}}' "OutputFile"
最佳答案
当然,您可以使用 AWS CLI 来执行此操作,因为 stdout
只是linux中的一个特殊文件。
aws s3api select-object-content \
--bucket "project2" \
--key keyfile1 \
--expression "SELECT * FROM s3object s where Lower(s._1) = 'email@search.com'" \
--expression-type 'SQL' \
--input-serialization '{"CSV": {"FieldDelimiter": ":"}, "CompressionType": "GZIP"}' \
--output-serialization '{"CSV": {"FieldDelimiter": ":"}}' /dev/stdout
请注意 /dev/stdout
到底。
关于sql - 适用于 S3 Select 的 AWS CLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63445534/