我已经构建了一个Kinesis Firehose流来将数据推送到redshift并尝试使用kinesis代理从EC2实例推送数据。
Firehose Stream能够解析记录,但不能识别firehose流,因为我收到了以下java错误。
com.amazon.kinesis.streaming.agent.tailing.AsyncPublisher
[ERROR] AsyncPublisher[kinesis:csvtoredshiftstream:/tmp/redshift.log*]:RecordBuffer
(id=2,records=2,bytes=45) Retriable send error (com.amazonaws.services.kinesis.model.ResourceNotFoundException:
Stream csvtoredshiftstream under account xyz not found.
(Service: AmazonKinesis; Status Code: 400;
Error Code: ResourceNotFoundException;
Request ID: f4a63623-9a15-b2f8-a597-13b478c81bbc)). Will retry.
Request your pointers to identify and resolve the issue.
此致 Srivignesh KN
答案 0 :(得分:0)
谢谢@peter,
通过以下方式为firehose事件指定agent.json中的输入,我能够克服错误。 {" cloudwatch.emitMetrics":true," kinesis.endpoint":""," firehose.endpoint":" firehose .us-west-2.amazonaws.com","流动":[{" filePattern":" / tmp / s3streaming。" ," deliveryStream":" S3TestingStream"," partitionKeyOption":" RANDOM" },{" filePattern":" /tmp/app.log "," deliveryStream":" yourdeliverystream" }]} -
此外,为了使Kinesis Streams按预期工作,还需要在与Streams相同的区域中创建S3存储桶。
如果在West-2区域中创建了Stream,则还应在同一区域中创建S3存储桶。
谢谢&问候, Srivignesh KN