dynamoDBTrigger
将数据写入Kinesis流。该流被配置为作为Kinesis分析应用程序的输入流。我在Kinesis流上配置了一个Lambda预处理器,记录写入流中的数据。但是,在源选项卡上,分析应用窗口中出现消息源流中没有行。在应用程序 SQL 流中未创建行。我使用Node并使用
serverless.yml
文件部署服务。以下是配置 -
RecordKinesisAnalyticsApp:
Type: AWS::KinesisAnalytics::Application
Properties:
ApplicationName: 记录Kinesis Analytics应用
ApplicationDescription: 记录Kinesis Analytics应用
ApplicationCode: ${file(./serverless/metadataQueries.yml):AnalyticsQuery_1}
Inputs:
- NamePrefix: "记录前缀"
InputSchema:
RecordColumns:
- Name: "USER_ID"
SqlType: "VARCHAR(20)"
Mapping: "$._userId"
- Name: "ANXIETY"
SqlType: "INTEGER"
Mapping: "$.anxiety"
RecordEncoding: "UTF-8"
RecordFormat:
RecordFormatType: "JSON"
KinesisStreamsInput:
ResourceARN:
Fn::GetAtt:
- RecordKinesisInputStream
- Arn
RoleARN: arn:aws:iam::xxxxxxxxxxx:role/service-role/kinesis-analytics-KinesisDemo-us-east-1
这是分析查询内容 -
创建或替换流 "DESTINATION_SQL_STREAM" (USER_ID VARCHAR(20), ANXIETY INTEGER);
创建或替换泵 "STREAM_PUMP",将数据插入到 "DESTINATION_SQL_STREAM" 中
从 "RecordPrefix_001" 中选择 USER_ID 和 ANXIETY 到流中
其中 ANXIETY >= 0;