我使用 awssdk 版本 3 在 c# 中创建了 lambda 函数,该函数将 json 数据传递给 firehose 流,从而在 S3 存储桶中产生错误的结果
“无效的输出结构:请检查您的函数并确保处理的记录包含 Dropped、Ok 或 ProcessingFailed 的有效结果状态。”
这是我的 lambda 函数代码
AmazonKinesisFirehoseConfig config = new AmazonKinesisFirehoseConfig();
config.RegionEndpoint = Amazon.RegionEndpoint.EUWest2;
AmazonKinesisFirehoseClient firehoseClient = new AmazonKinesisFirehoseClient(config);
string dataAsJson = JsonConvert.SerializeObject(sq);
byte[] dataAsBytes = Encoding.UTF8.GetBytes(dataAsJson);
string base64Data = System.Convert.ToBase64String(dataAsBytes);
using (MemoryStream memoryStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(base64Data)))
{
try
{
PutRecordRequest requestRecord = new PutRecordRequest();
requestRecord.DeliveryStreamName = MyDeliveryStreamName;
Record record = new Record();
record.Data = memoryStream;
requestRecord.Record = record;
PutRecordResponse responseRecord = await firehoseClient.PutRecordAsync(requestRecord);
return responseRecord.RecordId;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}