Archivo del Autor: gbellmann

Sync DocumentDB to Azure Search

Sincronización de DocumentDB a Azure Search usando indexadores

Introducción

Si usamos DocumentDB para almacenar los datos de nuestra aplicación, y queremos habilitar la búsqueda de texto completo, mediante un servicio de Azure Search, la mejor opción es utilizar indexadores, que hagan el trabajo de sincronización de nuestros datos hacia el servicio de búsqueda. Actualmente esta funcionalidad no está disponible en el SDK de Azure Search, así que deberemos usar la API.

Conceptos

Azure Search soporta la creación y administración de orígenes de datos (data sources) (incluyendo DocumentDB) e indexadores (indexers) que operan contra estos orígenes de datos. Sigue leyendo

Introducción a Azure DocumentDB

¿Qué es Azure DocumentDB?

Es un servicio de base de datos de documentos NoSQL, que corre en Microsoft Azure. Provee lecturas y escrituras rápidas consistentemente, schema flexible, y la habilidad de escalar fácilmente tanto hacia arriba como hacia abajo la base de datos. Soporta de forma nativa documentos JSON.

El producto está disponible de forma general desde hoy, 8 de abril.

Azure DocumentDB tiene las siguientes características claves y beneficios: Sigue leyendo

Usando Azure Search desde .NET

En el post anterior vimos un poco de historia y cómo crear nuestro primer servicio, hoy vamos a ver cómo usar este servicio desde .NET.

Instalar el SDK oficial

Al momento de escribir este post, el SDK oficial se encuentra en la versión 0.9.7-preview, con lo cual soporta sólo una parte de la funcionalidad disponible en la API 2015-02-28, pero es suficiente para hacer las tareas más comunes. Está disponible en NuGet, bajo el nombre Microsoft.Azure.Search (no olvidarse de seleccionar «Include Prerelease» para que aparezca en el listado de búsqueda).

Escenarios

Los escenarios que vamos a estar viendo son: Sigue leyendo

Introducción a Azure Search

Microsoft Azure Search es un servicio de búsqueda de texto completo (full-text search) implementado sobre la plataforma de Microsoft Azure. Este servicio nos da la posibilidad de implementar búsquedas complejas y potentes, sin tener que preocuparnos por mantener la infraestructura, incluso sin ser expertos en búsqueda.

Un poco de historia detrás de Azure Search

Apache Lucene

Logo Lucene

Lucene Core es un proyecto hecho en Java, que provee tecnología de indexado y búsqueda, como así también chequeo ortográfico, resaltado de coincidencias y capacidad avanzada de análisis/tokenización. Sigue leyendo

Introducción a Azure Mobile Services

¿Qué es el servicio de Azure Mobile Services?

Azure Mobile Services (Servicios Móviles) nos permite crear un backend para nuestras aplicaciones móviles en minutos. Podemos integrar aplicaciones sobre múltiples plataformas: Windows Phone, Windows Store, Android, iOS, Xamarin (iOS y Android), PhoneGap, HTML, Sencha y Appcelerator.

¿Qué funcionalidad nos provee?

  • Hosting de una web API .NET o Node.js con monitoreo y administración 24×7.
  • Uso de single sign-on con Microsoft Account, Active Directory, Facebook, Twitter y Google.
  • Notificaciones push a usuarios individuales y segmentos de audiencia dinámicos.
  • Guardar datos en SQL, Table Storage, y MongoDB.
  • Acceder sistemas on-premise, Office 365, y SharePoint.
  • Usar sincronización basada en la nube para aplicaciones que funcionan offline.
  • Autoescalado a millones de dispositivos.

¿Por dónde arrancamos?

Sigue leyendo

Haciendo consultas sobre Azure Table Storage

En las primeras versiones del Azure Storage library (1.x), la experiencia era muy similar a la de un Entity Repository, en el sentido que teníamos un Context y muchos llamados LINQ. Aunque era fácil de entender, era muy complicado determinar exactamente cuándo se hacía la consulta al servicio. Y era bastante molesto estar limitado solamente a las funciones «Where», «First» y «Select» de LINQ.

Desde la versión 2.0, tenemos disponible un objeto TableQuery que nos da más control sobre nuestra consulta y podemos entender mejor qué está pasando.

Trayendo una entidad

Para traer una entidad necesitamos hacer una consulta con el Partition Key y el Row Key. Sigue leyendo

Instalando New Relic en un Cloud Service

New Relic es una herramienta de analíticas de software, que nos provee de métricas del estado y uso de nuestras aplicaciones en tiempo real. Entre ellas, uso de CPU y memoria, cantidad y detalle de los errores, cantidad de transacciones, etc.

Para instalar el agente en una aplicación .NET basta con instalar el paquete de NuGet llamado «NewRelicWindowsAzure», el cual, usando la consola de NuGet (Tools -> NuGet Package Manager -> Package Manager Console) se instala con el siguiente comando:

Install-Package NewRelicWindowsAzure

Luego de bajarse el paquete, nos solicitará nuestro número de licencia y el nombre que queremos darle a nuestra aplicación, y con eso estaremos listos para publicar nuestro proyecto en la nube.

Existe un caso en el cual no se nos solicitará el número de licencia, y nuestro cloud service no quedará configurado: cuando tenemos nuestro proyecto de cloud service dentro de una carpeta de solución.

Para solucionar este problema tenemos dos opciones:

1) Realizar la configuración a mano en nuestros archivos de configuración del Cloud Service, y en los archivos de configuración de los proyectos de nuestros roles.

2) Desinstalar el paquete NuGet de New Relic, mover nuestro proyecto a la raíz de la solución, instalar nuevamente el paquete, ingresando el código de licencia y nombre de la aplicación, y volver a mover nuestro proyecto dentro de la carpeta en la que se encontraba.

Espero que les sirva!

@gjbellmann

Videos para #100devdays

Durante lso meses finales del año pasado, Microsoft realizó una campaña llamada 100 Developer Days, para los cuales se realizaron videos sobre diferentes tecnologías de Microsoft, los cuales se subieron a Channel 9, uno por día, durante 100 días.

Les dejo aquí los links a los videos que armé para la campaña:

#100devdays Servicios en la nube

#100devdays Creando una base de datos en Microsoft Azure

#100devdays Uso de almacenamiento en la nube

#100devdays Creación de un servicio programado

Saludos!

@gjbellmann

Error con restauración automática de paquetes NuGet

Tener activado NuGet package restore en nuestra solution de Visual Studio es súper útil, ya que no necesitamos versionar todos los paquetes de NuGet en nuestro repositorio, descargando e instalando los paquetes configurados cuando compilamos nuestro proyecto.
Ahora, si tenemos un proyecto que ya lleva un tiempo, muy probablemente recibamos un error similar al de la captura al compilar el proyecto:

NuGetError
El problema está en que cuando habilitamos el package restore, se copia la versión de NuGet instalada en ese momento a la solution (en mi caso 2.7.41115.310), y nunca más se actualiza.

Para solucionar el problema debemos correr el siguiente comando en la consola, que actualiza la versión de NuGet asociada a la solution:

<ruta de la solution>\.nuget\nuget update -self

Espero les sirva!

@gjbellmann