{"id":7665,"date":"2019-09-13T10:57:08","date_gmt":"2019-09-13T17:57:08","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7665"},"modified":"2023-05-25T04:15:24","modified_gmt":"2023-05-25T11:15:24","slug":"ingest-data-into-confluent-kafka-via-couchbase-kafka-connector","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","title":{"rendered":"Utiliza\u00e7\u00e3o do conector Kafka do Couchbase para ingest\u00e3o de dados"},"content":{"rendered":"<p class=\"graf graf--p graf--hasDropCapModel graf--hasDropCap\"><span class=\"graf-dropCap\">O p<\/span>O objetivo \u00e9 muito simples: no mundo das tecnologias d\u00edspares em que uma n\u00e3o funciona ou n\u00e3o se integra bem \u00e0 outra, o Couchbase e o Confluent Kafka s\u00e3o produtos incr\u00edveis e extremamente complementares entre si. O Couchbase \u00e9 um banco de dados NoSQL JSON distribu\u00eddo e linearmente dimension\u00e1vel. Seu principal caso de uso \u00e9 para qualquer aplicativo\/servi\u00e7o da Web que exija um \u00fanico d\u00edgito <em class=\"markup--em markup--p-em\">ms<\/em> lat\u00eancia de resposta de leitura\/grava\u00e7\u00e3o\/atualiza\u00e7\u00e3o. Ele pode ser usado como sistema de registro (SoR) ou camada de cache para dados transit\u00f3rios de muta\u00e7\u00e3o r\u00e1pida ou descarregar o Db2\/Oracle\/SQL Server etc. para que os servi\u00e7os downstream possam consumir dados do Couchbase.<\/p>\n<p class=\"graf graf--p graf--hasDropCapModel graf--hasDropCap\"><span class=\"graf-dropCap\">C<\/span>O Confluent Kafka \u00e9 uma plataforma completa de streaming distribu\u00eddo que tamb\u00e9m \u00e9 linearmente dimension\u00e1vel e capaz de lidar com trilh\u00f5es de eventos em um dia. A Confluent Platform facilita a cria\u00e7\u00e3o de pipelines de dados em tempo real e aplicativos de streaming, integrando dados de v\u00e1rias fontes e locais em uma \u00fanica plataforma central de streaming de eventos para sua empresa.<\/p>\n<p class=\"graf graf--p\">Nesta postagem do blog, abordaremos como podemos mover dados do Couchbase e envi\u00e1-los para um t\u00f3pico do Confluent kafka como evento de replica\u00e7\u00e3o.<\/p>\n<p class=\"graf graf--p\">O conector do Couchbase Kafka transfere documentos do Couchbase de forma eficiente e confi\u00e1vel usando o protocolo de replica\u00e7\u00e3o interno do Couchbase, <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/developer.couchbase.com\/documentation\/server\/3.x\/admin\/Concepts\/dcp.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/developer.couchbase.com\/documentation\/server\/3.x\/admin\/Concepts\/dcp.html\">DCP<\/a>. Cada altera\u00e7\u00e3o ou exclus\u00e3o do documento gera um evento de replica\u00e7\u00e3o, que \u00e9 enviado para o t\u00f3pico do Kafka configurado.<\/p>\n<p class=\"graf graf--p\">O conector Kafka pode ser usado para mover dados para fora do Couchbase e mover dados do Kafka para o Couchbase usando o conector sink. Para este blog, configuraremos e usaremos o conector de origem.<\/p>\n<p class=\"graf graf--p\">Em alto n\u00edvel, o diagrama de arquitetura tem a seguinte apar\u00eancia<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7667\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM.png\" alt=\"\" width=\"912\" height=\"516\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM.png 912w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM-300x170.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM-768x435.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM-20x11.png 20w\" sizes=\"auto, (max-width: 912px) 100vw, 912px\" \/><\/p>\n<h3 class=\"graf graf--p\"><strong class=\"markup--strong markup--p-strong\">Pr\u00e9-requisitos<\/strong><\/h3>\n<p class=\"graf graf--p\">Cluster do Couchbase com a vers\u00e3o 5.X ou superior. Baixar o Couchbase <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/downloads\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/www.couchbase.com\/downloads\/\">aqui<\/a><\/p>\n<p class=\"graf graf--p\">Conector kafka do Couchbase. Baixar o conector kafka do Couchbase <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\">aqui<\/a><\/p>\n<p class=\"graf graf--p\">Confluent Kafka. Baixar o Confluent Kafka <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.confluent.io\/download\/?_ga=2.238347459.212475563.1568179093-799828595.1565135434\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/www.confluent.io\/download\/?_ga=2.238347459.212475563.1568179093-799828595.1565135434\">aqui<\/a><\/p>\n<p class=\"graf graf--p\">A configura\u00e7\u00e3o do cluster do Couchbase est\u00e1 fora do escopo desta postagem do blog. No entanto, discutiremos a configura\u00e7\u00e3o do Confluent kafka e do conector kafka do Couchbase para mover dados para fora do Couchbase.<\/p>\n<h4 class=\"graf graf--p\"><strong class=\"markup--strong markup--p-strong\">Configura\u00e7\u00e3o do Confluent Kafka<\/strong><\/h4>\n<p class=\"graf graf--p\">Descompacte o pacote baixado acima em uma VM\/pod. Para fins deste blog, implantei um pod do Ubuntu em um cluster do Kubernetes em execu\u00e7\u00e3o no GKE.<\/p>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">$ tar -zxf confluent-5.2.1\u20132.12.tar.gz<\/pre>\n<\/blockquote>\n<p class=\"graf graf--p\">Antes de instalar o confluent kafka, \u00e9 necess\u00e1rio que os computadores tenham a vers\u00e3o java 8.<\/p>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">root@kafkaconnector:\/# java -version<\/pre>\n<\/blockquote>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">openjdk version \u201c1.8.0_222\u201d<\/pre>\n<\/blockquote>\n<h5 class=\"graf graf--p\">Instalar\/iniciar o kafka<\/h5>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">$ cd confluent-5.2.1<\/pre>\n<\/blockquote>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">$ export PATH=$PATH:~\/confluent-5.2.1\/bin\r\n$ confluent start<\/pre>\n<\/blockquote>\n<p class=\"graf graf--p\">O kafka tem os seguintes processos, que devem estar todos ativos.<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">zookeeper is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">kafka is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">schema-registry is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">kafka-rest is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">connect is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">ksql-server is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">control-center is [UP]<\/em><\/pre>\n<p class=\"graf graf--p\">O pod que executa o confluent kafka pode ser exposto por meio do servi\u00e7o NodePort \u00e0 m\u00e1quina\/laptop local. O arquivo do pod do aplicativo \u00e9 <a href=\"https:\/\/github.com\/ramdhakne\/blogs\/blob\/master\/external-connectivity\/assets\/app_pod.yaml\">aqui<\/a>. O arquivo yaml do servi\u00e7o \u00e9 <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/github.com\/ramdhakne\/cb-connectors\/blob\/master\/kafka\/assets\/app_svc.yaml\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/github.com\/ramdhakne\/cb-connectors\/blob\/master\/kafka\/assets\/app_svc.yaml\">aqui<\/a><\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">$ kubectl get svc -n mynamespace<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 TYPE\u00a0 \u00a0 \u00a0 CLUSTER-IP\u00a0 \u00a0EXTERNAL-IP PORT(S)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0AGE<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">app-service ClusterIP 10.51.248.154\u00a0 \u00a0 &lt;none&gt;\u00a0 \u00a0 \u00a0 \u00a0 \u00a09021\/TCP,8083\/TCP\u00a0 115s<\/em><\/pre>\n<p class=\"graf graf--p\">Encaminhar o servi\u00e7o para a porta local 9021<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">$ kubectl port-forward service\/app-service 9021:9021\u200a\u200a-- namespace cbdb<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">Forwarding from 127.0.0.1:9021 -&gt; 9021<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">Forwarding from [::1]:9021 -&gt; 9021<\/em><\/pre>\n<p class=\"graf graf--p\">Acesse a URL: <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/localhost:9021\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/localhost:9021\"><em class=\"markup--em markup--p-em\">https:\/\/localhost:9021<\/em><\/a><\/p>\n<figure class=\"graf graf--figure\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*J751RKXgrpim7xG2AMbZBQ.png\" data-image-id=\"1*J751RKXgrpim7xG2AMbZBQ.png\" data-width=\"2874\" data-height=\"1428\" \/><figcaption class=\"imageCaption\">Acesse a interface do usu\u00e1rio do Confluent Kafka<\/figcaption><\/figure>\n<p class=\"graf graf--p\"><strong class=\"markup--strong markup--p-strong\">Configura\u00e7\u00e3o do conector Kafka do Couchbase<\/strong><\/p>\n<p class=\"graf graf--p\">Descompacte o pacote baixado acima<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">$ unzip kafka-connect-couchbase-3.4.5.zip<\/em><\/pre>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">$ cd kafka-connect-couchbase-3.4.5\/<\/em>configura\u00e7\u00e3o<\/pre>\n<p class=\"graf graf--p\">Editar arquivo <em class=\"markup--em markup--p-em\">quickstart-couchbase-source.properties<\/em> com (pelo menos) as seguintes informa\u00e7\u00f5es<\/p>\n<p class=\"graf graf--p\">Cadeia de conex\u00e3o do cluster<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">connection.cluster_address=cb-demo-0000.cb-demo.default.svc.cluster.local<\/em><\/pre>\n<p class=\"graf graf--p\">nome do bucket e credenciais de acesso ao bucket<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">connection.bucket=travel-sample\r\nconnection.username=Administrator\r\nconnection.password=pa$$word<\/em><\/pre>\n<p><strong>Observa\u00e7\u00e3o:<\/strong> Insira as credenciais do bucket para o qual voc\u00ea deseja mover os dados. No meu exemplo, estou usando o bucket travel-sample, com as credenciais de usu\u00e1rio do bucket.<\/p>\n<p class=\"graf graf--p\">Exportar a vari\u00e1vel CONFLUENT_HOME<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">export CONFLUENT_HOME=\/root\/confluent-5.2.1<\/em><\/pre>\n<p class=\"graf graf--p\">Iniciar o conector kafka<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">env CLASSPATH=.\/* connect-standalone $CONFLUENT_HOME\/etc\/schema-registry\/connect-avro-standalone.properties config\/quickstart-couchbase-source.properties<\/em><\/pre>\n<p class=\"graf graf--p\">Quando o conector \u00e9 iniciado, ele cria um t\u00f3pico do kafka com o nome <em class=\"markup--em markup--p-em\">cb-topic <\/em>e podemos ver todos os documentos do Couchbase <em class=\"markup--em markup--p-em\">amostra de viagem<\/em> o balde \u00e9 transferido para o t\u00f3pico do kafka <em class=\"markup--em markup--p-em\">cb-topic <\/em>como eventos<\/p>\n<figure class=\"graf graf--figure\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*sMvmLmlIrG676cAZA5PCLA.png\" data-image-id=\"1*sMvmLmlIrG676cAZA5PCLA.png\" data-width=\"2852\" data-height=\"330\" \/><figcaption class=\"imageCaption\">Eventos no t\u00f3pico do kafka\u00a0<em class=\"markup--em markup--figure-em\">cb-topic<\/em><\/figcaption><\/figure>\n<h4 class=\"graf graf--p\">Conclus\u00e3o<\/h4>\n<p class=\"graf graf--p\">Em quest\u00e3o de minutos, \u00e9 poss\u00edvel integrar o Couchbase e o Confluent Kafka. A facilidade de uso, a implementa\u00e7\u00e3o e a capacidade de suporte s\u00e3o fatores fundamentais no uso da tecnologia. Nesta postagem do blog, vimos que \u00e9 poss\u00edvel mover facilmente os dados do Couchbase para um t\u00f3pico do Kafka. Quando os dados estiverem no t\u00f3pico do Kafka, usando o KSQL, ser\u00e1 poss\u00edvel criar aplicativos de processamento de fluxo em tempo real que atendam \u00e0s necessidades dos neg\u00f3cios.<\/p>\n<h4 class=\"graf graf--p\">Refer\u00eancias:<\/h4>\n<ol class=\"postList\">\n<li class=\"graf graf--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/docs.confluent.io\/current\/quickstart\/ce-quickstart.html#ce-quickstart\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/docs.confluent.io\/current\/quickstart\/ce-quickstart.html#ce-quickstart\">https:\/\/docs.confluent.io\/current\/quickstart\/ce-quickstart.html#ce-quickstart<\/a><\/li>\n<li class=\"graf graf--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\">https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html<\/a><\/li>\n<li class=\"graf graf--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/source-configuration-options.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/source-configuration-options.html\">https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/source-configuration-options.html<\/a><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>The premise is very simple: in the world of disparate technologies where one does not works or integrates well together, Couchbase &amp; Confluent Kafka are amazing products and are extremely complementary to each other. Couchbase is linearly scalable, distributed NoSQL [&hellip;]<\/p>","protected":false},"author":12023,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,2242,2225,2389,2201],"tags":[1295,1487],"ppma_author":[9071],"class_list":["post-7665","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-connectors","category-cloud","category-solutions","category-tools-sdks","tag-connectors","tag-kafka"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Utilizing Couchbase Kafka Connector to Ingest Data - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"In this blog post we will cover how seamlessly we can move data out of Couchbase and push into a Confluent Kafka topic as replication event.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Utilizing Couchbase Kafka Connector to Ingest Data\" \/>\n<meta property=\"og:description\" content=\"In this blog post we will cover how seamlessly we can move data out of Couchbase and push into a Confluent Kafka topic as replication event.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-13T17:57:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-25T11:15:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM.png\" \/>\n<meta name=\"author\" content=\"Ram Dhakne\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ram Dhakne\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\"},\"author\":{\"name\":\"Ram Dhakne\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/219548e728c73c6f1ae06f994ebbfb13\"},\"headline\":\"Utilizing Couchbase Kafka Connector to Ingest Data\",\"datePublished\":\"2019-09-13T17:57:08+00:00\",\"dateModified\":\"2023-05-25T11:15:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\"},\"wordCount\":593,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"connectors\",\"kafka\"],\"articleSection\":[\"Application Design\",\"Connectors\",\"Couchbase Capella\",\"Solutions\",\"Tools &amp; SDKs\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\",\"name\":\"Utilizing Couchbase Kafka Connector to Ingest Data - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2019-09-13T17:57:08+00:00\",\"dateModified\":\"2023-05-25T11:15:24+00:00\",\"description\":\"In this blog post we will cover how seamlessly we can move data out of Couchbase and push into a Confluent Kafka topic as replication event.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Utilizing Couchbase Kafka Connector to Ingest Data\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/219548e728c73c6f1ae06f994ebbfb13\",\"name\":\"Ram Dhakne\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/0f4c71d7c27bda26464a202747e04acd\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g\",\"caption\":\"Ram Dhakne\"},\"description\":\"Ram Dhakne is Solutions Consultant - US West at Couchbase. He currently helps Enterprise customers with their digital innovations journey and helping them adopt NoSQL technologies. His current interests are running persistent applications like Couchbase NoSQL server on Kubernetes clusters running on AKS, GKE, ACS and OpenShift, securing end-to-end on kubernetes. In his past life has worked on IaaS platforms (AWS, GCP, Azure &amp; Private Clouds), Enterprise Backup Target Products &amp; Backup Applications.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/ram-dhaknecouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Utilizing Couchbase Kafka Connector to Ingest Data - The Couchbase Blog","description":"Nesta postagem do blog, abordaremos como podemos mover dados do Couchbase e envi\u00e1-los para um t\u00f3pico do Confluent Kafka como evento de replica\u00e7\u00e3o.","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:\/\/www.couchbase.com\/blog\/pt\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","og_locale":"pt_BR","og_type":"article","og_title":"Utilizing Couchbase Kafka Connector to Ingest Data","og_description":"In this blog post we will cover how seamlessly we can move data out of Couchbase and push into a Confluent Kafka topic as replication event.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-09-13T17:57:08+00:00","article_modified_time":"2023-05-25T11:15:24+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM.png","type":"","width":"","height":""}],"author":"Ram Dhakne","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ram Dhakne","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/"},"author":{"name":"Ram Dhakne","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/219548e728c73c6f1ae06f994ebbfb13"},"headline":"Utilizing Couchbase Kafka Connector to Ingest Data","datePublished":"2019-09-13T17:57:08+00:00","dateModified":"2023-05-25T11:15:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/"},"wordCount":593,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["connectors","kafka"],"articleSection":["Application Design","Connectors","Couchbase Capella","Solutions","Tools &amp; SDKs"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","url":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","name":"Utilizing Couchbase Kafka Connector to Ingest Data - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2019-09-13T17:57:08+00:00","dateModified":"2023-05-25T11:15:24+00:00","description":"Nesta postagem do blog, abordaremos como podemos mover dados do Couchbase e envi\u00e1-los para um t\u00f3pico do Confluent Kafka como evento de replica\u00e7\u00e3o.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Utilizing Couchbase Kafka Connector to Ingest Data"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/219548e728c73c6f1ae06f994ebbfb13","name":"Ram Dhakne","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/0f4c71d7c27bda26464a202747e04acd","url":"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g","caption":"Ram Dhakne"},"description":"Ram Dhakne \u00e9 consultor de solu\u00e7\u00f5es - Oeste dos EUA na Couchbase. Atualmente, ele ajuda clientes corporativos em sua jornada de inova\u00e7\u00f5es digitais e os ajuda a adotar tecnologias NoSQL. Seus interesses atuais s\u00e3o executar aplicativos persistentes como o servidor NoSQL Couchbase em clusters Kubernetes executados em AKS, GKE, ACS e OpenShift, protegendo de ponta a ponta no Kubernetes. Em sua vida pregressa, trabalhou em plataformas IaaS (AWS, GCP, Azure e nuvens privadas), produtos-alvo de backup corporativo e aplicativos de backup.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/ram-dhaknecouchbase-com\/"}]}},"authors":[{"term_id":9071,"user_id":12023,"is_guest":0,"slug":"ram-dhaknecouchbase-com","display_name":"Ram Dhakne","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g","author_category":"","last_name":"Dhakne","first_name":"Ram","job_title":"","user_url":"","description":"Ram Dhakne \u00e9 consultor de solu\u00e7\u00f5es - Oeste dos EUA na Couchbase. Atualmente, ele ajuda clientes corporativos em sua jornada de inova\u00e7\u00f5es digitais e os ajuda a adotar tecnologias NoSQL. Seus interesses atuais s\u00e3o executar aplicativos persistentes como o servidor NoSQL Couchbase em clusters Kubernetes executados em AKS, GKE, ACS e OpenShift, protegendo de ponta a ponta no Kubernetes. Em sua vida pregressa, trabalhou em plataformas IaaS (AWS, GCP, Azure e nuvens privadas), produtos-alvo de backup corporativo e aplicativos de backup."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/12023"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=7665"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7665\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=7665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=7665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=7665"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=7665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}