Amazon Kinesis NodeJS - putRecord action expires

I use NodeJS and Express as a proxy to process HTTP GET requests, adapt the data a bit and send the data to Amazone Kinesis. Here is an excerpt from my code:

var express = require('express');
var app = express();


app.get('/proxy-test', function(req, res){
    var data = req.query;

    // perform some light data processing

    // send results to kinesis
    kinesis.putRecord({
        StreamName : MY_STREAM_NAME,
        Data : data,
        PartitionKey : MY_PARTITION_KEY
    }, function(err, data) {
        if (err) {
            console.log(err, err.stack); // an error occurred
        } else {
            console.log(data);
        }
    });

    res.send(200);
});

After running JMeter tests for 200 concurrent users (cycle 100 times), after 5 minutes I get this error:

{[InvalidSignatureException: : 20140409T152855Z 20140409T153211Z (20140409T153711Z - 5 .)]   : " : 20140409T152855Z 20140409T153211Z (20140409T153711Z - 5 .)",   : "InvalidSignatureException",   : 09 2014 17:37:11 GMT + 0200 (CEST),   statusCode: 400,   retryable: false,   _willRetry: false} 'InvalidSignatureException: : 20140409T152855Z 20140409T153211Z (20140409T153711Z - 5 .)\n Request.extractError(/Users/me/proxy/ node_modules/aws-sdk/lib/service_interface/json.js: 43: 33)\n Request.callListeners(/Users/me/proxy/node_modules/aws-sdk/lib/sequential_executor.js:114:20)\n Request.emit(/Users/me/proxy/node_modules/aws-sdk/lib/sequential_executor.js:81:10)\n Request.emit(/Users/me/proxy/node_modules/aws-sdk/lib/request.js:578: 14)\n Request.transition(/Users/me/proxy/node_modules/aws-sdk/lib/request.js:12:12)\n AcceptorStateMachine.runTo(/Users/me/proxy/node_modules/aws-sdk/lib/state_machine.js:14:12)\n /Users/me/proxy/ node_modules/aws-sdk/lib/state_machine.js:26:10\n . (/Users/me/proxy/node_modules/aws-sdk/lib/request.js:28:9)\n . (/Users/me/proxy/node_modules/aws-sdk/lib/request.js:580:12)\n Request.callListeners(/Users/me/proxy/node_modules/aws-sdk/lib/sequential_executor.js: 90: 20) '

-, ( ), , Kinesis ?

+4
1

, Kinesis (, NodeJS). API AWS ( Kinesis).

ntp AWS NTP:

sudo apt-get -qy install ntp
sudo sed -i -r 's/^(server\s[0-3]\.)ubuntu([a-z\.]+)/\1amazon\2 iburst/' /etc/ntp.conf
sudo sed -i -r 's/^(server\sntp\.ubuntu\.com)/#\1\nserver time.nist.gov/' /etc/ntp.conf
sudo service ntp restart

, :

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

+1

Source: https://habr.com/ru/post/1535773/


All Articles