我从amazon s3下载了.json文件,但其内容只是第一个键/值对的值。
原始json文件是这样的:
{
"_1": [
{
"Name": "name",
"Type": "type"
}
]
}
但是下载的json文件甚至不是json文件,它里面只有列表。
[
{
"Name": "name",
"Type": "type"
}
]
我尝试过aws s3同步/ aws s3复制/ aws s3api get-object,其所有结果都是相同的。
我只想从s3存储桶下载原始文件。
有什么解决方法吗?
我只是将原始内容复制到了s3 select的预览中,并将其保存为文件。
我发现它的md5校验和和文件大小与对象概述完全不同。
似乎s3存储桶上的原始文件已损坏,但是我不确定其预览仍与原始内容相同。
[我发现aws s3api select-object-content
可以给我与从预览中选择S3相同的结果,但没有缩进。
对于缩进,我决定在收到未损坏的结果后重新缩进。
我使用以下命令检索我的json文件。
aws s3api select-object-content \
--bucket $BUCKET \
--key $KEY --expression "select * from s3object" \
--expression-type 'SQL' \
--input-serialization '{"JSON": {"Type": "LINES"}, "CompressionType": "NONE"}' \
--output-serialization '{"JSON": {}}' \
/dev/stdout | python -mjson.tool > $KEY