1

我使用 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);
    }
}
4

0 回答 0