{"id":15985,"date":"2024-07-01T08:00:48","date_gmt":"2024-07-01T15:00:48","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=15985"},"modified":"2025-06-13T21:07:20","modified_gmt":"2025-06-14T04:07:20","slug":"announcing-general-availability-of-the-cpp-sdk-for-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","title":{"rendered":"Anunciando a disponibilidade geral do SDK C++ para o Couchbase"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">\u00c9 com grande satisfa\u00e7\u00e3o que anunciamos a disponibilidade geral (GA) do <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">SDK C++ <\/span><\/a><span style=\"font-weight: 400;\">para o Couchbase! Esta vers\u00e3o adiciona suporte para a linguagem C++ nativa ao nosso conjunto abrangente existente de <\/span><a href=\"https:\/\/docs.couchbase.com\/home\/index.html\"><span style=\"font-weight: 400;\">Bibliotecas do SDK<\/span><\/a><span style=\"font-weight: 400;\"> em 11 linguagens de programa\u00e7\u00e3o e representa um marco significativo em nosso compromisso de fornecer ferramentas robustas e de alto desempenho para que os desenvolvedores criem aplicativos modernos e dimension\u00e1veis. De fato, esse SDK C++ \u00e9 a biblioteca principal por tr\u00e1s de nosso <\/span><a href=\"https:\/\/docs.couchbase.com\/python-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">Python<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/docs.couchbase.com\/nodejs-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">NodeJS<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/docs.couchbase.com\/ruby-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">Rubi<\/span><\/a><span style=\"font-weight: 400;\">e <\/span><a href=\"https:\/\/docs.couchbase.com\/php-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">PHP<\/span><\/a><span style=\"font-weight: 400;\"> SDKs e se esfor\u00e7a para oferecer uma experi\u00eancia consistente, eficiente e de alto desempenho em todas essas linguagens de programa\u00e7\u00e3o.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Por que o SDK do C++?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">O C++ continua sendo uma linguagem vital para muitos desenvolvedores devido ao seu desempenho, efici\u00eancia e controle sobre os recursos do sistema. Com a introdu\u00e7\u00e3o do SDK C++, o Couchbase permite que os desenvolvedores aproveitem essas vantagens e, ao mesmo tempo, tirem o m\u00e1ximo proveito dos recursos avan\u00e7ados de NoSQL do Couchbase. Veja a seguir alguns dos principais motivos pelos quais esse lan\u00e7amento \u00e9 um divisor de \u00e1guas:<\/span><\/p>\n<h3 style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">Desempenho<\/span><\/h3>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">O C++ \u00e9 conhecido por sua velocidade e gerenciamento de mem\u00f3ria de baixo n\u00edvel, o que o torna ideal para aplicativos em que o desempenho \u00e9 fundamental. O SDK C++ para Couchbase garante que voc\u00ea possa criar aplicativos de alto desempenho sem sacrificar a velocidade ou a efici\u00eancia.<\/span><\/p>\n<h3 style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">Integra\u00e7\u00e3o perfeita<\/span><\/h3>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">O SDK C++ oferece integra\u00e7\u00e3o perfeita com o Couchbase Server, permitindo que os desenvolvedores executem facilmente opera\u00e7\u00f5es como opera\u00e7\u00f5es KV, consultas SQL++ e transa\u00e7\u00f5es. Essa integra\u00e7\u00e3o estreita garante que seus aplicativos possam ser dimensionados com efici\u00eancia, mantendo o alto desempenho.<\/span><\/p>\n<h3 style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">Design moderno de API<\/span><\/h3>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">O SDK C++ apresenta uma API moderna e idiom\u00e1tica que se alinha aos mais recentes padr\u00f5es C++. Isso o torna n\u00e3o apenas avan\u00e7ado, mas tamb\u00e9m intuitivo para os desenvolvedores de C++, reduzindo a curva de aprendizado e permitindo que voc\u00ea comece a criar aplicativos rapidamente.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Principais recursos<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Aqui est\u00e3o alguns dos recursos de destaque do SDK C++ para Couchbase:<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">F\u00e1cil gerenciamento de conex\u00f5es<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">O SDK C++ simplifica <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/managing-connections.html\"><span style=\"font-weight: 400;\">gerenciamento de conex\u00f5es<\/span><\/a><span style=\"font-weight: 400;\">permitindo que voc\u00ea estabele\u00e7a e gerencie conex\u00f5es com o cluster do Couchbase com o m\u00ednimo de esfor\u00e7o. Isso inclui a manipula\u00e7\u00e3o do pooling de conex\u00f5es, o balanceamento de carga e o failover, garantindo que seu aplicativo permane\u00e7a resiliente e com bom desempenho. Isso significa que o SDK pode ler automaticamente a topologia do seu cluster e fornecer conex\u00f5es cont\u00ednuas durante altera\u00e7\u00f5es na topologia, como redimensionamento ou atualiza\u00e7\u00e3o do cluster. Abaixo est\u00e1 um exemplo de c\u00f3digo C++ para conectar-se ao seu banco de dados couchbase.<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">\/\/ Attempt to connect to the Couchbase cluster\r\nauto [connect_err, cluster] = couchbase::cluster::connect(config.connection_string, options).get();\r\n\r\nif (connect_err) {\r\n    \/\/ Output the error message if connection fails\r\n    std::cout &lt;&lt; \"Unable to connect to the cluster. Error code: \" &lt;&lt; connect_err.message() &lt;&lt; \"\\n\";\r\n} else {\r\n    auto collection = cluster.bucket(config.bucket_name)\r\n                             .scope(config.scope_name)\r\n                             .collection(config.collection_name);\r\n\r\n    \/\/ d something interesting\r\n\r\n    cluster.close().get();\r\n}\r\n<\/pre>\n<h3><span style=\"font-weight: 400;\">Suporte \u00e0 opera\u00e7\u00e3o de chave-valor (KV)<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">O SDK do C++ suporta nativamente a execu\u00e7\u00e3o de <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/kv-operations.html\"><span style=\"font-weight: 400;\">opera\u00e7\u00f5es de valor-chave<\/span><\/a><span style=\"font-weight: 400;\">. As opera\u00e7\u00f5es de valor-chave s\u00e3o exclusivas do couchbase e fornecem opera\u00e7\u00f5es CRUD muito r\u00e1pidas para documentos armazenados no couchbase. Abaixo est\u00e1 um exemplo de c\u00f3digo C++ para executar uma KV simples <\/span><span style=\"font-weight: 400;\">obter<\/span><span style=\"font-weight: 400;\"> e upsert de um documento.<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">auto collection = cluster.bucket(config.bucket_name)\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.scope(config.scope_name)\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.collection(config.collection_name);\r\n\r\n\/\/ KV- get\r\nauto record = collection.get(document_id);\r\nstd::cout &lt;&lt; record.content_as() &lt;&lt; \"\\n\";\r\n\r\n\/\/ create a new document\r\nconst std::string document_id{ \"minimal_example\" };\r\nconst tao::json::value basic_doc{\r\n\u00a0\u00a0{ \"a\", 1.0 },\r\n\u00a0\u00a0{ \"b\", 2.0 },\r\n};\r\n\r\n\/\/ KV\u00a0\r\nauto [err, resp] = collection.upsert(document_id, basic_doc, {}).get();\r\nif (err.ec()) {\r\n\u00a0\u00a0std::cout &lt;&lt; \"ec: \" &lt;&lt; err.message() &lt;&lt; \", \";\r\n} else {\r\n\u00a0\u00a0std::cout &lt;&lt; \"id: \" &lt;&lt; document_id &lt;&lt; \", CAS: \" &lt;&lt; resp.cas().value() &lt;&lt; \"\\n\";\r\n}\r\n\r\ncluster.close().get();<\/pre>\n<h3><span style=\"font-weight: 400;\">Suporte avan\u00e7ado a consultas, pesquisas e pesquisas vetoriais<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">O SDK C++ oferece suporte a <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/sqlpp-queries-with-sdk.html\"><span style=\"font-weight: 400;\">Consultas SQL++<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/concept-docs\/full-text-search-overview.html\"><span style=\"font-weight: 400;\">pesquisa de texto completo<\/span><\/a><span style=\"font-weight: 400;\"> (FTS), e <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/vector-searching-with-sdk.html\"><span style=\"font-weight: 400;\">pesquisa vetorial<\/span><\/a><span style=\"font-weight: 400;\">O SDK \u00e9 uma ferramenta poderosa para executar opera\u00e7\u00f5es de dados complexas. N\u00e3o importa se voc\u00ea precisa executar consultas sofisticadas ou fazer pesquisas de texto completo, o SDK tem tudo o que voc\u00ea precisa.\u00a0<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Pesquisa de consulta<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Abaixo est\u00e1 um trecho de c\u00f3digo para executar um simples <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/sqlpp-queries-with-sdk.html\"><span style=\"font-weight: 400;\">Consulta SQL++<\/span><\/a><span style=\"font-weight: 400;\"> para buscar registros da cole\u00e7\u00e3o de companhias a\u00e9reas:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);\r\n\u00a0\u00a0auto [err, resp] = scope.query(\"SELECT * FROM airline LIMIT 10\").get();\r\n\u00a0\u00a0std::cout &lt;&lt; \"--- Iterating as JSON objects:\\n\";\r\n\u00a0\u00a0for (auto row : resp.rows_as_json()) {\r\n\u00a0\u00a0\u00a0\u00a0std::cout &lt;&lt; \"Airline(id: \" &lt;&lt; row[\"airline\"][\"id\"] &lt;&lt; \", name: \\\"\" &lt;&lt; row[\"airline\"][\"name\"] &lt;&lt; \"\\\")\\n\";\r\n\u00a0\u00a0}<\/pre>\n<h4><span style=\"font-weight: 400;\">Pesquisa de texto completo (FTS)<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Abaixo est\u00e1 um trecho de c\u00f3digo para executar um <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/concept-docs\/full-text-search-overview.html\"><span style=\"font-weight: 400;\">Consulta FTS<\/span><\/a><span style=\"font-weight: 400;\"> para fazer uma pesquisa de texto completo para \"<em>bons restaurantes<\/em>\" o \u00edndice criado na cole\u00e7\u00e3o de refer\u00eancia:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);\r\nauto [err, resp] = scope\r\n\u00a0\u00a0.search(\"travel-inventory-landmarks\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0couchbase::search_request(couchbase::query_string_query(\"nice restaurants\")),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0couchbase::search_options{}.fields({ \"content\" }))\r\n\u00a0\u00a0.get();\r\nfor (const auto&amp; row : resp.rows()) {\r\n\u00a0\u00a0auto fields = row.fields_as&lt;couchbase::codec::tao_json_serializer&gt;();\r\n\u00a0\u00a0std::cout &lt;&lt; \"score: \" &lt;&lt; row.score() &lt;&lt; \", id: \\\"\" &lt;&lt; row.id() &lt;&lt; \"\\\", content: \\\"\" &lt;&lt; fields[\"content\"].get_string() &lt;&lt; \"\\\"\\n\";\r\n}<\/pre>\n<h4><span style=\"font-weight: 400;\">Pesquisa de vetores<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Abaixo est\u00e1 um trecho de c\u00f3digo para executar um <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/vector-searching-with-sdk.html\"><span style=\"font-weight: 400;\">pesquisa vetorial<\/span><\/a><span style=\"font-weight: 400;\"> consulta:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);\r\n\r\n\/\/ weights could be retrieved from your llm model or openAI\r\nstd::vector&lt;double&gt; weights{ 0.1, 0.2, 0.3, 0.4 };\r\nauto [err, resp] = scope\r\n\u00a0\u00a0.search(\"travel-inventory-landmarks\",\r\n\u00a0\u00a0\u00a0\u00a0couchbase::search_request(couchbase::vector_search(\r\n\u00a0\u00a0\u00a0\u00a0couchbase::vector_query(field_name, weights))))\r\n\u00a0\u00a0.get();\r\n\r\nfor (const auto&amp; row : resp.rows()) {\r\n\u00a0\u00a0auto fields = row.fields_as&lt;couchbase::codec::tao_json_serializer&gt;();\r\n\u00a0\u00a0std::cout &lt;&lt; \"score: \" &lt;&lt; row.score() &lt;&lt; \", id: \\\"\" &lt;&lt; row.id() &lt;&lt; \"\\\", content: \\\"\" &lt;&lt; fields[\"content\"].get_string() &lt;&lt; \"\\\"\\n\";\r\n}<\/pre>\n<h3><span style=\"font-weight: 400;\">Programa\u00e7\u00e3o ass\u00edncrona<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">O SDK oferece suporte a <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/concurrent-async-apis.html\"><span style=\"font-weight: 400;\">programa\u00e7\u00e3o ass\u00edncrona<\/span><\/a><span style=\"font-weight: 400;\"> permitindo que voc\u00ea crie aplicativos responsivos e sem bloqueio. Isso \u00e9 particularmente \u00fatil para aplicativos de alto rendimento em que a manuten\u00e7\u00e3o da capacidade de resposta \u00e9 essencial. Veja a seguir um exemplo de execu\u00e7\u00e3o de uma transa\u00e7\u00e3o em um contexto ass\u00edncrono:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">std::shared_ptr&lt;async_attempt_context&gt; ctx) -&gt; couchbase::error {\r\n\u00a0\u00a0ctx-&gt;get(\r\n\u00a0\u00a0\u00a0\u00a0collection,\r\n\u00a0\u00a0\u00a0\u00a0some_id,\r\n\u00a0\u00a0\u00a0\u00a0\/\/ do something in this transaction\r\n}<\/pre>\n<h3><span style=\"font-weight: 400;\">Transa\u00e7\u00f5es<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Esse novo SDK C++ inclui suporte para <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/distributed-acid-transactions-from-the-sdk.html\"><span style=\"font-weight: 400;\">transa\u00e7\u00f5es<\/span><\/a><span style=\"font-weight: 400;\"> e substitui nosso suporte a transa\u00e7\u00f5es C++ existente, acrescentando mais recursos e aprimoramentos de desempenho. Abaixo est\u00e1 um exemplo de trecho de c\u00f3digo para criar um contexto de transa\u00e7\u00e3o:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:c++ decode:true\">std::shared_ptr&lt;couchbase::transactions::attempt_context&gt; ctx) -&gt; couchbase::error {\r\n  ctx.insert(collection, \"doc-a\", nlohmann::json({}));\r\n\u00a0\u00a0couchbase::transactions::transaction_get_result doc_a = ctx-&gt;get( collection, \u201cdoc-a\u201d)\r\n}<\/pre>\n<h3><span style=\"font-weight: 400;\">Tratamento robusto de erros<\/span><\/h3>\n<p><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/error-handling.html\"><span style=\"font-weight: 400;\">Tratamento de erros<\/span><\/a><span style=\"font-weight: 400;\"> \u00e9 crucial em qualquer aplicativo, e o SDK do C++, assim como nossos outros SDKs, oferece recursos abrangentes de tratamento de erros, incluindo novas tentativas para quedas de conex\u00e3o, pooling de conex\u00f5es e mensagens de erro informativas. Isso garante que voc\u00ea possa manipular e se recuperar de erros de forma elegante, aumentando a estabilidade e a confiabilidade dos seus aplicativos.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Primeiros passos<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Para ajud\u00e1-lo a come\u00e7ar a usar o SDK C++ para Couchbase, preparamos um guia de introdu\u00e7\u00e3o detalhado em nosso site de documenta\u00e7\u00e3o. Aqui est\u00e1 uma vis\u00e3o geral r\u00e1pida de como come\u00e7ar:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"font-weight: 400;\"><strong>Instalar o SDK<\/strong>: Siga as instru\u00e7\u00f5es de instala\u00e7\u00e3o na documenta\u00e7\u00e3o para configurar o SDK em seu ambiente de desenvolvimento.<\/span><\/li>\n<li><span style=\"font-weight: 400;\"><strong>Conecte-se ao seu cluster<\/strong>: Conecte-se ao seu cluster do Couchbase.<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Executar <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/kv-operations.html\"><span style=\"font-weight: 400;\">Opera\u00e7\u00f5es CRUD<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/howtos\/sqlpp-queries-with-sdk.html\"><span style=\"font-weight: 400;\">executar consultas<\/span><\/a><span style=\"font-weight: 400;\">e aproveitando os recursos avan\u00e7ados do Couchbase.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">Comunidade e suporte<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Acreditamos no poder da comunidade e no desenvolvimento de c\u00f3digo aberto. O SDK C++ para o Couchbase <\/span><a href=\"https:\/\/github.com\/couchbase\/couchbase-cxx-client\"><span style=\"font-weight: 400;\">\u00e9 de c\u00f3digo aberto<\/span><\/a><span style=\"font-weight: 400;\">e incentivamos voc\u00ea a contribuir, fornecer feedback e participar da conversa. Para obter suporte, se voc\u00ea for nosso cliente licenciado empresarial, poder\u00e1 entrar em contato por meio do suporte; caso contr\u00e1rio, poder\u00e1 acessar nosso abrangente <\/span><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">documenta\u00e7\u00e3o<\/span><\/a><span style=\"font-weight: 400;\">, junte-se ao <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/\"><span style=\"font-weight: 400;\">F\u00f3runs do Couchbase<\/span><\/a><span style=\"font-weight: 400;\"> ou <\/span><a href=\"https:\/\/discord.com\/invite\/K7NPMPGrPk\"><span style=\"font-weight: 400;\">Disc\u00f3rdia do Couchbase<\/span><\/a><span style=\"font-weight: 400;\">ou entre em contato por meio de nosso <\/span><a href=\"https:\/\/support.couchbase.com\/hc\/en-us\"><span style=\"font-weight: 400;\">portal de suporte<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Leitura adicional<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Para saber mais, consulte nosso site de documenta\u00e7\u00e3o. Ele detalha mais a API, especialmente no que se refere a transa\u00e7\u00f5es e opera\u00e7\u00f5es ass\u00edncronas, e fornece outros materiais de refer\u00eancia e links de vincula\u00e7\u00e3o de amostra para voc\u00ea se aprofundar:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/github.com\/couchbase\/couchbase-cxx-client\/tree\/main\/examples\"><span style=\"font-weight: 400;\">Exemplos de c\u00f3digo do SDK do Couchbase C++<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/hello-world\/start-using-sdk.html\"><span style=\"font-weight: 400;\">Documenta\u00e7\u00e3o do SDK do Couchbase C++<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/github.com\/couchbase\/couchbase-cxx-client\"><span style=\"font-weight: 400;\">Fa\u00e7a o download e instale o Couchbase C++ SDK<\/span><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.couchbase.com\/cxx-sdk\/current\/project-docs\/compatibility.html\"><span style=\"font-weight: 400;\">Sistemas operacionais suportados<\/span><\/a><span style=\"font-weight: 400;\"> est\u00e3o listados em nosso site de documenta\u00e7\u00e3o.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Boa codifica\u00e7\u00e3o!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A equipe do Couchbase<\/span><\/p>\n<p><br style=\"font-weight: 400;\" \/><br style=\"font-weight: 400;\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>We are thrilled to announce the General Availability (GA) of the C++ SDK for Couchbase! This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone [&hellip;]<\/p>","protected":false},"author":25,"featured_media":15986,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[9986,2165,2201,9937],"tags":[9549],"ppma_author":[8995,9987],"class_list":["post-15985","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","category-full-text-search","category-tools-sdks","category-vector-search","tag-crud"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Announcing General Availability of the C++ SDK for Couchbase<\/title>\n<meta name=\"description\" content=\"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone\" \/>\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\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing General Availability of the C++ SDK for Couchbase\" \/>\n<meta property=\"og:description\" content=\"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-01T15:00:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:07:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sergey Avseyev, SDK Engineer, Couchbase, Vishal Dhiman, Sr. Product Manager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@avsej\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sergey Avseyev, SDK Engineer, Couchbase\" \/>\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\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\"},\"author\":{\"name\":\"Sergey Avseyev, SDK Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e9181374f225c90084ec3ba86bdcfa2e\"},\"headline\":\"Announcing General Availability of the C++ SDK for Couchbase\",\"datePublished\":\"2024-07-01T15:00:48+00:00\",\"dateModified\":\"2025-06-14T04:07:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\"},\"wordCount\":855,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\",\"keywords\":[\"CRUD\"],\"articleSection\":[\"C\/C++\",\"Full-Text Search\",\"Tools &amp; SDKs\",\"Vector Search\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\",\"name\":\"Announcing General Availability of the C++ SDK for Couchbase\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\",\"datePublished\":\"2024-07-01T15:00:48+00:00\",\"dateModified\":\"2025-06-14T04:07:20+00:00\",\"description\":\"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing General Availability of the C++ SDK for Couchbase\"}]},{\"@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\/e9181374f225c90084ec3ba86bdcfa2e\",\"name\":\"Sergey Avseyev, SDK Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/796ab283bd56fe3716a102ebe16daff6\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g\",\"caption\":\"Sergey Avseyev, SDK Engineer, Couchbase\"},\"description\":\"Sergey Avseyev is a SDK Engineer at Couchbase. Sergey Avseyev is responsible for development of Kafka connector, and underlying library, which implements DCP, Couchbase replication protocol. Also maintaining PHP SDK for Couchbase.\",\"sameAs\":[\"https:\/\/x.com\/avsej\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/sergey-avseyev\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Anunciando a disponibilidade geral do SDK C++ para o Couchbase","description":"Esta vers\u00e3o adiciona suporte \u00e0 linguagem C++ nativa ao nosso conjunto abrangente de bibliotecas SDK em 11 linguagens de programa\u00e7\u00e3o e representa um marco significativo","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\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","og_locale":"pt_BR","og_type":"article","og_title":"Announcing General Availability of the C++ SDK for Couchbase","og_description":"This release adds support for native C++ language to our existing comprehensive set of SDK libraries in 11 programming languages and marks a significant milestone","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-07-01T15:00:48+00:00","article_modified_time":"2025-06-14T04:07:20+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","type":"image\/png"}],"author":"Sergey Avseyev, SDK Engineer, Couchbase, Vishal Dhiman, Sr. Product Manager","twitter_card":"summary_large_image","twitter_creator":"@avsej","twitter_misc":{"Written by":"Sergey Avseyev, SDK Engineer, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/"},"author":{"name":"Sergey Avseyev, SDK Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e9181374f225c90084ec3ba86bdcfa2e"},"headline":"Announcing General Availability of the C++ SDK for Couchbase","datePublished":"2024-07-01T15:00:48+00:00","dateModified":"2025-06-14T04:07:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/"},"wordCount":855,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","keywords":["CRUD"],"articleSection":["C\/C++","Full-Text Search","Tools &amp; SDKs","Vector Search"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/","name":"Anunciando a disponibilidade geral do SDK C++ para o Couchbase","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","datePublished":"2024-07-01T15:00:48+00:00","dateModified":"2025-06-14T04:07:20+00:00","description":"Esta vers\u00e3o adiciona suporte \u00e0 linguagem C++ nativa ao nosso conjunto abrangente de bibliotecas SDK em 11 linguagens de programa\u00e7\u00e3o e representa um marco significativo","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/blog-cpp-sdk.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/announcing-general-availability-of-the-cpp-sdk-for-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Announcing General Availability of the C++ SDK for Couchbase"}]},{"@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\/e9181374f225c90084ec3ba86bdcfa2e","name":"Sergey Avseyev, engenheiro de SDK, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/796ab283bd56fe3716a102ebe16daff6","url":"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g","caption":"Sergey Avseyev, SDK Engineer, Couchbase"},"description":"Sergey Avseyev \u00e9 engenheiro de SDK na Couchbase. Sergey Avseyev \u00e9 respons\u00e1vel pelo desenvolvimento do conector Kafka e da biblioteca subjacente, que implementa o DCP, o protocolo de replica\u00e7\u00e3o do Couchbase. Tamb\u00e9m mant\u00e9m o PHP SDK para o Couchbase.","sameAs":["https:\/\/x.com\/avsej"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/sergey-avseyev\/"}]}},"authors":[{"term_id":8995,"user_id":25,"is_guest":0,"slug":"sergey-avseyev","display_name":"Sergey Avseyev, SDK Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/288a892d231cf8c4e57ed0643e4681b4654a141361f6ec3c5b79ccd4d885e038?s=96&d=mm&r=g","author_category":"","last_name":"Avseyev, SDK Engineer, Couchbase","first_name":"Sergey","job_title":"","user_url":"","description":"Sergey Avseyev \u00e9 engenheiro de SDK na Couchbase. Sergey Avseyev \u00e9 respons\u00e1vel pelo desenvolvimento do conector Kafka e da biblioteca subjacente, que implementa o DCP, o protocolo de replica\u00e7\u00e3o do Couchbase. Tamb\u00e9m mant\u00e9m o PHP SDK para o Couchbase."},{"term_id":9987,"user_id":85357,"is_guest":0,"slug":"vishald","display_name":"Vishal Dhiman, Sr. Product Manager","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/vishal-dhiman-couchbase.jpg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/vishal-dhiman-couchbase.jpg"},"author_category":"","last_name":"Dhiman, Sr. Product Manager","first_name":"Vishal","job_title":"Sr. Product Manager","user_url":"","description":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/15985","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\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=15985"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/15985\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/15986"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=15985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=15985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=15985"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=15985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}