How to decode data from kinesis.getRecords in Javascript SDK?












0















I'm trying to get data from Kinesis data stream:



function getRecord(shard_iterator) {

var getRecParams = {
ShardIterator: shard_iterator
};

kinesis.getRecords(getRecParams, function(err, result) {
// Loop through all the packages
for (var record in result.Records) {
console.log(JSON.stringify(result.Records[record].Data));
break; // just to see the first one
}
//if (result.NextShardIterator) getRecord(result.NextShardIterator);
});
}


The result I see:



{"type":"Buffer","data":[123,34,73,110,112,117....,125]}


Form AWS CLI I know data should be base64-encoded, but here is something different. So how can I get info from the data array I see?



Pls note it's not NodeJS but Javascript in browser.










share|improve this question



























    0















    I'm trying to get data from Kinesis data stream:



    function getRecord(shard_iterator) {

    var getRecParams = {
    ShardIterator: shard_iterator
    };

    kinesis.getRecords(getRecParams, function(err, result) {
    // Loop through all the packages
    for (var record in result.Records) {
    console.log(JSON.stringify(result.Records[record].Data));
    break; // just to see the first one
    }
    //if (result.NextShardIterator) getRecord(result.NextShardIterator);
    });
    }


    The result I see:



    {"type":"Buffer","data":[123,34,73,110,112,117....,125]}


    Form AWS CLI I know data should be base64-encoded, but here is something different. So how can I get info from the data array I see?



    Pls note it's not NodeJS but Javascript in browser.










    share|improve this question

























      0












      0








      0








      I'm trying to get data from Kinesis data stream:



      function getRecord(shard_iterator) {

      var getRecParams = {
      ShardIterator: shard_iterator
      };

      kinesis.getRecords(getRecParams, function(err, result) {
      // Loop through all the packages
      for (var record in result.Records) {
      console.log(JSON.stringify(result.Records[record].Data));
      break; // just to see the first one
      }
      //if (result.NextShardIterator) getRecord(result.NextShardIterator);
      });
      }


      The result I see:



      {"type":"Buffer","data":[123,34,73,110,112,117....,125]}


      Form AWS CLI I know data should be base64-encoded, but here is something different. So how can I get info from the data array I see?



      Pls note it's not NodeJS but Javascript in browser.










      share|improve this question














      I'm trying to get data from Kinesis data stream:



      function getRecord(shard_iterator) {

      var getRecParams = {
      ShardIterator: shard_iterator
      };

      kinesis.getRecords(getRecParams, function(err, result) {
      // Loop through all the packages
      for (var record in result.Records) {
      console.log(JSON.stringify(result.Records[record].Data));
      break; // just to see the first one
      }
      //if (result.NextShardIterator) getRecord(result.NextShardIterator);
      });
      }


      The result I see:



      {"type":"Buffer","data":[123,34,73,110,112,117....,125]}


      Form AWS CLI I know data should be base64-encoded, but here is something different. So how can I get info from the data array I see?



      Pls note it's not NodeJS but Javascript in browser.







      amazon-kinesis aws-sdk-js






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 1 at 20:16









      PutnikPutnik

      1,40831733




      1,40831733
























          1 Answer
          1






          active

          oldest

          votes


















          0














          Solution, would be nice to have it in doc:



          var decoder = new TextDecoder("utf-8");
          function getRecord(shard_iterator) {

          var getRecParams = {
          ShardIterator: shard_iterator
          };

          kinesis.getRecords(getRecParams, function(err, result) {
          if (err) {
          console.log("Error in getRecords() from the Kinesis stream.");
          console.log(err);
          } else {
          try {
          // Loop through all the packages
          for (var record in result.Records) {
          data = result.Records[record].Data
          decoded = JSON.parse(decoder.decode(data));
          console.log(decoded);
          }
          } catch(err) {
          console.log("Error parsing the package.");
          console.log(err);
          }
          if (result.NextShardIterator) getRecord(result.NextShardIterator);
          }
          });
          }





          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53998631%2fhow-to-decode-data-from-kinesis-getrecords-in-javascript-sdk%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Solution, would be nice to have it in doc:



            var decoder = new TextDecoder("utf-8");
            function getRecord(shard_iterator) {

            var getRecParams = {
            ShardIterator: shard_iterator
            };

            kinesis.getRecords(getRecParams, function(err, result) {
            if (err) {
            console.log("Error in getRecords() from the Kinesis stream.");
            console.log(err);
            } else {
            try {
            // Loop through all the packages
            for (var record in result.Records) {
            data = result.Records[record].Data
            decoded = JSON.parse(decoder.decode(data));
            console.log(decoded);
            }
            } catch(err) {
            console.log("Error parsing the package.");
            console.log(err);
            }
            if (result.NextShardIterator) getRecord(result.NextShardIterator);
            }
            });
            }





            share|improve this answer




























              0














              Solution, would be nice to have it in doc:



              var decoder = new TextDecoder("utf-8");
              function getRecord(shard_iterator) {

              var getRecParams = {
              ShardIterator: shard_iterator
              };

              kinesis.getRecords(getRecParams, function(err, result) {
              if (err) {
              console.log("Error in getRecords() from the Kinesis stream.");
              console.log(err);
              } else {
              try {
              // Loop through all the packages
              for (var record in result.Records) {
              data = result.Records[record].Data
              decoded = JSON.parse(decoder.decode(data));
              console.log(decoded);
              }
              } catch(err) {
              console.log("Error parsing the package.");
              console.log(err);
              }
              if (result.NextShardIterator) getRecord(result.NextShardIterator);
              }
              });
              }





              share|improve this answer


























                0












                0








                0







                Solution, would be nice to have it in doc:



                var decoder = new TextDecoder("utf-8");
                function getRecord(shard_iterator) {

                var getRecParams = {
                ShardIterator: shard_iterator
                };

                kinesis.getRecords(getRecParams, function(err, result) {
                if (err) {
                console.log("Error in getRecords() from the Kinesis stream.");
                console.log(err);
                } else {
                try {
                // Loop through all the packages
                for (var record in result.Records) {
                data = result.Records[record].Data
                decoded = JSON.parse(decoder.decode(data));
                console.log(decoded);
                }
                } catch(err) {
                console.log("Error parsing the package.");
                console.log(err);
                }
                if (result.NextShardIterator) getRecord(result.NextShardIterator);
                }
                });
                }





                share|improve this answer













                Solution, would be nice to have it in doc:



                var decoder = new TextDecoder("utf-8");
                function getRecord(shard_iterator) {

                var getRecParams = {
                ShardIterator: shard_iterator
                };

                kinesis.getRecords(getRecParams, function(err, result) {
                if (err) {
                console.log("Error in getRecords() from the Kinesis stream.");
                console.log(err);
                } else {
                try {
                // Loop through all the packages
                for (var record in result.Records) {
                data = result.Records[record].Data
                decoded = JSON.parse(decoder.decode(data));
                console.log(decoded);
                }
                } catch(err) {
                console.log("Error parsing the package.");
                console.log(err);
                }
                if (result.NextShardIterator) getRecord(result.NextShardIterator);
                }
                });
                }






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 2 at 9:48









                PutnikPutnik

                1,40831733




                1,40831733
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53998631%2fhow-to-decode-data-from-kinesis-getrecords-in-javascript-sdk%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    MongoDB - Not Authorized To Execute Command

                    How to fix TextFormField cause rebuild widget in Flutter

                    Npm cannot find a required file even through it is in the searched directory