首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firehose转换输出的格式设置

Firehose转换输出的格式设置
EN

Stack Overflow用户
提问于 2017-08-30 02:34:50
回答 3查看 6.2K关注 0票数 4

我正在使用带有自定义数据转换的AWS Kinesis Firehose。Lambda是用Python 3.6编写的,返回的字符串如下所示:

代码语言:javascript
复制
{
    "records": [
        {
            "recordId": "...",
            "result": "Ok",
            "data": "..."
        },
        {
            "recordId": "...",
            "result": "Ok",
            "data": "..."
        },
        {
            "recordId": "...",
            "result": "Ok",
            "data": "..."
        }
    ]
}

这个Lambda非常好用,在将输出返回到Firehose之前,它会记录类似上述内容的输出。但是,Firehose的S3日志随后显示一个错误:

Invalid output structure: Please check your function and make sure the processed records contain valid result status of Dropped, Ok, or ProcessingFailed.

看着JS和Java在网络上传播的例子,我不清楚我需要做什么不同的事情;我很困惑。

EN

回答 3

Stack Overflow用户

发布于 2017-09-09 06:05:44

如果您的数据是json对象,您可以尝试执行以下操作

代码语言:javascript
复制
import base64
import json
def lambda_handler(event, context):
    output = []
    for record in event['records']:
        # your own business logic.
        json_object = {...} 
        output_record = {
            'recordId': record['recordId'],
            'result': 'Ok',
            'data': base64.b64encode(json.dumps(json_object).encode('utf-8')).decode('utf-8')
        }
        output.append(output_record)
    return {'records': output}

base64.b64encode函数仅适用于b'xxx‘字符串,而output_record的'data’属性需要一个普通的'xxx‘字符串。

票数 10
EN

Stack Overflow用户

发布于 2017-09-05 16:24:29

我在使用Node.js时也发现了同样的错误。

在阅读文档http://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html时,我的错误不是对每条记录的数据字段进行base64编码。

我决定这样做:

代码语言:javascript
复制
{
    recordId: record.recordId,
    result: 'Ok',
    data: new Buffer(JSON.stringify(data)).toString('base64')
}
票数 5
EN

Stack Overflow用户

发布于 2018-07-25 12:18:56

你可以在我的存储库中查看代码。https://github.com/hixichen/golang_lamda_decode_protobuf_firehose

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45946107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档