{"id":29704,"date":"2022-11-25T18:27:10","date_gmt":"2022-11-25T12:57:10","guid":{"rendered":"https:\/\/blazeclan.com\/building-live-aws-kinesis-application-producer-code-sdk-required\/"},"modified":"2023-03-06T15:22:50","modified_gmt":"2023-03-06T09:52:50","slug":"building-live-aws-kinesis-application-producer-code-sdk-required","status":"publish","type":"post","link":"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/","title":{"rendered":"Building a Live AWS Kinesis Application &#8211; The Producer Class, Put Constructor &#038; more&#8230;"},"content":{"rendered":"<p>Image Courtesy : acumen.sg<\/p>\n<p>We know what Kinesis exactly is, from our earlier discussions, but only theoretically! Let us carry out some hands-on training so that our picture about Kinesis is much more clear. So what we will be building today using Kinesis, is a very basic application that will track user activity on our dummy website, more like a Click Path analysis application, but&nbsp; at a very simple level. This application is just to give you all a better understanding&nbsp; of how to integrate&nbsp; Kinesis into your applications.<\/p>\n<h4><strong>A Checklist of Requirements:<\/strong><\/h4>\n<p>1.A&nbsp;valid&nbsp;AWS&nbsp;account&nbsp;with&nbsp;access&nbsp;to AWS Kinesis.<\/p>\n<p>2.Secret&nbsp;key&nbsp;and&nbsp;access&nbsp;key&nbsp;for&nbsp;the&nbsp;account.<\/p>\n<p><em>Ingredients&nbsp;for&nbsp;the&nbsp;application<\/em><\/p>\n<p>1.&nbsp;A&nbsp;frontend,&nbsp;dummy&nbsp;website&nbsp;on&nbsp;which&nbsp;users&nbsp;will&nbsp;navigate,&nbsp;in&nbsp;JSP.<\/p>\n<p>2.&nbsp;&nbsp;Backend&nbsp;application&nbsp;(&nbsp;a&nbsp;Servlet&nbsp;)&nbsp;which&nbsp;will&nbsp;act&nbsp;as&nbsp;the&nbsp;producer&nbsp;for&nbsp;the&nbsp;stream.<\/p>\n<p>3.&nbsp;&nbsp;A&nbsp;kinesis&nbsp;stream&nbsp;with&nbsp;a&nbsp;single&nbsp;shard.<\/p>\n<p>4.&nbsp;PHP&nbsp;for&nbsp;analytics&nbsp;and&nbsp;a&nbsp;little&nbsp;bit&nbsp;of&nbsp;jQuery&nbsp;for&nbsp;&nbsp;jazzy&nbsp;little&nbsp;graphs!<\/p>\n<p><!--more--><\/p>\n<h4><strong>The Initial Design of the Kinesis Application:<\/strong><\/h4>\n<p>So&nbsp;let\u2019s&nbsp;start&nbsp;with&nbsp;the&nbsp;design&nbsp;of&nbsp;the&nbsp;application&nbsp;first&nbsp;\u2013<\/p>\n<p>How to set up an AWS Kinesis Application &#8211; The Producer<\/p>\n<p>As&nbsp;explained&nbsp;earlier&nbsp;&nbsp;an&nbsp;application&nbsp;using&nbsp;Kinesis&nbsp;will&nbsp;need&nbsp;three&nbsp;things:<\/p>\n<p>1.&nbsp;A&nbsp;&nbsp;Producer<\/p>\n<p>2.&nbsp;A&nbsp;Consumer<\/p>\n<p>3.&nbsp;And&nbsp;a&nbsp;Kinesis&nbsp;Stream<\/p>\n<h4><strong>Understanding the&nbsp;Kinesis&nbsp;Stream<\/strong><\/h4>\n<p>So&nbsp;the&nbsp;first&nbsp;thing&nbsp;we&nbsp;need&nbsp;will&nbsp;be&nbsp;a&nbsp;Stream.&nbsp;&nbsp;A&nbsp;stream&nbsp;can&nbsp;be&nbsp;created&nbsp;using&nbsp;APIs&nbsp;or&nbsp;the&nbsp;AWS&nbsp;management&nbsp;console.&nbsp;In&nbsp;thisexample&nbsp;we&nbsp;will&nbsp;go&nbsp;with&nbsp;a Stream&nbsp;created&nbsp;using&nbsp;the&nbsp;Management&nbsp;Console.&nbsp;Follow&nbsp;the&nbsp;steps&nbsp;given&nbsp;in&nbsp;the&nbsp;AWS&nbsp;Kinesis&nbsp;Documentation.&nbsp;(https:\/\/docs.aws.amazon.com\/kinesis\/latest\/dev\/step-one-create-stream.html)&nbsp;.It\u2019s&nbsp;pretty&nbsp;straight&nbsp;forward.<\/p>\n<p>So&nbsp;here&nbsp;I&nbsp;have&nbsp;created&nbsp;a&nbsp;stream&nbsp;and&nbsp;named&nbsp;it&nbsp;&nbsp;\u201cClickStream\u201d&nbsp;&nbsp;configured&nbsp;with&nbsp;a&nbsp;single&nbsp;Shard.<\/p>\n<p>Now&nbsp;that&nbsp;the&nbsp;Stream&nbsp;is&nbsp;created&nbsp;we&nbsp;need&nbsp;an&nbsp;application&nbsp;that&nbsp;will&nbsp;put&nbsp;data&nbsp;into&nbsp;the&nbsp;stream,&nbsp;i.e.&nbsp;a&nbsp;Producer.<\/p>\n<p>For&nbsp;this,&nbsp;we&nbsp;will&nbsp;create&nbsp;a&nbsp;dummy&nbsp;website&nbsp;with&nbsp;a&nbsp;little&nbsp;bit&nbsp;of&nbsp;&nbsp;jQuery&nbsp;to&nbsp;track&nbsp;the&nbsp;usage&nbsp;of&nbsp;the&nbsp;user&nbsp;on&nbsp;the&nbsp;website.&nbsp;This&nbsp;will&nbsp;be&nbsp;the&nbsp;source&nbsp;of&nbsp;data&nbsp;to&nbsp;the producer&nbsp;which&nbsp;in&nbsp;turn&nbsp;will&nbsp;be&nbsp;the&nbsp;source&nbsp;of&nbsp;&nbsp;data&nbsp;for&nbsp;the&nbsp;Kinesis&nbsp;Stream&nbsp;(\u2018ClickStream\u2019&nbsp;).<\/p>\n<p>As&nbsp;the&nbsp;user&nbsp;Clicks&nbsp;on&nbsp;the&nbsp;dummy&nbsp;website&nbsp;(&nbsp;54.80.53.243:8080&nbsp;)&nbsp;,&nbsp;details&nbsp;related&nbsp;to&nbsp;the&nbsp;user\u2019s&nbsp;clicks&nbsp;will&nbsp;be&nbsp;captured&nbsp;and&nbsp;sent&nbsp;to&nbsp;the&nbsp;Producer,&nbsp;in&nbsp;this&nbsp;case, the&nbsp;&nbsp;\u201cProducer\u201d&nbsp;servlet&nbsp;will&nbsp;act&nbsp;as&nbsp;the&nbsp;producer.<\/p>\n<p>Code&nbsp;for&nbsp;the&nbsp;dummy&nbsp;website&nbsp;along&nbsp;with&nbsp;the&nbsp;jQuery&nbsp;script&nbsp;for&nbsp;the&nbsp;tracking&nbsp;purpose&nbsp;is&nbsp;available&nbsp;\u201chere\u201d[&nbsp;https:\/\/s3-us-west-2.amazonaws.com\/stanytest\/KinesisBlog\/dummy_website.zip&nbsp;].<\/p>\n<p>I&nbsp;won\u2019t&nbsp;be&nbsp;going&nbsp;into&nbsp;the&nbsp;details&nbsp;of&nbsp;the&nbsp;dummy&nbsp;website&nbsp;and&nbsp;its&nbsp;jQuery&nbsp;part,&nbsp;instead&nbsp;we&nbsp;will&nbsp;be&nbsp;concentrating&nbsp;on&nbsp;the&nbsp;code&nbsp;on&nbsp;the&nbsp;Producer\u2019s&nbsp;part.<\/p>\n<h4 style=\"text-align: center;\">[How Big Data in the Retail world is Turning heads !]<\/h4>\n<h4><strong>The Producer Class, Put Constructor &amp; More&#8230;<\/strong><\/h4>\n<p>First&nbsp;of&nbsp;all&nbsp;we&nbsp;will&nbsp;need&nbsp;the&nbsp;Kinesis&nbsp;SDK&nbsp;,&nbsp;&nbsp;you&nbsp;can&nbsp;download&nbsp;it&nbsp;from&nbsp;here&nbsp;(.https:\/\/s3-us-west-2.amazonaws.com\/stanytest\/KinesisSDK\/AmazonKinesisSDK-preview.zip&nbsp;)<\/p>\n<p>(&nbsp;Note:&nbsp;Import&nbsp;these&nbsp;jar&nbsp;files&nbsp;into&nbsp;the&nbsp;project&nbsp;)<\/p>\n<p>Download&nbsp;the&nbsp;code&nbsp;for&nbsp;&nbsp;Producer&nbsp;from&nbsp;here&nbsp;[&nbsp;https:\/\/s3-us-west-2.amazonaws.com\/stanytest\/KinesisBlog\/KinesisBlog.zip&nbsp;]<\/p>\n<p>In&nbsp;the&nbsp;downloaded&nbsp;pack,&nbsp;there&nbsp;will&nbsp;be&nbsp;a&nbsp;folder&nbsp;named&nbsp;Kinesis&nbsp;Blog(&nbsp;Basically&nbsp;a&nbsp;NetBeans&nbsp;Project).<\/p>\n<p>We&nbsp;have&nbsp;a&nbsp;package&nbsp;named&nbsp;\u201cproducer\u201d&nbsp;within&nbsp;which&nbsp;reside&nbsp;two&nbsp;classes&nbsp;,namely,<\/p>\n<p>1.&nbsp;Producer<\/p>\n<p>2.&nbsp;Put<\/p>\n<p><strong>Producer&nbsp;Class&nbsp;:&nbsp;&nbsp;<\/strong>This&nbsp;class&nbsp;basically&nbsp;works&nbsp;as&nbsp;the&nbsp;endpoint&nbsp;to&nbsp;which&nbsp;all&nbsp;the&nbsp;data&nbsp;from&nbsp;our&nbsp;\u201cdummy&nbsp;website\u201d&nbsp;&nbsp;will&nbsp;be&nbsp;sent.&nbsp;After&nbsp;it&nbsp;\u201cGET\u201ds&nbsp;the&nbsp;data,&nbsp;the data&nbsp;is&nbsp;sent&nbsp;to&nbsp;the&nbsp;Put&nbsp;class.<\/p>\n<p><em>The&nbsp;Producer&nbsp;class:<\/em><\/p>\n<p>Producer Class Code for AWS Kinesis Application<\/p>\n<p>Put&nbsp;Class:&nbsp;Put&nbsp;class&nbsp;does&nbsp;the&nbsp;actual&nbsp;work&nbsp;of&nbsp;a&nbsp;Producer.&nbsp;So&nbsp;lets&nbsp;take&nbsp;a&nbsp;closer&nbsp;look&nbsp;at&nbsp;it.<\/p>\n<p><em>Put&#8217;s&nbsp;Constructor<\/em><\/p>\n<p>Put Constructure Code for AWS Kinesis Application<\/p>\n<p>Here&nbsp;in&nbsp;the&nbsp;constructor,&nbsp;we&nbsp;create&nbsp;a&nbsp;\u201cAmazonKinesisClient\u201d&nbsp;class&nbsp;object,&nbsp;with&nbsp;credentials&nbsp;provided&nbsp;as&nbsp;an&nbsp;object&nbsp;of&nbsp;the&nbsp;AWSCredentials&nbsp;class&nbsp;object.&nbsp;We then&nbsp;set&nbsp;the&nbsp;endpoint(&nbsp;Currently&nbsp;Kinesis&nbsp;is&nbsp;available&nbsp;only&nbsp;in&nbsp;the&nbsp;&nbsp;us-east&nbsp;).<\/p>\n<p>End Point for Put Constructor<\/p>\n<p>putData():<\/p>\n<p><strong>Some&nbsp;of&nbsp;the&nbsp;SDK&nbsp;classes&nbsp;and&nbsp;functions&nbsp;we&nbsp;will&nbsp;be&nbsp;using&nbsp;here&nbsp;include:<\/strong><\/p>\n<p>1.&nbsp;PutRecordRequest&nbsp;class<\/p>\n<p>2.&nbsp;setStreamName<\/p>\n<p>3.&nbsp;setData<\/p>\n<p>4.&nbsp;setPartitionKey<\/p>\n<p>5.&nbsp;putRecordResult<\/p>\n<p>6.&nbsp;putRecord<\/p>\n<p>Here&nbsp;we&nbsp;first&nbsp;specify&nbsp;our&nbsp;stream&nbsp;name.&nbsp;In&nbsp;our&nbsp;case,&nbsp;\u201cClickStream\u201d.<\/p>\n<p>We&nbsp;put&nbsp;the&nbsp;data&nbsp;we&nbsp;received&nbsp;through&nbsp;the&nbsp;PUTs&nbsp;from&nbsp;the&nbsp;dummy&nbsp;website&nbsp;&nbsp;into&nbsp;the&nbsp;stream&nbsp;using&nbsp;the&nbsp;&nbsp;\u201cputRecordRequest\u201d&nbsp;function.&nbsp;As&nbsp;defined&nbsp;by&nbsp;AWS,<\/p>\n<p>\u201cThe&nbsp;putRecordRequest&nbsp;(&nbsp;https:\/\/docs.aws.amazon.com\/AWSJavaSDK\/latest\/javadoc\/com\/amazonaws\/services\/kinesis\/model\/PutRecordRequest.html) operation&nbsp;puts&nbsp;a&nbsp;data&nbsp;record&nbsp;(&nbsp;or&nbsp;the&nbsp;data&nbsp;blob)&nbsp;into&nbsp;an&nbsp;Amazon&nbsp;Kinesis&nbsp;stream&nbsp;from&nbsp;a&nbsp;producer.&nbsp;This&nbsp;operation&nbsp;must&nbsp;be&nbsp;called&nbsp;to&nbsp;send&nbsp;data&nbsp;from&nbsp;the producer into&nbsp;the&nbsp;Amazon&nbsp;Kinesis&nbsp;stream&nbsp;for&nbsp;real time&nbsp;ingestion&nbsp;and&nbsp;subsequent&nbsp;processing. The&nbsp;PutRecord&nbsp;operation&nbsp;requires&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;stream&nbsp;that&nbsp;captures,&nbsp;stores,and&nbsp;transports&nbsp;the&nbsp;data;&nbsp;a&nbsp;partition&nbsp;key;&nbsp;and&nbsp;the&nbsp;data&nbsp;blob&nbsp;itself&nbsp;\u201d<\/p>\n<p><strong>We&nbsp;specify&nbsp;the&nbsp;above&nbsp;described&nbsp;parameters&nbsp;using:<\/strong><\/p>\n<p>1.<strong>&nbsp;setStreamName()<\/strong>&nbsp;function&nbsp;to&nbsp;set&nbsp;the&nbsp;stream&nbsp;name&nbsp;into&nbsp;which&nbsp;the&nbsp;data&nbsp;needs&nbsp;to&nbsp;be&nbsp;PUT.<\/p>\n<p>2<strong>.&nbsp;setData<\/strong>:&nbsp;The&nbsp;blob&nbsp;of&nbsp;data&nbsp;that&nbsp;will&nbsp;be&nbsp;put&nbsp;into&nbsp;the&nbsp;stream.&nbsp;In&nbsp;our&nbsp;case,&nbsp;\u201cfileContent\u201d&nbsp;will&nbsp;be&nbsp;the&nbsp;blob&nbsp;of&nbsp;data<\/p>\n<p>The&nbsp;data&nbsp;blob&nbsp;could&nbsp;be&nbsp;a&nbsp;segment&nbsp;from&nbsp;a&nbsp;log&nbsp;file,&nbsp;geographic\/location&nbsp;data,&nbsp;website&nbsp;clickstream&nbsp;data,&nbsp;or&nbsp;any&nbsp;other&nbsp;data&nbsp;type[amazon&nbsp;documentation]. The&nbsp;maximum&nbsp;length&nbsp;of&nbsp;this&nbsp;data&nbsp;blob&nbsp;can&nbsp;be&nbsp;256&nbsp;bytes.<\/p>\n<p>3.&nbsp;<strong>setPartitionKey():<\/strong>[link&nbsp;to&nbsp;the&nbsp;highway&nbsp;example]:&nbsp;Determines&nbsp;which&nbsp;shard&nbsp;in&nbsp;the&nbsp;stream&nbsp;the&nbsp;data&nbsp;record&nbsp;is&nbsp;assigned&nbsp;to.&nbsp;Here&nbsp;we&nbsp;will&nbsp;set&nbsp;the&nbsp;partition&nbsp;key&nbsp;as&nbsp;the&nbsp;users&nbsp;unique&nbsp;session-id<\/p>\n<p><strong>putRecord:<\/strong>&nbsp;This&nbsp;function&nbsp;is&nbsp;provided&nbsp;with&nbsp;the&nbsp;object&nbsp;of&nbsp;the&nbsp;PutRecordRequest&nbsp;class&nbsp;as&nbsp;a&nbsp;parameter&nbsp;.&nbsp;It&nbsp;places&nbsp;the&nbsp;records&nbsp;into&nbsp;the&nbsp;stream.&nbsp;putRecord returns&nbsp;the&nbsp;shard&nbsp;ID&nbsp;of&nbsp;where&nbsp;the&nbsp;data&nbsp;record&nbsp;was&nbsp;placed&nbsp;and&nbsp;the&nbsp;sequence&nbsp;number&nbsp;that&nbsp;was&nbsp;assigned&nbsp;to&nbsp;the&nbsp;data&nbsp;record.<\/p>\n<p><strong>PutRecordResult&nbsp;:<\/strong>&nbsp;Represents&nbsp;the&nbsp;output&nbsp;of&nbsp;a&nbsp;PutRecord&nbsp;operation.&nbsp;Using&nbsp;the&nbsp;functions&nbsp;of&nbsp;this&nbsp;class&nbsp;we&nbsp;can&nbsp;see&nbsp;the&nbsp;shard-id&nbsp;into&nbsp;which&nbsp;the&nbsp;record&nbsp;was&nbsp;placed&nbsp;,&nbsp;the&nbsp;partition&nbsp;key&nbsp;used&nbsp;and&nbsp;also&nbsp;the&nbsp;sequence&nbsp;number&nbsp;of&nbsp;the&nbsp;record.<\/p>\n<p>If&nbsp;all&nbsp;goes&nbsp;well,&nbsp;we&nbsp;would&nbsp;be&nbsp;ready&nbsp;with&nbsp;a&nbsp;basic&nbsp;Producer&nbsp;application!!&nbsp;So&nbsp;now&nbsp;the&nbsp;flow&nbsp;of&nbsp;the&nbsp;application&nbsp;that&nbsp;we&nbsp;have&nbsp;completed&nbsp;till&nbsp;now:<\/p>\n<p>How to set up an AWS Kinesis Application &#8211; The Producer &#8211; Complete<\/p>\n<h4><strong>Some Interesting Reads on Big Data:<\/strong><\/h4>\n<p>1. Learn How Amazon Kinesis Solves the Big Data Puzzle<br \/>\n2.&nbsp;Manoeuvering Through the Big Data Highway (Shards) with Amazon Kinesis<br \/>\n3.&nbsp;Setting the Stage to Design a Kinesis Application on AWS Cloud \u2013 The High Level Architecture<\/p>\n<p style=\"text-align: center;\">\n","protected":false},"excerpt":{"rendered":"<p>Image Courtesy : acumen.sg We know what Kinesis exactly is, from our earlier discussions, but only theoretically! Let us carry out some hands-on training so that our picture about Kinesis is much more clear. So what we will be building today using Kinesis, is a very basic application that will track user activity on our [&hellip;]<\/p>\n","protected":false},"author":192,"featured_media":17116,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1407],"tags":[2768,2739,2770,2772,2773,2775],"class_list":["post-29704","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-big-data-on-aws-india","tag-aws-application-building-india","tag-aws-kinesis-asean","tag-aws-kinesis-india","tag-aws-kinesis-how-to-create-a-producer-india","tag-aws-kinesis-real-time-application-india","tag-aws-real-time-big-data-india"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Building a Live AWS Kinesis Application - The Producer Class, Put Constructor &amp; more... - Blazeclan<\/title>\n<meta name=\"description\" content=\"We know what Kinesis exactly is, from our earlier discussions, but only theoretically! Let us carry out some hands-on training so that our picture about Kinesis is much more clear.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building a Live AWS Kinesis Application - The Producer Class, Put Constructor &amp; more... - Blazeclan\" \/>\n<meta property=\"og:description\" content=\"We know what Kinesis exactly is, from our earlier discussions, but only theoretically! Let us carry out some hands-on training so that our picture about Kinesis is much more clear.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/\" \/>\n<meta property=\"og:site_name\" content=\"Blazeclan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/blazeclan.hq\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-25T12:57:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-06T09:52:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1650\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Team Blazeclan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@blazeclan_hq\" \/>\n<meta name=\"twitter:site\" content=\"@blazeclan_hq\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Team Blazeclan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/\"},\"author\":{\"name\":\"Team Blazeclan\",\"@id\":\"https:\/\/blazeclan.com\/india\/#\/schema\/person\/779910eccddff4a1ea6663b6bfb271e8\"},\"headline\":\"Building a Live AWS Kinesis Application &#8211; The Producer Class, Put Constructor &#038; more&#8230;\",\"datePublished\":\"2022-11-25T12:57:10+00:00\",\"dateModified\":\"2023-03-06T09:52:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/\"},\"wordCount\":1868,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blazeclan.com\/india\/#organization\"},\"image\":{\"@id\":\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png\",\"keywords\":[\"AWS Application Building\",\"AWS Kinesis\",\"AWS Kinesis\",\"AWS Kinesis how to create a producer\",\"AWS Kinesis Real Time Application\",\"AWS Real Time Big Data\"],\"articleSection\":[\"Big Data on AWS\"],\"inLanguage\":\"en-IN\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/\",\"url\":\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/\",\"name\":\"Building a Live AWS Kinesis Application - The Producer Class, Put Constructor & more... - Blazeclan\",\"isPartOf\":{\"@id\":\"https:\/\/blazeclan.com\/india\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png\",\"datePublished\":\"2022-11-25T12:57:10+00:00\",\"dateModified\":\"2023-03-06T09:52:50+00:00\",\"description\":\"We know what Kinesis exactly is, from our earlier discussions, but only theoretically! Let us carry out some hands-on training so that our picture about Kinesis is much more clear.\",\"breadcrumb\":{\"@id\":\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#breadcrumb\"},\"inLanguage\":\"en-IN\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-IN\",\"@id\":\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#primaryimage\",\"url\":\"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png\",\"contentUrl\":\"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png\",\"width\":1650,\"height\":680},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blazeclan.com\/india\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a Live AWS Kinesis Application &#8211; The Producer Class, Put Constructor &#038; more&#8230;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blazeclan.com\/india\/#website\",\"url\":\"https:\/\/blazeclan.com\/india\/\",\"name\":\"Blazeclan\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/blazeclan.com\/india\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blazeclan.com\/india\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-IN\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blazeclan.com\/india\/#organization\",\"name\":\"Blazeclan\",\"url\":\"https:\/\/blazeclan.com\/india\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-IN\",\"@id\":\"https:\/\/blazeclan.com\/india\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blazeclan.com\/wp-content\/uploads\/2024\/10\/ITCI-Blazeclan_logo.svg\",\"contentUrl\":\"https:\/\/blazeclan.com\/wp-content\/uploads\/2024\/10\/ITCI-Blazeclan_logo.svg\",\"caption\":\"Blazeclan\"},\"image\":{\"@id\":\"https:\/\/blazeclan.com\/india\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/blazeclan.hq\/\",\"https:\/\/x.com\/blazeclan_hq\",\"https:\/\/www.instagram.com\/blazeclantechnologies\/\",\"https:\/\/www.linkedin.com\/company\/blazeclan-technologies\/\",\"https:\/\/www.youtube.com\/channel\/UCCKF4Lcbtus-pUoZr7Lxrow\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blazeclan.com\/india\/#\/schema\/person\/779910eccddff4a1ea6663b6bfb271e8\",\"name\":\"Team Blazeclan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-IN\",\"@id\":\"https:\/\/blazeclan.com\/india\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a43c1fa01bb3c7e839254c9084bf11ed422d7e633231f9e935096045af416ba2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a43c1fa01bb3c7e839254c9084bf11ed422d7e633231f9e935096045af416ba2?s=96&d=mm&r=g\",\"caption\":\"Team Blazeclan\"},\"sameAs\":[\"http:\/\/localhost\/ps-local-wp\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building a Live AWS Kinesis Application - The Producer Class, Put Constructor & more... - Blazeclan","description":"We know what Kinesis exactly is, from our earlier discussions, but only theoretically! Let us carry out some hands-on training so that our picture about Kinesis is much more clear.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/","og_locale":"en_US","og_type":"article","og_title":"Building a Live AWS Kinesis Application - The Producer Class, Put Constructor & more... - Blazeclan","og_description":"We know what Kinesis exactly is, from our earlier discussions, but only theoretically! Let us carry out some hands-on training so that our picture about Kinesis is much more clear.","og_url":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/","og_site_name":"Blazeclan","article_publisher":"https:\/\/www.facebook.com\/blazeclan.hq\/","article_published_time":"2022-11-25T12:57:10+00:00","article_modified_time":"2023-03-06T09:52:50+00:00","og_image":[{"width":1650,"height":680,"url":"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png","type":"image\/png"}],"author":"Team Blazeclan","twitter_card":"summary_large_image","twitter_creator":"@blazeclan_hq","twitter_site":"@blazeclan_hq","twitter_misc":{"Written by":"Team Blazeclan","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#article","isPartOf":{"@id":"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/"},"author":{"name":"Team Blazeclan","@id":"https:\/\/blazeclan.com\/india\/#\/schema\/person\/779910eccddff4a1ea6663b6bfb271e8"},"headline":"Building a Live AWS Kinesis Application &#8211; The Producer Class, Put Constructor &#038; more&#8230;","datePublished":"2022-11-25T12:57:10+00:00","dateModified":"2023-03-06T09:52:50+00:00","mainEntityOfPage":{"@id":"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/"},"wordCount":1868,"commentCount":0,"publisher":{"@id":"https:\/\/blazeclan.com\/india\/#organization"},"image":{"@id":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#primaryimage"},"thumbnailUrl":"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png","keywords":["AWS Application Building","AWS Kinesis","AWS Kinesis","AWS Kinesis how to create a producer","AWS Kinesis Real Time Application","AWS Real Time Big Data"],"articleSection":["Big Data on AWS"],"inLanguage":"en-IN","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blazeclan.com\/india\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/","url":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/","name":"Building a Live AWS Kinesis Application - The Producer Class, Put Constructor & more... - Blazeclan","isPartOf":{"@id":"https:\/\/blazeclan.com\/india\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#primaryimage"},"image":{"@id":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#primaryimage"},"thumbnailUrl":"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png","datePublished":"2022-11-25T12:57:10+00:00","dateModified":"2023-03-06T09:52:50+00:00","description":"We know what Kinesis exactly is, from our earlier discussions, but only theoretically! Let us carry out some hands-on training so that our picture about Kinesis is much more clear.","breadcrumb":{"@id":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#breadcrumb"},"inLanguage":"en-IN","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/"]}]},{"@type":"ImageObject","inLanguage":"en-IN","@id":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#primaryimage","url":"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png","contentUrl":"https:\/\/blazeclan.com\/wp-content\/uploads\/2014\/02\/Building-a-Live-AWS-Kinesis-Application-1.png","width":1650,"height":680},{"@type":"BreadcrumbList","@id":"https:\/\/blazeclan.com\/blog\/building-live-aws-kinesis-application-producer-code-sdk-required\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blazeclan.com\/india\/"},{"@type":"ListItem","position":2,"name":"Building a Live AWS Kinesis Application &#8211; The Producer Class, Put Constructor &#038; more&#8230;"}]},{"@type":"WebSite","@id":"https:\/\/blazeclan.com\/india\/#website","url":"https:\/\/blazeclan.com\/india\/","name":"Blazeclan","description":"","publisher":{"@id":"https:\/\/blazeclan.com\/india\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blazeclan.com\/india\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-IN"},{"@type":"Organization","@id":"https:\/\/blazeclan.com\/india\/#organization","name":"Blazeclan","url":"https:\/\/blazeclan.com\/india\/","logo":{"@type":"ImageObject","inLanguage":"en-IN","@id":"https:\/\/blazeclan.com\/india\/#\/schema\/logo\/image\/","url":"https:\/\/blazeclan.com\/wp-content\/uploads\/2024\/10\/ITCI-Blazeclan_logo.svg","contentUrl":"https:\/\/blazeclan.com\/wp-content\/uploads\/2024\/10\/ITCI-Blazeclan_logo.svg","caption":"Blazeclan"},"image":{"@id":"https:\/\/blazeclan.com\/india\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/blazeclan.hq\/","https:\/\/x.com\/blazeclan_hq","https:\/\/www.instagram.com\/blazeclantechnologies\/","https:\/\/www.linkedin.com\/company\/blazeclan-technologies\/","https:\/\/www.youtube.com\/channel\/UCCKF4Lcbtus-pUoZr7Lxrow"]},{"@type":"Person","@id":"https:\/\/blazeclan.com\/india\/#\/schema\/person\/779910eccddff4a1ea6663b6bfb271e8","name":"Team Blazeclan","image":{"@type":"ImageObject","inLanguage":"en-IN","@id":"https:\/\/blazeclan.com\/india\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a43c1fa01bb3c7e839254c9084bf11ed422d7e633231f9e935096045af416ba2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a43c1fa01bb3c7e839254c9084bf11ed422d7e633231f9e935096045af416ba2?s=96&d=mm&r=g","caption":"Team Blazeclan"},"sameAs":["http:\/\/localhost\/ps-local-wp"]}]}},"_links":{"self":[{"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/posts\/29704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/users\/192"}],"replies":[{"embeddable":true,"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/comments?post=29704"}],"version-history":[{"count":0,"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/posts\/29704\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/media\/17116"}],"wp:attachment":[{"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/media?parent=29704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/categories?post=29704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blazeclan.com\/india\/wp-json\/wp\/v2\/tags?post=29704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}