Agregando un custom deployment script para Azure Functions desplegadas desde GitHub con un proyecto web de test

El escenario

Como parte de una aplicación con Azure Functions existente, que contiene unas Functions HTTP que generan archivos Excel y los devuelven como un byte array, quería agregar un proyecto web para tests de integración que al ser ejecutados descargaran el archivo Excel resultante. Estas Azure Functions se despliegan automáticamente desde un repositorio en GitHub.

Kudu y los scripts de despliegue

Al usar GitHub para desplegar cualquier aplicación en Azure App Service (incluyendo Azure Function), Kudu elige el script de despliegue de acuerdo al tipo de proyecto. Tal como dice en el artículo Customizing deployments de la wiki de Kudu, si tenemos un proyecto web en el repositorio, entonces compila y despliega ese proyecto. Sigue leyendo

Anuncios
git

Moviendo algunos archivos de un repositorio Git a otro conservando la historia

Muchos proyectos comienzan como algo chico, dentro de un único repositorio Git, pero a medida que el tiempo avanza, y el proyecto se vuelve algo más complejo, es probable que surja la necesidad de separar una parte del proyecto a otro repositorio. Cuando esto sucede, algo que no queremos es perder toda la historia de esos archivos, o sea, queremos mover los archivos correspondientes a un subproyecto junto con toda su historia.

Objetivo

  • Mover el directorio 1 desde el repositorio A al repositorio B.

Restricciones

  • No queremos mover el resto de los directorios del repositorio A.
  • Queremos mantener el historial de cambios del directorio que moveremos al repositorio B.

Preparándonos para mover

Lo primero que haremos será clonar nuestro repositorio, ¡lo último que queremos es perder información valiosa por ejecutar un comando errado! Sigue leyendo

Application Insights: Ignorar errores 404 para Web APIs

Application Insights es una excelente herramienta de monitoreo, pero considera a todos los status codes 4xx y 5xx como errores, y al escribir una API REST algunos de estos códigos tienen un significado particular y no son errores. Una respuesta con 404 (Not found) en una API REST normalmente significa que no hubo resultados para un dado recurso, no que solicitamos una página inexistente.

Así que, ¿cómo le decimos a Application Insights que ignore esos 404? Simple: creamos lo que se llama un Telemetry processor.

Luego necesitamos agregar este processor a la configuración de telemetría de Application Insights, para eso usaremos una clase helper:

Y finalmente la llamamos en nuestro global.asax:

Ahora no veremos más esos errores 404 en Application Insights.

@gjbellmann

Azure Functions: estructura básica y dependencias

Hoy veremos cómo es la estructura básica de archivos de una Azure Function, cómo podemos editar esos archivos y cómo agregamos las librerías que tenemos como dependencias en nuestro código.

Código de la función

Las funciones son el componente principal del servicio de Azure Functions. Escribimos el código de nuestra función en el lenguaje de nuestra preferencia y guardamos el archivo de código junto con la configuración en la misma carpeta.

Archivo de la función en C#

Las funciones en C# se crean en un archivo llamado run.csx. Los archivos .csx, llamados C# Script, nos permiten abstraernos de todo el código repetitivo como los namespaces, las clases y demás, y enfocarnos en el código de nuestra función. Si necesitamos agregar alguna clase que sea usada en nuestro código, podemos agregarla en el mismo archivo.

En el caso de Azure Functions el método que usamos para ejecutar la función es Run: Sigue leyendo

Explorando Azure Functions

Azure Functions es un servicio relativamente nuevo de Microsoft Azure (lanzado como Preview a fines de marzo de 2016) que nos permite ejecutar código en base a eventos, sin preocuparnos en absoluto por la infraestructura en donde corre, una corriente llamada arquitectura serverless (sin servidor).

Dos servicios con los que compite son AWS Lambda y Google Cloud Functions.

Características

Lenguajes

Tenemos una amplia variedad de lenguajes para programar una Azure Function: C#, JavaScript, F# (en preview), Python, PHP, Java, e incluso Bash, Batch o PowerShell. Sigue leyendo

HDInsight: nuevos entrenamientos y labs sobre Hadoop, Hive, HBase, Spark y Storm

Repost de https://blogs.msdn.microsoft.com/ashish/2016/08/28/hdinsight-new-self-paced-trainings-and-labs/

Existen tres cursos online creados por Microsoft Learning Experiences y disponibles de forma gratuita en edX (a menos que se quiera tener un certificado, para lo cual se abona USD 49). Los cursos son en inglés. Sigue leyendo

¡Hola Mundo! en Service Fabric

Introducción

Hoy vamos a crear nuestra primera aplicación usando Service Fabric. Para ello vamos a necesitar:

Vamos al código

Lo primero que necesitamos es lanzar Visual Studio 2015 como Administrador (esto es porque necesitamos permisos de administrador para lanzar el clúster de pruebas local en el cual correremos el ejemplo).

Luego creamos nuestra aplicación, HelloWorldApplication: Sigue leyendo