(この質問は、AWS Athena の json ファイルに複数の要素を保存するとよく似ています)
このように構造化されたS3バケットにJSONファイルがあります-
[{"key1": value, "key2": value, "key3": {"key4": value, etc}}, {"key1": value....}]
2 つの質問:
これを Quicksight に直接送信すると、Quicksight はファイルを完全に正規化することを知っているのはなぜですか (バケット内に一致しないファイルが複数ある場合を除きます (これが私が Athena を試している理由です)) が、Athena はそれに苦労していますか? フォーマットと関係があることは知っていますが (各辞書は独自の行になく、辞書だけでなく辞書のリストでもあります)、AWS に別のサービスがある場合、元のファイルを変更する必要はないようです。問題なく解析して平坦化する方法を知っています。
API を呼び出すために Lambda で Python スクリプトを使用しています。辞書のリストは、その形式です。JSON ファイルを Athena が好む方法でフォーマットする簡単な方法はありますか? 以下は私の現在のスクリプトの例です -
response = requests.request(method, url, **kwargs)
data_dict = response.json()
data_json = json.dumps(data_dict['results'])
s3.Bucket('bucket_name').put_object(Key = key, Body = data_json)
免責事項: 私は AWS/コーディング全般にかなり慣れていないため、AWS のドキュメントを理解しようとしているときに多くの課題に遭遇したため、これが単純な修正である場合は申し訳ありません。