Ruby/Amazon es una “biblioteca desarrollada en Ruby que provee acceso programático a las versiones REST de los Web Services de Amazon”. Básicamente la única dependencia de Ruby/Amazon es el procesador REXML, que es parte de la instalación de Ruby desde la versión 1.8.x, por lo que es bastante fácil comenzar a utilizarla minutos después de instalarla.

Comencé a trabajar con esta biblioteca durante el fin de semana debido al proyecto del que hablamos antes. Nuestro proyecto involucra proporcionar servicios de compra a través de Amazon, (evidentemente :) ) agregando cierta personalización a las búsquedas.

En el proceso de comenzar a utilizar la bilioteca, noté algunas puntos importantes, por lo que tengo 2 consejos para quienes quieran utilizar Ruby/Amazon:

1. Explora la documentación: En la página inicial de la documentación de Ruby/Amazon hay dos ejemplos sencillos que pueden utilizarse como introducción para entender el funcionamiento de la biblioteca. Si estás acostumbrado a la interfaz directa (REST o SOAP) de los Web Services, es recomendable que le des una revisada a toda la documentación porque el comportamiento de la biblioteca no coincide exactamente con el de los Web Services.

Por ejemplo, Amazon tiene un catálogo de búsquedas llamado “Blended”. Este catálogo sirve para realizar búsquedas sobre un conjunto de catálogos predefinidos, para cuando no sabes exactamente cuál deberías usar. Existe un parámetro en las búsquedas en donde se indica que el catálogo es “blended”. Sin embargo, en Ruby/Amazon, las búsquedas blended están implementadas en clases diferentes a las búsquedas que utilizan el resto de catálogos.

2. Actualiza el listado de catálogos: Los catálogos de Amazon están predefinidos y han sido modificados con las actualizaciones de la API de Amazon. La versión de Ruby/Amazon que está disponible actualmente en su sitio contiene un listado de catálogos desactualizada, por lo que deberás actualizarla y mantenerte al tanto de las actualizaciones de Amazon.

Para actualizar este listado, debes modificar el código de Ruby/Amazon, específicamente el archivo search.rb que se encuentra, en teoría en \lib\amazon\ dentro del directorio de instalación de Ruby, pero en mi instalación de ruby (en Windows) se ecuentra en \lib\ruby\site_ruby\1.8\amazon\

Puedes encontrar la información más actualizada de los catálogos en la documentación técnica de Amazon Web Services. La versión más actualizada en este momento es: Amazon E-Commerce Service API Version 2007-10-29. Los diferentes catálogos los puedes obtener de esta sección.

Actualmente no existe una forma automatizada de obtener de Amazon las actualizaciones a su listado de catálogos, pero es recomendable que esta información pueda ser actualizada de otra forma que no sea modificar el código fuente de la biblioteca. Quizás obtenerlo de otra fuente de datos administrable como una base de datos u otro Web Service, por ejemplo.

Adicionalmente, recomiendo mucho el sitio AWS Zone, que permite realizar pruebas reales de las interfaces de Amazon Web Services de forma bastante sencilla y amigable.

Espero que estos consejos te ayuden de alguna forma a echar andar facilmente tu desarrollo con Ruby/Amazon.

Leave a Reply