Amazon web services AWS使用DynamoDB Lambda配置运动流
从这个问题上来讲, DynamoDB-->DynamoDB流-->Lambda函数-->运动消防软管-->红移 我如何配置我的Kinesis函数来获取Lambda函数源 我创建了一个DynamoDB表(购销),并添加了DynamoDB流。然后我配置Lambda函数来拾取DynamoDB流。我的问题是如何配置Kinesis以获取Lambda函数源?我知道如何配置Lambda转换,但是我想把它作为源代码。不确定如何配置下面的直接输入源 谢谢 执行了以下步骤:Amazon web services AWS使用DynamoDB Lambda配置运动流,amazon-web-services,aws-lambda,amazon-redshift,amazon-kinesis-firehose,Amazon Web Services,Aws Lambda,Amazon Redshift,Amazon Kinesis Firehose,从这个问题上来讲, DynamoDB-->DynamoDB流-->Lambda函数-->运动消防软管-->红移 我如何配置我的Kinesis函数来获取Lambda函数源 我创建了一个DynamoDB表(购销),并添加了DynamoDB流。然后我配置Lambda函数来拾取DynamoDB流。我的问题是如何配置Kinesis以获取Lambda函数源?我知道如何配置Lambda转换,但是我想把它作为源代码。不确定如何配置下面的直接输入源 谢谢 执行了以下步骤: 在您的情况下,您可以将dynamodb
在您的情况下,您可以将dynamodb流式传输到redshift
DynamoDB-->DynamoDB流-->Lambda函数-->动力消防软管-->红移。
首先,需要一个lambda函数来处理DynamoDBStream。对于每个DynamodB流事件,使用firehosePutRecord
API将数据发送到firehose。从
接下来,我们必须知道如何将数据插入红移。从
对于向Amazon Redshift交付数据,Kinesis Firehose首先提供
将数据以前面描述的格式发送到S3存储桶。
然后,Kinesis Firehose发出Amazon红移复制命令以加载
从S3存储桶到Amazon红移集群的数据
因此,我们应该知道让COPY
命令将数据映射到红移模式的数据格式。我们必须遵循规则
默认情况下,“复制”命令希望源数据
字符分隔的UTF-8文本。默认分隔符是管道
字符(|)
因此,您可以对输入dynamodb stream事件的lambda进行编程,将其转换为管道(|)分隔行记录,并将其写入firehose
var firehose = new AWS.Firehose();
firehose.putRecord({
DeliveryStreamName: 'YOUR_FIREHOSE_NAME',
Record: { /* required */
Data: "RED_SHIFT_COLUMN_1_DATA|RED_SHIFT_COLUMN_2_DATA\n"
}
}, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
请记住添加
\n
,因为消防软管不会为您添加新行。据我所知,您不知道数据如何从Lambda传输到消防软管。在这种情况下,您需要使用PutRecords API()将记录放在lambda中到firehose中,我会在lambda或firehose控制台中编写Put函数吗?您能否给出示例语法,阅读页面,firehouse.putRecord(“PurchaseSalesFirehose”),同步中的记录是什么?我希望亚马逊能制作这个插件,而不是编写脚本,etcI出现了错误,firehose没有定义;请修复或添加/*全局firehose/firehose.putRecord({DeliveryStreamName:'PurchaseSalesKinesis',记录:{/required*/Data:'PurchaseSalesId\n}}},函数(err,Data){if(err)console.log(err,err.stack);//发生错误,否则console.log(Data);//成功响应});通过阅读此处的文档,您需要创建一个firehose API客户端var firehouse=new AWS.firehouse()代码>并且在运行时环境中,需要安装aws sdk npm包
var firehose = new AWS.Firehose();
firehose.putRecord({
DeliveryStreamName: 'YOUR_FIREHOSE_NAME',
Record: { /* required */
Data: "RED_SHIFT_COLUMN_1_DATA|RED_SHIFT_COLUMN_2_DATA\n"
}
}, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});