我正在使用API网关将数据流传输到Kinesis / Firehose,然后将其传递到S3。 我正在使用将记录批量发送到API网关的记录器。这些记录以JSON对象数组的形式发送,如下所示:
struct Root: Codable {
let data: [InnerItem]
}
struct InnerItem:Codable {
let id: Int?
let image: String?
let name: String?
private enum CodingKeys : String, CodingKey {
case id = "id", image = "image", name = "name"
}
}
我希望S3将这些记录存储为JSON文件,例如:
[
{"data" : "some data", "PartitionKey" : "key"},
{"data" : "some data", "PartitionKey" : "key"},
...
]
我正在尝试使用以下模板:
[
{"data" : "some data"},
{"data" : "some data"},
...
]
但是,当我测试该方法时,出现以下错误:
{
"StreamName": "$input.params('stream-name')",
"Records": [
#foreach($elem in $input.path('$'))
{
"Data": "$util.base64Encode($elem.data)",
"PartitionKey": "$elem.PartitionKey"
}#if($foreach.hasNext),#end
#end
]
}
对于我犯了什么错误,我将不胜感激。
非常感谢。