J'ai créé un flux Kinesis Firehose pour transférer les données en redshift et j'essaie de transmettre des données à partir d'une instance EC2 à l'aide de l'agent kinésis. Firehose Stream est en mesure d'analyser les enregistrements, mais pas d'identifier les flux de feu reçoivent l'erreur java suivante.L'agent Kinesis n'envoie pas d'enregistrements au flux
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.
Cordialement, Srivignesh KN
est votre erreur sur le Firehose-stream ou sur le redshift? Il semble que vous n'avez pas créé le flux 'csvtoredshiftstream' avant de publier les événements. Je n'ai pas utilisé firehose, je devine kinesis-agent recueille les événements dans le flux de feu, mais le problème est que le flux n'existe pas. Si c'est le cas, essayez de créer un flux en postant un 'CreateStreamRequest createStreamRequest = new CreateStreamRequest(). AvecStreamName (" csvtoredshiftstream ")'. – prayagupd
Merci @peter, j'ai été capable de surmonter l'erreur d'utilisation en spécifiant les entrées dans le fichier agent.json de la manière suivante pour les événements firehose. { "cloudwatch.emitMetrics": true, "kinesis.endpoint": "", "firehose.endpoint": "firehose.us-west-2.amazonaws.com", "flux": [{ "filePattern": "/tmp/s3streaming.*", "deliveryStream": "S3TestingStream", "partitionKeyOption": "RANDOM" }, { "filePattern": "/tmp/app.log*" , "deliveryStream": "yourdeliverystream" } ] } –