{"id":5334,"date":"2018-06-18T06:26:51","date_gmt":"2018-06-18T13:26:51","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=5334"},"modified":"2025-06-13T22:39:42","modified_gmt":"2025-06-14T05:39:42","slug":"couchbase-data-platform-action-setup-steps","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-data-platform-action-setup-steps\/","title":{"rendered":"La plataforma de datos Couchbase en acci\u00f3n: Configuraci\u00f3n paso a paso"},"content":{"rendered":"<div id=\"content\">\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p><strong>Nota:<\/strong> Este art\u00edculo utiliza el Lenguaje de Definici\u00f3n de Datos de Couchbase Analytics a partir de la versi\u00f3n 5.5.  Para actualizaciones e informaci\u00f3n sobre cambios de \u00faltima hora en versiones m\u00e1s recientes, consulta\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-analytics-service-changes\/\">Cambios en el servicio Couchbase Analytics<\/a>.<\/p>\n<p>La aplicaci\u00f3n creada para la conferencia Couchbase Connect Silicon Valley el pasado oto\u00f1o incorpora consultas din\u00e1micas N1QL, m\u00f3viles sin conexi\u00f3n, sensores IoT, consultas ad hoc con an\u00e1lisis, replicaci\u00f3n entre centros de datos, conmutaci\u00f3n por error, coincidencia de texto difuso y un mont\u00f3n de funciones m\u00e1s.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Puede ver la demostraci\u00f3n de la keynote <a title=\"https:\/\/youtu.be\/-U_UjqnhMBI\" href=\"https:\/\/youtu.be\/-U_UjqnhMBI\">aqu\u00ed<\/a>Conozca la arquitectura de alto nivel <a title=\"https:\/\/www.couchbase.com\/blog\/couchbase-connect-2017-demo-technical-overview\/\" href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-connect-2017-demo-technical-overview\/\">aqu\u00ed<\/a>y vea un tutorial completo sobre c\u00f3mo configurar la demostraci\u00f3n <a title=\"https:\/\/youtu.be\/RlSMLkd9vrg\" href=\"https:\/\/youtu.be\/RlSMLkd9vrg\">aqu\u00ed<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En este post, voy a ir a trav\u00e9s de todos los pasos para configurar y ejecutar la demo. Lo haremos a trav\u00e9s de la l\u00ednea de comandos. (Algunos pasos requieren el <a title=\"https:\/\/curl.haxx.se\/\" href=\"https:\/\/curl.haxx.se\/\">cURL<\/a> herramienta).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Incluyo enlaces directos a v\u00eddeos que repasan material similar.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_clone_repository_and_set_working_directory\">Clonar repositorio y establecer directorio de trabajo<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Encontrar\u00e1 el c\u00f3digo de la demostraci\u00f3n en <a title=\"https:\/\/github.com\/couchbaselabs\/connect-fall-2017-demo\" href=\"https:\/\/github.com\/couchbaselabs\/connect-fall-2017-demo\">GitHub<\/a>. Clone el repositorio y cambie los directorios al nivel superior.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>git clone https:\/\/github.com\/couchbaselabs\/connect-fall-2017-demo.git\r\ncd connect-fall-2017-demo<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_configuring_couchbase_server\">Configuraci\u00f3n de Couchbase Server<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>El proyecto de demostraci\u00f3n depende de las nuevas capacidades previstas para Couchbase 5.5. En el momento de escribir este art\u00edculo, la versi\u00f3n 5.5 est\u00e1 en fase beta. Descarga e instala Couchbase 5.5 para tu plataforma <a title=\"https:\/\/www.couchbase.com\/downloads\" href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/\">aqu\u00ed<\/a>. Poner en marcha un nodo.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_preparing\">Preparaci\u00f3n<\/h3>\n<div class=\"paragraph\">\n<p>Lo siguiente supone que est\u00e1 ejecutando en <code>localhost<\/code>. Puede ajustarse a un host remoto seg\u00fan sea necesario. Los ejecutables del comando est\u00e1n incluidos en tu instalaci\u00f3n de Couchbase. Puede que quieras a\u00f1adir el directorio tools a tu ruta de comandos. Por ejemplo, en un Mac, puedes hacer algo como esto.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>export PATH=\"$PATH:\/path\/to\/install\/Couchbase Server.app\/Contents\/Resources\/couchbase-core\/bin\"<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_initialize_the_node\">Inicializar el nodo<\/h3>\n<div class=\"paragraph\">\n<p>Para inicializar el primer nodo, necesitamos tres pasos.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Configuraci\u00f3n b\u00e1sica del usuario administrativo, servicios a ejecutar y asignaciones de memoria.<\/li>\n<li>Creaci\u00f3n del cubo principal de la aplicaci\u00f3n<\/li>\n<li>A\u00f1adir un usuario independiente para el control de acceso basado en roles.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Ejecute los siguientes comandos para realizar estos pasos.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code># Basic memory and service configuration\r\ncouchbase-cli cluster-init --cluster couchbase:\/\/127.0.0.1 --cluster-name cluster \\\r\n  --cluster-username Administrator --cluster-password password \\\r\n  --services data,index,query,fts,analytics,eventing --cluster-ramsize 256 --cluster-analytics-ramsize 1024 \\\r\n  --cluster-index-ramsize 256 --cluster-fts-ramsize 256 --index-storage-setting default\r\n# Main bucket creation\r\ncouchbase-cli bucket-create --cluster couchbase:\/\/127.0.0.1 -u Administrator -p password \\\r\n  --bucket health --bucket-type couchbase --bucket-ramsize 100\r\n# Role-Based Access Control\r\ncouchbase-cli user-manage --cluster couchbase:\/\/127.0.0.1 -u Administrator -p password \\\r\n  --set --rbac-username admin --rbac-password password \\\r\n  --rbac-name \"J. R. Admin\" --roles \"Admin\" --auth-domain local<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>La mayor\u00eda de los par\u00e1metros de estos comandos deber\u00edan ser f\u00e1ciles de entender.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Los nodos de Couchbase Server pueden dedicarse a ejecutar un subconjunto de todos los servicios disponibles, parte de lo que se conoce como <a title=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/architecture\/services-archi-multi-dimensional-scaling.html\" href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/architecture\/services-archi-multi-dimensional-scaling.html\">Escala multidimensional<\/a>. Aqu\u00ed, estamos configurando el nodo con todos los servicios que necesita la aplicaci\u00f3n.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Las asignaciones de RAM est\u00e1n configuradas en sus valores m\u00ednimos. Estos valores no son los que se suelen utilizar en producci\u00f3n, pero son suficientes para los datos que se incluyen aqu\u00ed.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Tenga en cuenta que la especificaci\u00f3n del cl\u00faster utiliza una URL personalizada, <code>couchbase:\/\/127.0.0.1<\/code>. Hay otras formas de especificarlo, pero esta es la m\u00e1s f\u00e1cil. Esto le dice a los comandos que se conecten a Couchbase Server en la m\u00e1quina local.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Tras ejecutar estos comandos, el nodo tardar\u00e1 unos instantes en calentarse. Dale una breve pausa antes de proceder con los siguientes pasos.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=111s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=111s\">Configuraci\u00f3n b\u00e1sica de Couchbase Server<\/a><\/li>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=184s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=184s\">Creaci\u00f3n de cubos<\/a><\/li>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=214s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=214s\">Control de acceso basado en funciones<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_data\">Datos<\/h3>\n<div class=\"paragraph\">\n<p>Generamos datos sint\u00e9ticos realistas de pacientes utilizando el <a title=\"https:\/\/github.com\/synthetichealth\/synthea\" href=\"https:\/\/github.com\/synthetichealth\/synthea\">Synthea<\/a> (Copyright \u00a9 2018 The MITRE Corporation). Synthea es de c\u00f3digo abierto y de uso gratuito. La demo completa en Connect 2017 utiliz\u00f3 cientos de millones de registros. En el repositorio de fuentes de la demo se ha incluido un conjunto de datos m\u00e1s adecuado para ejecutarlo en una sola m\u00e1quina. Para cargarlo, ejecute lo siguiente.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code># Cargar datos de ejemplo\r\npara archivo en datos\/*.json\r\nhaga\r\n  cbimport json -c couchbase:\/\/127.0.0.1:8091 -d file:\/\/${file} -g '%id%' -f lines -b health -u admin -p password -g '%id%' -f lines -b health -u admin -p password\r\nhecho<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Las opciones indican <code>cbimport<\/code> para esperar un registro por l\u00ednea y autogenerar la clave del documento a partir del campo id de cada registro.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=622s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=622s\">Importar datos<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_eventing_service\">Servicio de concursos<\/h3>\n<div class=\"paragraph\">\n<p>En <a title=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/eventing\/eventing-overview.html\" href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/eventing\/eventing-overview.html\">Servicio de eventos Couchbase<\/a> es una de las nuevas funciones que se a\u00f1aden en la versi\u00f3n 5.5. Permite supervisar los cambios en la base de datos y ejecutar funciones JavaScript en respuesta.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En esta aplicaci\u00f3n lo utilizamos para monitorizar los datos entrantes de los pacientes. Esto nos permite enviar los datos a la aplicaci\u00f3n web, en lugar de depender del sondeo. Para ello se utiliza la funci\u00f3n <a title=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/n1ql\/n1ql-language-reference\/curl.html\" href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/n1ql\/n1ql-language-reference\/curl.html\">Capacidades de cURL<\/a> integrado en <a title=\"https:\/\/www.couchbase.com\/n1ql\" href=\"https:\/\/www.couchbase.com\/blog\/es\/n1ql\/\">N1QL<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Para ello, necesitamos configurar una funci\u00f3n JavaScript que vigile los cambios en la base de datos. Actualmente el Servicio de Eventos necesita tambi\u00e9n su propio cubo de metadatos. Configure esta parte con los siguientes comandos.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code># Eventing Service meta-data bucket creation\r\ncouchbase-cli bucket-create --cluster couchbase:\/\/127.0.0.1 -u Administrator -p password \\\r\n  --bucket eventing --bucket-type couchbase --bucket-ramsize 100\r\n# Eventing Service function\r\ncurl -X POST -u admin:password -d \"@scripts\/config\/eventing\" https:\/\/127.0.0.1:8096\/api\/v1\/functions\/monitor<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Aqu\u00ed est\u00e1 el JavaScript real.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>function OnUpdate(doc, meta) {\r\n  if (doc.resourceType != 'Observation') return;\r\n\r\n  let reference = doc.subject.reference;\r\n  let url = \"https:\/\/localhost:8080\/events\/\" + reference.substr(9);\r\n  let data = JSON.stringify({\r\n    \"reference\": doc.subject.reference,\r\n    \"code\": doc.code.coding[0].code,\r\n    \"recordedAt\": doc.issued,\r\n    \"value\": doc.valueQuantity.value\r\n  });\r\n\r\n  let curl = SELECT CURL($url, {\r\n    \"request\": \"POST\",\r\n    \"header\": [ \"Content-Type: application\/json\", \"accept: application\/json\" ],\r\n    \"data\": $data\r\n  });\r\n\r\n  curl.execQuery();\r\n}\r\n\r\nfunction OnDelete(meta) {}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Esta funci\u00f3n s\u00f3lo procesa documentos de \"Observaci\u00f3n\". Extrae algunos elementos que queremos mostrar en la consola web. A continuaci\u00f3n, utiliza un <code>cURL<\/code> para enviar esos datos a un punto final REST en el servidor web.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=282s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=282s\">Servicio de concursos<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_query_indexes\">\u00cdndices de consulta<\/h3>\n<div class=\"paragraph\">\n<p>La aplicaci\u00f3n se basa en una serie de <a title=\"https:\/\/www.couchbase.com\/n1ql\" href=\"https:\/\/www.couchbase.com\/blog\/es\/n1ql\/\">N1QL<\/a> consultas. \u00c9stas se ejecutar\u00edan si se define un \u00edndice primario, pero ser\u00edan lentas. En su lugar, a\u00f1ada tres <a title=\"https:\/\/docs.couchbase.com\/server\/6.0\/indexes\/gsi-for-n1ql.html\" href=\"https:\/\/docs.couchbase.com\/server\/6.0\/indexes\/gsi-for-n1ql.html\">\u00cdndices secundarios globales<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Los datos utilizados en la aplicaci\u00f3n siguen el <a title=\"https:\/\/www.hl7.org\/fhir\/overview.html\" href=\"https:\/\/www.hl7.org\/fhir\/overview.html\">FHIR<\/a> especificaci\u00f3n. Los registros incluyen un <code>resourceType<\/code> campo. Por ejemplo, \"Observaci\u00f3n\", \"Condici\u00f3n\" y \"Profesional\" son todos tipos de recursos. El primer \u00edndice optimiza las consultas de este campo.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En el cuadro de mandos se muestran gr\u00e1ficos de temperaturas. Se registran como documentos de \"Observaci\u00f3n\". El segundo \u00edndice extrae la informaci\u00f3n principal que nos interesa mostrar. (De este modo, las b\u00fasquedas y la recuperaci\u00f3n de los datos pertinentes son r\u00e1pidas, ya que todo lo que necesitamos est\u00e1 almacenado en el \u00edndice.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>El \u00faltimo \u00edndice se construye a partir de los registros de \"Localizaci\u00f3n\". Esto nos permite conectar a los pacientes con su hospital m\u00e1s cercano.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code># Indexes for query optimization\r\ncbq -u admin -p password -q --script=\"CREATE INDEX \\\\`resource-idx\\\\` ON health(resourceType, id);\"\r\ncbq -u admin -p password -q --script=\"CREATE INDEX \\\\`observation-idx\\\\` ON health(subject.reference, issued DESC, valueQuantity.\\\\`value\\\\`)\"\r\ncbq -u admin -p password -q --script=\"CREATE INDEX \\\\`location-idx\\\\` ON health(type.coding[0].code) WHERE resourceType = 'Location';\"<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=240s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=240s\">Creaci\u00f3n de \u00edndices de consulta<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_analytics\">Anal\u00edtica<\/h3>\n<div class=\"paragraph\">\n<p>La aplicaci\u00f3n puede examinar algunos datos del historial del caso. Este tipo de an\u00e1lisis libre se adapta mejor al nuevo <a title=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/analytics\/introduction.html\" href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/analytics\/introduction.html\">Servicio de an\u00e1lisis Couchbase<\/a> (actualmente en preestreno).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>El servicio de an\u00e1lisis importa autom\u00e1ticamente los datos de los buckets de las bases de datos operativas a sus propios buckets especiales. A continuaci\u00f3n, usted define lo que se conoce como conjuntos de datos sombra. Por \u00faltimo, debe emitir una instrucci\u00f3n para conectar la anal\u00edtica a sus datos operativos. Despu\u00e9s, las consultas se realizan mediante SQL++, un superconjunto de SQL similar a N1QL. Puede obtener m\u00e1s informaci\u00f3n en <a title=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/analytics\/primer-beer.html\" href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/analytics\/primer-beer.html\">este tutorial<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Toda la configuraci\u00f3n se realiza mediante la emisi\u00f3n de comandos a trav\u00e9s del motor de consulta de an\u00e1lisis. Configura las piezas necesarias para la demo con el siguiente comando.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code># Analytics Service configuration\r\ncat scripts\/config\/analytics | while read query\r\ndo\r\n  curl -u admin:password --data-urlencode \"statement=${query}\" https:\/\/127.0.0.1:8095\/analytics\/service\r\ndone<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Aqu\u00ed est\u00e1n los comandos reales que se ejecutan.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>CREATE BUCKET ha WITH {\"name\":\"health\"}\r\nCREATE SHADOW DATASET patient ON ha WHERE resourceType = \"Patient\"\r\nCREATE SHADOW DATASET condition ON ha WHERE resourceType = \"Condition\"\r\nCREATE SHADOW DATASET encounter ON ha WHERE resourceType = \"Encounter\"\r\nCONNECT BUCKET ha<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Podr\u00edas hacer esto igual de bien desde la interfaz de consulta en la consola web de Couchbase Server, usando las l\u00edneas exactamente como se muestra arriba.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=380s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=380s\">Configuraci\u00f3n de Analytics<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_full_text_search\">B\u00fasqueda de texto completo<\/h3>\n<div class=\"paragraph\">\n<p>Couchbase Server Full-Text Search permite la b\u00fasqueda de texto completo basada tanto en los campos indexados como en los t\u00e9rminos de b\u00fasqueda introducidos. Proporciona una gran capacidad de b\u00fasqueda en texto libre. En esta aplicaci\u00f3n, lo utilizamos para extraer registros basados precisamente en eso: entradas en documentos FHIR reservados para notas no estructuradas.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Configure los \u00edndices necesarios del siguiente modo.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code># Full-Text Search index\r\ncurl -u admin:password -T \"scripts\/config\/fts-index.json\" https:\/\/127.0.0.1:8094\/api\/index\/diagnosis<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>El \u00edndice es demasiado complicado para analizarlo aqu\u00ed en su totalidad. Me limitar\u00e9 a mencionar algunos puntos principales.<\/p>\n<div>\n<p>Y lo que es m\u00e1s importante, estamos haciendo un an\u00e1lisis ling\u00fc\u00edstico del <code>nota<\/code> de un documento \"Observaci\u00f3n\", y el campo <code>motivo<\/code> de un documento \"Encuentro\". Se trata de los campos en los que un profesional sanitario puede introducir texto de forma libre.<\/p>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Otras entradas est\u00e1n ah\u00ed para extraer datos simplemente para mostrarlos o para utilizarlos en faceting. Las facetas permiten al usuario restringir y refinar las b\u00fasquedas. Es una forma muy eficaz de profundizar en los datos de forma estructurada.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Para m\u00e1s detalles, en un pr\u00f3ximo art\u00edculo analizaremos el \u00edndice y el c\u00f3digo FTS.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=422s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=422s\">B\u00fasqueda de texto completo<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_curl_access_restrictions\">Restricciones de acceso a cURL<\/h3>\n<div class=\"paragraph\">\n<p><a title=\"https:\/\/www.couchbase.com\/n1ql\" href=\"https:\/\/www.couchbase.com\/blog\/es\/n1ql\/\">N1QL<\/a> las consultas pueden incluir <code>cURL<\/code>-. Las utilizamos para enviar actualizaciones a la aplicaci\u00f3n web y para obtener datos de geomapping a trav\u00e9s de Google.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Dado que estas llamadas se originan en un nodo de servicio de consulta, tienen importantes implicaciones de seguridad. Por lo tanto, por defecto, est\u00e1 desactivada.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Necesitamos autorizar llamadas al endpoint de Google y a una api en el servidor web. Hazlo con el siguiente comando.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code># cURL site whitelist\r\ncurl -X POST -u admin:password -d \"@scripts\/config\/curl\" https:\/\/127.0.0.1:8091\/settings\/querySettings\/curlWhitelist<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=354s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=354s\">Restricciones de acceso a cURL<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_sync_gateway\">Pasarela de sincronizaci\u00f3n<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p><a title=\"https:\/\/developer.couchbase.com\/documentation\/mobile\/current\/guides\/sync-gateway\/index.html\" href=\"https:\/\/developer.couchbase.com\/documentation\/mobile\/current\/guides\/sync-gateway\/index.html\">Pasarela de sincronizaci\u00f3n<\/a> proporciona el pegamento entre Couchbase Server y la aplicaci\u00f3n m\u00f3vil. Tambi\u00e9n proporciona parte de la l\u00f3gica de negocio. En este caso, simplemente necesitamos conectarnos a Coucbase Server, configurar la autenticaci\u00f3n b\u00e1sica y crear un canal para nuestro usuario principal.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ejecute Sync Gateway directamente como se indica a continuaci\u00f3n.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>\/path\/to\/couchbase-sync-gateway\/bin\/sync_gateway sync-gateway\/cc-2017-sg-config.json<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>No estamos utilizando una importaci\u00f3n de documentos filtrados aqu\u00ed, por lo que esto puede tomar un poco de tiempo la primera vez para crear todos los metadatos necesarios.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=712s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=712s\">Pasarela de sincronizaci\u00f3n<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_web_client_and_server\">Cliente y servidor web<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Instale <a title=\"https:\/\/nodejs.org\/en\/\" href=\"https:\/\/nodejs.org\/en\/\">Node.js<\/a>. El servidor requiere la versi\u00f3n 7 o superior. Se recomienda utilizar <a title=\"https:\/\/github.com\/creationix\/nvm\/blob\/master\/README.md\" href=\"https:\/\/github.com\/creationix\/nvm\/blob\/master\/README.md\">nvm<\/a> para gestionar las versiones de Node si tiene una instalaci\u00f3n existente. (La gu\u00eda de instalaci\u00f3n de nvm se encuentra en <a title=\"https:\/\/github.com\/creationix\/nvm\/blob\/master\/README.md=install-script\" href=\"https:\/\/github.com\/creationix\/nvm\/blob\/master\/README.md=install-script\">aqu\u00ed<\/a>.)<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_configuring_the_web_client\">Configurar el Cliente Web<\/h3>\n<div class=\"paragraph\">\n<p>El c\u00f3digo del cliente web est\u00e1 en <code>web\/cliente<\/code>. En <code>src\/config<\/code> en el c\u00f3digo del cliente, actualice <code>serverURI<\/code> en el <code>index.js<\/code>para que apunte a su servidor web. Este es el host del <strong>servidor web<\/strong> se est\u00e1 ejecutando. Esto puede ser diferente de donde se ejecuta Couchbase. Por defecto utiliza <code>localhost<\/code>As\u00ed que si planeas ejecutar todo en una sola m\u00e1quina, puedes dejarlo como est\u00e1.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_building_the_client\">Construir el cliente<\/h3>\n<div class=\"paragraph\">\n<p>Cambie los directorios a <code>web\/cliente<\/code>. Instale los paquetes Node.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>npm instalar<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Se puede ejecutar en uno de los dos modos, desarrollo o producci\u00f3n. Desarrollo permite una depuraci\u00f3n m\u00e1s f\u00e1cil, y soporta la recarga en caliente, pero es m\u00e1s complicado de configurar. Este modo requiere la ejecuci\u00f3n de servidores separados, uno que sirve las p\u00e1ginas de cliente y el otro para exponer la API que necesitamos.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Aqu\u00ed s\u00f3lo voy a describir la ejecuci\u00f3n en modo de producci\u00f3n. Para el cliente, esto s\u00f3lo significa ejecutar una compilaci\u00f3n.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>npm run build<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Cuando termine, esto copiar\u00e1 los archivos finales del cliente a un subdirectorio del directorio del servidor. El servidor Node extraer\u00e1 el contenido de la aplicaci\u00f3n desde all\u00ed.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_configuring_and_running_the_web_server\">Configuraci\u00f3n y ejecuci\u00f3n del servidor web<\/h3>\n<div class=\"paragraph\">\n<p>Cambie los directorios a <code>web\/servidor<\/code>. Instale los paquetes Node.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>npm instalar<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>El servidor tiene algunos par\u00e1metros que necesitan ser configurados. He incluido un paquete que los extraer\u00e1 de las variables de entorno o de un archivo llamado .env en el directorio del servidor. Los par\u00e1metros se dividen en dos grupos, los necesarios para <a href=\"https:\/\/www.couchbase.com\/blog\/es\/getting-started-with-urban-airship-push-notifications\/\">Notificaciones push de Urban Airship<\/a>y los necesarios para conectarse a Couchbase.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Los par\u00e1metros son<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Clave de la aplicaci\u00f3n Urban Airship<\/li>\n<li>Un secreto maestro de Urban Airship<\/li>\n<li>La URL del cluster de Couchbase Server<\/li>\n<li>El nombre de usuario y la contrase\u00f1a de un usuario del cl\u00faster CB Server con los privilegios adecuados.<\/li>\n<li>Una URL para conectarse a un nodo de Couchbase Server Analytics Service.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Este conjunto de comandos del shell Bash crear\u00e1 una plantilla para usted.<\/p>\n<pre class=\"lang:sh decode:true\">cat &gt; .env &lt;&lt;EOF\r\nUA_APPLICATION_KEY=&#039;'\r\nUA_APPLICATION_MASTER_SECRET=''\r\nCLUSTER='couchbase:\/\/localhost'\r\nCLUSTER_USER='admin'\r\nCLUSTER_PASSWORD='contrase\u00f1a'\r\nCLUSTER_CBAS='localhost:8095'\r\nPUERTO=8080\r\nEOF<\/pre>\n<\/div>\n<div class=\"paragraph\">\n<p>Alternativamente, puedes establecer variables de entorno. Por ejemplo, puede omitir los par\u00e1metros del dirigible urbano y configurarlos as\u00ed.<\/p>\n<pre class=\"lang:sh decode:true\">export UA_APPLICATION_KEY=\r\nexport UA_APPLICATION_MASTER_SECRET=<\/pre>\n<\/div>\n<div class=\"paragraph\">\n<p>Si no quieres utilizar la funci\u00f3n de notificaciones push de Urban Airship, configura las teclas UA a algo arbitrario.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ya puedes ejecutar el servidor.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>npm iniciar<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Abra un navegador y vaya a <code>localhost:8080<\/code>. Deber\u00eda ver la consola web.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=33s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=33s\">Configuraci\u00f3n del servidor web y del cliente<\/a><\/li>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=75s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=75s\">Configuraci\u00f3n del dirigible urbano del lado del servidor<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_android_mobile_application\">Aplicaci\u00f3n m\u00f3vil Android<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Abrir <code>m\u00f3vil\/android\/CBCHealth<\/code> en Android Studio para crear la aplicaci\u00f3n.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La aplicaci\u00f3n m\u00f3vil para Android utiliza Urban Airship para las notificaciones push. Si quieres incluir esta funci\u00f3n, debes rellenar la configuraci\u00f3n de Urban Airship con tus propias claves. Consulte <code>mobile\/android\/CBCHealth\/app\/src\/main\/assets\/airshipconfig.properties.sample<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si no desea incluir notificaciones push, elimine la siguiente l\u00ednea de la aplicaci\u00f3n <code>AndroidManifest.xml<\/code> archivo.<\/p>\n<pre class=\"lang:default decode:true\">&lt;meta-data\r\n  android:name=\"com.urbanairship.autopilot\"\r\n  android:value=\"com.couchbase.mobile.notifications.Autopilot\" \/&gt;<\/pre>\n<\/div>\n<div class=\"paragraph\">\n<p>Por defecto, esto construye una versi\u00f3n de la aplicaci\u00f3n para su uso con el emulador de Android. Hay un di\u00e1logo de entrada suave para introducir lecturas de temperatura.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si quieres utilizar el parche real con un dispositivo real, tienes que hacer dos cambios.<\/p>\n<\/div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\" start=\"https:\/\/www.couchbase.com\/get-started\">\n<li>En <code>mobile\/android\/CBCHealth\/app\/build.gradle<\/code> cambiar <code>def par\u00e1metros = \".EMULADOR\"<\/code> a <code>def par\u00e1metros = \".DEFAULT\"<\/code> (V\u00e9ase <code>mobile\/android\/CBCHealth\/app\/src\/main\/java\/com\/couchbase\/mobile\/app\/launch\/Parameters.java<\/code> para las definiciones de estas entradas)<\/li>\n<li>En <code>mobile\/android\/CBCHealth\/app\/src\/main\/resources\/META-INF\/services\/com.couchbase.mobile.collectors.Collector<\/code> cambiar <code>com.couchbase.mobile.collectors.temperature.ManualEntry<\/code> a <code>com.couchbase.mobile.colectores.temperatura.RF430_TMPSNS_EVM<\/code><\/li>\n<\/ol>\n<\/div>\n<div class=\"paragraph\">\n<p>V\u00eddeo relacionado:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a title=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=749s\" href=\"https:\/\/www.youtube.com\/watch?v=RlSMLkd9vrg&amp;t=749s\">Aplicaci\u00f3n m\u00f3vil<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_wrapping_up\">Conclusi\u00f3n<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Hay mucho que hacer aqu\u00ed. El prop\u00f3sito de este post es principalmente ponerte en marcha con una aplicaci\u00f3n completa que puedes usar para probar varios aspectos de Couchbase.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pr\u00f3ximamente profundizaremos en el c\u00f3digo y la configuraci\u00f3n.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_postscript\">Posdata<\/h3>\n<div class=\"paragraph\">\n<p>Couchbase es de c\u00f3digo abierto y <a title=\"https:\/\/www.couchbase.com\/downloads\" href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/\">probar gratis<\/a>.<br \/>\n<strong>Empezar<\/strong> con <a title=\"https:\/\/www.couchbase.com\/get-started\" href=\"https:\/\/developer.couchbase.com\/tutorials\">c\u00f3digo de ejemplo, consultas de ejemplo, tutoriales y mucho m\u00e1s<\/a>.<br \/>\nEncuentre otros recursos en nuestra <a title=\"https:\/\/www.couchbase.com\/developers\/community\/\" href=\"https:\/\/www.couchbase.com\/blog\/es\/developers\/community\/\">portal para desarrolladores<\/a>.<br \/>\nS\u00edguenos en Twitter <a title=\"https:\/\/twitter.com\/CouchbaseDev\" href=\"https:\/\/twitter.com\/CouchbaseDev\">@CouchbaseDev<\/a>.<br \/>\nPuede enviar preguntas a nuestro <a title=\"https:\/\/www.couchbase.com\/forums\/\" href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/\">foros<\/a>.<br \/>\nParticipamos activamente en <a title=\"https:\/\/stackoverflow.com\/questions\/tagged\/couchbase\" href=\"https:\/\/stackoverflow.com\/questions\/tagged\/couchbase\">Stack Overflow<\/a>.<br \/>\nEnv\u00edame tus preguntas, comentarios, temas que te gustar\u00eda ver, etc. a Twitter. <a title=\"https:\/\/twitter.com\/HodGreeley\" href=\"https:\/\/twitter.com\/HodGreeley\">@HodGreeley<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Note: This post uses the the Couchbase Analytics Data Definition Language as of the version 5.5 preview release.\u00a0 For updates and information on breaking changes in newer versions, please refer to\u00a0Changes to the Couchbase Analytics Service. The application built for [&hellip;]<\/p>","protected":false},"author":73,"featured_media":5194,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,2294,7667,1810,1816,2273,2165,1812],"tags":[1998,2241,2255,1996,2177,1771,2239,2240,1337,1725],"ppma_author":[9042],"class_list":["post-5334","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-analytics","category-couchbase-lite","category-couchbase-mobile","category-couchbase-server","category-eventing","category-full-text-search","category-n1ql-query","tag-application","tag-configure","tag-connect-sv-2017-demo","tag-couchbase-connect","tag-couchbase-data-platform","tag-curl","tag-demo","tag-demonstration","tag-iot","tag-nosql-database"],"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>The Couchbase Data Platform in Action: Step-by-Step Setup<\/title>\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\/es\/couchbase-data-platform-action-setup-steps\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Couchbase Data Platform in Action: Step-by-Step Setup\" \/>\n<meta property=\"og:description\" content=\"Note: This post uses the the Couchbase Analytics Data Definition Language as of the version 5.5 preview release.\u00a0 For updates and information on breaking changes in newer versions, please refer to\u00a0Changes to the Couchbase Analytics Service. The application built for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-data-platform-action-setup-steps\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-18T13:26:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T05:39:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"385\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Hod Greeley, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@HodGreeley\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hod Greeley, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/\"},\"author\":{\"name\":\"Hod Greeley, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/9b62593c8a13531e53d52fcd5aabbca4\"},\"headline\":\"The Couchbase Data Platform in Action: Step-by-Step Setup\",\"datePublished\":\"2018-06-18T13:26:51+00:00\",\"dateModified\":\"2025-06-14T05:39:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/\"},\"wordCount\":1929,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif\",\"keywords\":[\"application\",\"Configure\",\"Connect SV 2017 Demo\",\"Couchbase Connect\",\"Couchbase Data Platform\",\"curl\",\"Demo\",\"Demonstration\",\"IoT\",\"NoSQL Database\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Couchbase Analytics\",\"Couchbase Lite\",\"Couchbase Mobile\",\"Couchbase Server\",\"Eventing\",\"Full-Text Search\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/\",\"name\":\"The Couchbase Data Platform in Action: Step-by-Step Setup\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif\",\"datePublished\":\"2018-06-18T13:26:51+00:00\",\"dateModified\":\"2025-06-14T05:39:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif\",\"width\":720,\"height\":385,\"caption\":\"Short animation of demo screens\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Couchbase Data Platform in Action: Step-by-Step Setup\"}]},{\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\/9b62593c8a13531e53d52fcd5aabbca4\",\"name\":\"Hod Greeley, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/21eb69cb5d4a401fb23b149e4f4e9e87\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g\",\"caption\":\"Hod Greeley, Developer Advocate, Couchbase\"},\"description\":\"Hod Greeley is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, including computational physics and chemistry, computer and network security, finance, and mobile. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung. Hod holds a Ph.D. in chemical physics from Columbia University.\",\"sameAs\":[\"https:\/\/hod.greeley.org\/blog\",\"https:\/\/x.com\/HodGreeley\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/hod-greeley\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"La plataforma de datos Couchbase en acci\u00f3n: Configuraci\u00f3n paso a paso","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\/es\/couchbase-data-platform-action-setup-steps\/","og_locale":"es_MX","og_type":"article","og_title":"The Couchbase Data Platform in Action: Step-by-Step Setup","og_description":"Note: This post uses the the Couchbase Analytics Data Definition Language as of the version 5.5 preview release.\u00a0 For updates and information on breaking changes in newer versions, please refer to\u00a0Changes to the Couchbase Analytics Service. The application built for [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-data-platform-action-setup-steps\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-06-18T13:26:51+00:00","article_modified_time":"2025-06-14T05:39:42+00:00","og_image":[{"width":720,"height":385,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif","type":"image\/gif"}],"author":"Hod Greeley, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@HodGreeley","twitter_misc":{"Written by":"Hod Greeley, Developer Advocate, Couchbase","Est. reading time":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/"},"author":{"name":"Hod Greeley, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/9b62593c8a13531e53d52fcd5aabbca4"},"headline":"The Couchbase Data Platform in Action: Step-by-Step Setup","datePublished":"2018-06-18T13:26:51+00:00","dateModified":"2025-06-14T05:39:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/"},"wordCount":1929,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif","keywords":["application","Configure","Connect SV 2017 Demo","Couchbase Connect","Couchbase Data Platform","curl","Demo","Demonstration","IoT","NoSQL Database"],"articleSection":["Application Design","Best Practices and Tutorials","Couchbase Analytics","Couchbase Lite","Couchbase Mobile","Couchbase Server","Eventing","Full-Text Search","SQL++ \/ N1QL Query"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/","name":"La plataforma de datos Couchbase en acci\u00f3n: Configuraci\u00f3n paso a paso","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif","datePublished":"2018-06-18T13:26:51+00:00","dateModified":"2025-06-14T05:39:42+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/DemoShort_720.gif","width":720,"height":385,"caption":"Short animation of demo screens"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-data-platform-action-setup-steps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Couchbase Data Platform in Action: Step-by-Step Setup"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos 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":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@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\/9b62593c8a13531e53d52fcd5aabbca4","name":"Hod Greeley, Defensor del Desarrollador, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/21eb69cb5d4a401fb23b149e4f4e9e87","url":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","caption":"Hod Greeley, Developer Advocate, Couchbase"},"description":"Hod Greeley es desarrollador de Couchbase y vive en Silicon Valley. Tiene m\u00e1s de dos d\u00e9cadas de experiencia como ingeniero de software y director de ingenier\u00eda. Ha trabajado en una variedad de campos de software, incluyendo f\u00edsica computacional y qu\u00edmica, seguridad inform\u00e1tica y de redes, finanzas y m\u00f3viles. Antes de unirse a Couchbase en 2016, Hod dirigi\u00f3 las relaciones con desarrolladores para m\u00f3viles en Samsung. Hod es doctor en f\u00edsica qu\u00edmica por la Universidad de Columbia.","sameAs":["https:\/\/hod.greeley.org\/blog","https:\/\/x.com\/HodGreeley"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/hod-greeley\/"}]}},"authors":[{"term_id":9042,"user_id":73,"is_guest":0,"slug":"hod-greeley","display_name":"Hod Greeley, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","author_category":"","last_name":"Greeley","first_name":"Hod","job_title":"","user_url":"https:\/\/hod.greeley.org\/blog","description":"Hod Greeley es desarrollador de Couchbase y vive en Silicon Valley. Tiene m\u00e1s de dos d\u00e9cadas de experiencia como ingeniero de software y director de ingenier\u00eda. Ha trabajado en una variedad de campos de software, incluyendo f\u00edsica computacional y qu\u00edmica, seguridad inform\u00e1tica y de redes, finanzas y m\u00f3viles. Antes de unirse a Couchbase en 2016, Hod dirigi\u00f3 las relaciones con desarrolladores para m\u00f3viles en Samsung. Hod es doctor en f\u00edsica qu\u00edmica por la Universidad de Columbia."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/5334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/73"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=5334"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/5334\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/5194"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=5334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=5334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=5334"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=5334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}