pexels-photo-92905

O Azure Function é uma arquitetura servless muito útil, no qual pode-se desenvolver funcionalidades desacopladas com relativa facilidade (muito aderente a uma arquitetura de microserviços, por exemplo).

A Azure permite a utilização de algumas linguagens para tal, como por exemplo javascript e C#Script.

C# scripting was introduced into .NET community together with the Roslyn CTP back in October 2011. The primary idea behind C# scripting was to allow for code to be dynamically evaluated at runtime. While there have been other technologies allowing that in the past (Reflection.Emit, CodeDOM etc.), Roslyn took this concept to new heights by introducing scripting – using not the regular strict C#, but a relaxed version of C# language semantics.

Fonte – MSDN

Na prática funciona como um código C# mais enxuto e compacto, ideal para a execução de scripts.

Este é um tutorial de como criar um function, e rodar o script localmente.

Pré-requisitos:

Outros programas serão instalados durante o tutorial.

Parte 1 – Instalação:

No cmd ou no seu bash preferido digite: cinst scriptcs para instalar o Scriptcs,Scriptcs

 

No Visual Studio Code, vá para o menu de extensions e instale o scriptcsRunner

scriptcsRunner

 

2 – Estrutura do Projeto:

São necessários dois arquivos, um json com as informações da function e o script csx propriamente dito. Segue um json genérico que pode ser usado (explicaremos cada campo mais tarde):

function.json

function.json

 

O outro arquivo é o script em si. Por exemplo, já podemos executar um hello world, para executar basta pressionar  crtl+shift+R.

hello.csx

hello.csx

 

Sim, o código é só isso! Sem usings, sem classes ou métodos, apenas duas linhas.

usings

 

 

Deixe um comentário

1 comment

  1. Anônimo

    Bacana.
    Porém tenho algumas dúvidas?
    Por que não utilizou o azure function cli para rodar a sua function, desta forma utilizaria o pipe line de execução da azure function, inclusive a sua estrutura de compilação e parâmetros de execução do hosts.json e sim um scriptrunner?

    Parabéns pelo post.