selectObjectContent関数を使用して AWS S3 から特定のレコードをフェッチしようとすると、OverMaxRecordSize: The character number in one record is more than our max threshold, maxCharsPerRecord: 1,048,576というエラーが表示されます。
10 個のレコードをフェッチしている場合は機能しますが、そのうちの 1 つをフェッチしようとすると、上記のエラーがスローされます。
AWS ドキュメントのエラーの理由を見ることができるように、「入力または結果のレコードの長さが 1 MB の maxCharsPerRecord を超えています。」
私のデータは位置データであり、そのサイズは 1 MB を超える可能性があるため、解決策または回避策を提案してください。
例えば:
作業中: select * from s3object s limit 10;
動作していません: select * from s3object s where id = '22'
私のパラメータは次のとおりです。
const params = {
Key: 'locationdata2020.csv.gz',
ExpressionType: 'SQL',
Expression: `select * from s3object s where id = '22';`,
InputSerialization: {
CSV: {
FileHeaderInfo: 'USE',
RecordDelimiter: '\n',
FieldDelimiter: ','
},
CompressionType: 'GZIP'
},
OutputSerialization: {
JSON: {
RecordDelimiter: ','
}
}
};