Cargando



Operaciones en CouchDB utilizando cURL

En este tutorial entonces veremos cómo hacer algunas de las operaciones más básicas en CouchDB utilizando únicamente la consola de comandos sin necesidad de utilizar un lenguaje de programación para hacer una aplicación.


feb 18 2015 00:55
Profesional
feb 18 2015 10:59
Hacer interacciones con CouchDB es muy fácil una vez que tenemos acceso a Futon y a través de la interfaz gráfica podemos empezar a crear documentos y colecciones, sin embargo esto solo es funcional cuando tenemos un acceso de interfaz gráfica o web. En otros entornos seguramente necesitaremos una interfaz a través de un web service para poder construir las estructuras que necesitaremos.

Una manera muy sencilla para conectarnos de una forma “no gráfica” es a través de cURL ya que con esta herramienta podemos enviar peticiones bajo los diferentes métodos HTTP que soporta CouchDB y además podemos utilizarlo para otros fines diferentes al uso de CouchDB.


Requisitos

1- Necesitamos tener una instalación funcional de CouchDB, para los primeros pasos en esta herramienta se puede ingresar en el siguiente enlace, si hemos establecido el usuario administrador debemos tener su nombre de usuario y la contraseña.
2- Es necesario una conexión a Internet para descargar los requisitos necesarios para la instalación de cURL.
3- También vamos a necesitar tener permisos para instalar aplicaciones, ya que en el caso de no tener cURL hay que instalarlo.

Instalación de cURL en Linux

Si estamos utilizando sistemas basados en Linux como Ubuntu o LinuxMint la instalación de cURL es tan sencilla como simplemente utilizar el siguiente comando desde la consola:
sudo apt-get updatesudo apt-get install curl libcurl3 libcurl3-dev php5-curl
Esto nos dará todas las herramientas necesarias para poder ejecutar cURL desde nuestra línea de comandos y así poder interactuar con CouchDB.

Instalación de cURL en Windows

En Windows lamentablemente el proceso es un poco más complejo para poder lograr la instalación de cURL, sin embargo no es una tarea imposible, vamos a describir los pasos necesarios para poder lograr este objetivo antes de interactuar con CouchDB.
1- Instalar los archivos de Visual C++ 2008 y 2010 llamados redistributables, estos podemos conseguirlos de forma gratuita y para plataformas de 32 bits y 64 bits. En nuestro caso utilizaremos la plataforma 64 bits en el siguiente enlace.



2- Acto siguiente debemos instalar la version de OpenSSL correspondiente a nuestro sistema, para ello podemos visitar la siguiente web donde conseguiremos el paquete acorde a nuestro sistema ya sea 64 bits o 32 bits.

couch-operacionees-curl-2.jpg



3- Una vez que tenemos los pre-requisitos instalados, ahora vamos a proceder a bajar e instalar cURL para ello nos dirigiremos a el siguiente enlace y obtendremos el paquete genérico para nuestra versión, como hemos venido haciendo en los pasos anteriores escogeremos para este caso el de 64 bits.


4- Una vez obtenido el archivo anterior vamos a descomprimirlo en una carpeta y hacer la instalación correspondiente.

5- Por último debemos instalar el certificado SSL, este paso es muy importante y no debemos saltarlo, para ello nos dirigimos a la siguiente página web, una vez ahí vamos a descargar el archivo cacert.pem y lo vamos a copiar donde instalamos cURL en el paso anterior, finalmente lo renombramos a curl-ca-bundle.crt.

6- Abrimos una consola con cmd y nos dirigimos a la carpeta donde tenemos curl y el certificado anterior y ejecutamos curl.exe --help para ver los diferentes comandos disponibles. Con ello ya tendremos cURL instalado en nuestro equipo.

Estableciendo nuestra primera conexión con CouchDB

Ya que tenemos la herramienta de comunicación con el servicio y en teoría debemos tener preparado CouchDB, ahora vamos a probar que podemos conectarnos, para ello en la consola donde tenemos curl vamos a ejecutar lo siguiente:
curl http: //127.0.0.1:5984curl.exe http: //127.0.0.1:5984
La primera opción nos funciona para Linux y la segunda en Windows, como lo único que cambia es el .exe al final del comando y como el tutorial lo estamos construyendo bajo Windows, vamos a mantener la segunda por el resto de los ejemplos. Al ejecutar la instrucción anterior el servidor CouchDB nos debe responder mostrándonos un mensaje con la versión del mismo.


couch-operacionees-curl-4.jpg


Esto nos indica que ya tenemos acceso a CouchDB y podemos empezar a manipular las diferentes colecciones de documentos que tengamos o crear nuevas si así lo deseamos.

Crear una Base de Datos

Siguiendo la filosofía de servicios REST la creación de elementos recae en el método HTTP PUT, es por ello que si queremos crear una Base de Datos únicamente debemos enviar una petición PUT desde cURL y así podremos cumplir el objetivo, para ello podemos ejecutar lo siguiente:
curl.exe -X PUT http: //127.0.0.1:5984/prueba-bd
Lo que está luego de la dirección de CouchDB es el nombre que tendrá nuestra Base de Datos esto nos debe dar un resultado como el siguiente:


couch-operacionees-curl-5.jpg


Tenemos un problema, como nuestra instalación tiene un usuario administrador no podemos tener acceso libremente, pero esto no es problema únicamente debemos pasar el usuario y la contraseña en la conexión de la siguiente forma:
http: //usuario:password@127.0.0.1:5984/
Luego de saber esto vamos a proceder a repetir el comando con los ajustes necesarios:
curl.exe -X PUT http: //root:123456@127.0.0.1:5984/prueba-bd
Ahora vemos que si tenemos un mensaje de ok, significa que la operación fue completada correctamente:

couch-operacionees-curl-6.jpg



Si tratamos de repetir la acción obtendremos un error ya que CouchDB va a validar que la Base de Datos ya existe:


couch-operacionees-curl-7.jpg



Si queremos consultar el contenido de nuestra Base de Datos únicamente debemos cambiar el método de PUT por GET y podremos validar información importante de la misma:
curl.exe -X GET http: //root:123456@127.0.0.1:5984/prueba-bd


couch-operacionees-curl-8.jpg



Lo cual es realmente valioso para informarnos que está sucediendo con nuestra Base Datos en caso que no estemos seguros.

Crear un documento dentro de la Base de Datos

Ahora vamos a pasar a la parte más interesante del tutorial, ya que tenemos nuestra Base de Datos, seguramente nos va a interesar almacenar algo dentro de la misma, para ello debemos insertar documentos. Los documentos en CouchDB están compuestos bajo la estructura JSON, por lo que es de esta forma que debemos enviar los datos para que puedan ser procesados.

En cURL únicamente debemos establecer el encabezado de la petición que estamos enviando e indicar que se trata de JSON, luego le damos la ruta de nuestra Base de Datos que hemos creado pero en este caso utilizando el método POST, y por último le pasamos el contenido de nuestro nuevo documento.

Veamos el siguiente código que nos permite agregar un documento a la Base de Datos que hemos creado en el ejercicio anterior:
curl.exe -H “Content-type: application/json” -X POST http: //root:123456@127.0.0.1:5984/prueba-bd -d \“{\"titulo\": \"Primer Documento\"}”
Notemos que hemos colocado barras de escape para las comillas dobles dentro del JSON, esto nos daría un mensaje de ok al igual que cuando creamos nuestra Base de Datos:


couch-operacionees-curl-9.jpg


Si nos hemos fijado la respuesta del ok no vino sola, también nos trajo otros campos dentro del JSON uno corresponde al id del documento dentro de la Base de Datos y otro a la revisión.

Consultar por id


El último párrafo del ejemplo anterior nos lleva a este nuevo ejercicio que es consultar por id un documento de nuestra Base de Datos, para ello simplemente debemos hacer una petición GET y pasar el número del identificador luego del nombre de la Base de Datos, por ejemplo:
curl.exe -X GET http: //root:123456@127.0.0.1:5984/prueba-bd/90c25e76138e8341bfa1241a3700098e
Recordemos que los id son diferentes en cada equipo ya que es un hash único por lo que deben colocar el id correspondiente a su propia consulta. Esto al final nos dará el siguiente resultado como podemos ver en la siguiente imagen:


couch-operacionees-curl-10.jpg



Borrar la Base de Datos

El último método que no hemos visto es el de DELETE, este como su nombre lo indica nos permite eliminar recursos, es muy poderoso ya que sacará de nuestro servidor lo que coincida con el parámetro de búsqueda del mismo.

Vamos a borrar la Base de Datos que hemos creado para demostrar cómo podemos utilizarlo, simplemente debemos utilizar el siguiente comando:
curl.exe -X DELETE http: //root:123456@127.0.0.1:5984/prueba-bd
Esto va a eliminar la Base de Datos junto a todos sus documentos, por lo que debemos ser cuidadosos al momento de empleador dicho método, veamos cómo nos queda el resultado:

couch-operacionees-curl-11.jpg



Si repetimos la búsqueda vía GET de la misma forma que empleamos en el primer ejercicio del tutorial veremos que no tendremos un resultado, simplemente CouchDB nos dirá que no puede encontrar el recurso como vemos en la siguiente imagen:


couch-operacionees-curl-12.jpg



Con esto finalizamos este tutorial, hemos visto cómo podemos instalar la herramienta cURL y con ella hacer interacciones directas con nuestro servidor CouchDB, este tipo de manejo nos sirve para entender más el proceso que lleva por detrás este gran motor de Base de Datos, y también nos demuestra que podemos utilizar la consola sin necesidad de tener que manejar un lenguaje de programación en particular.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X