Azure Functions + Containers (Parte 2/2)
Publicado em: domingo, 21 de jun de 2020

No post passado o foco estava nos Agnostic Services e no uso de containers. Agora é hora de olharmos outra questão mais braçal. Rodar Azure Functions 3 com Containers, uma tarefa que deveria ser trivial, mas não é.

Nossa jornada começa com o tutorial Criar uma função no Linux usando um contêiner personalizado, onde no step “Configurar o ambiente local” temos o passo de instalação do “O Azure Functions Core Tools versão 2.7.1846 ou uma versão 2.x posterior.”, que nos redireciona para o post “Trabalhar com o Azure Functions Core Tools“.

Esse step nos dá 2 opções, Azure Functions 2 ou 3. Para instalar a versão 3, local, precisamos executar:

npm install -g azure-functions-core-tools@3

A instalação ocorre perfeitamente.

Mas… ao executar o passo para a criação do projeto, que encontramos no link Criar uma função no Linux usando um contêiner personalizado (primeiro da lista acima)

func init LocalFunctionsProject --worker-runtime dotnet --docker

Somos surpreendidos com um erro.

$ func init LocalFunctionsProject --worker-runtime dotnet --docker
events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: spawn C:\Users\luizc\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin/func ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:268:19)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:274:12)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'spawn C:\\Users\\luizc\\AppData\\Roaming\\npm\\node_modules\\azure-functions-core-tools\\bin/func',
  path: 'C:\\Users\\luizc\\AppData\\Roaming\\npm\\node_modules\\azure-functions-core-tools\\bin/func',
  spawnargs: [
    'init',
    'LocalFunctionsProject',
    '--worker-runtime',
    'dotnet',
    '--docker'
  ]
}

A solução, está nesse comentário do GitHub.

  1. Go to the installed location.C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules\azure-functions-core-tools in the example above.
  2. Run npm install unzipper@0.10.7
  3. Run npm .\lib\install.js node .\lib\install.js from that directory

Autor: Ankit Kumar

Uma vez executado o procedimento, deixamos de ter um problema na criação do projeto.

$ func init LocalFunctionsProject --worker-runtime dotnet --docker

Writing C:\_dev\docker-definitivo\AzFunc\LocalFunctionsProject\.vscode\extensions.json
Writing Dockerfile
Writing .dockerignore

Daqui pra frente é só seguir o tutorial, instalando o plugin do Visual Studio Code (ms-azuretools.vscode-azurefunctions)

E seguir com debug e teste local.

Aliás, você deu uma olhadinha no Dockerfile?

É peculiar, mas vou deixar para você dar uma olhada e comentar nesse post.

Quer saber mais sobre Azure Functions?

Te indico o material do Renato Groffe no Medium.

Se precisa de um treinamento sobre Serverless + Azure Functions, o Renato, o Milton e o Ericson encabeçam o Azure na Prática que pode te ajudar nessa direção.

Aliás, um passarinho me contou que vai rolar o Azure na Prática #13 – Serverless + Azure Functions #03, e está em pré-venda. Vale lembrar que em pré-venda, são R$ 400 reais de desconto.

Azure na Prática – Serverless + Azure Functions

Vai rolar no dia 29/08/2020 (sábado), com foco em Serverless + Azure Functions e englobando o uso de tecnologias como:
Azure Logic Apps, RabbitMQ, Apache Kafka, SQL Server, MongoDB, Redis, Application Insights, Azure Cosmos DB e GitHub Actions.

Acesse então o link a seguir para efetuar sua inscrição com o desconto especial de pré-venda (apenas R$ 200,00).
Sim, é isso mesmo! De R$ 600 por R$ 200!!!!

Quer saber mais sobre Docker & .NET + Open Source?

No mais, se quiser saber mais sobre Docker e .NET, principalmente Open Source e .NET vem comigo que também tenho muita coisa legal!

Luiz Carlos Faria

Mensagem do Autor

Espero que goste desse post. Não deixe de comentar e falar o que achou. 

Se acha que esse post pode ajudar alguém que você conheça, compartilhe!

 

Eventos passados

setembro 2020
agosto 2020
julho 2020
Nenhum evento encontrado!
Carregar Mais

Publicidade

Assine

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Lives

Fique de olho nas lives

Fique de olho nas lives no meu canal do Youtube, no Canal .NET e nos Grupos do Facebook e Instagram.

Aceleradores

Existem diversas formas de viabilizar o suporte ao teu projeto. Seja com os treinamentos, consultoria, mentorias em grupo.

Agenda & Eventos

agosto

setembro 2020

outubro
DOM
SEG
TER
QUA
QUI
SEX
SAB
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
Events for 1st setembro
Sem Eventos
Events for 2nd setembro
Sem Eventos
Events for 3rd setembro
Sem Eventos
Events for 4th setembro
Sem Eventos
Events for 5th setembro
Sem Eventos
Events for 6th setembro
Sem Eventos
Events for 7th setembro
Sem Eventos
Events for 8th setembro
Sem Eventos
Events for 9th setembro
Sem Eventos
Events for 10th setembro
Sem Eventos
Events for 11th setembro
Sem Eventos
Events for 12th setembro
Sem Eventos
Events for 13th setembro
Sem Eventos
Events for 14th setembro
Sem Eventos
Events for 15th setembro
Sem Eventos
Events for 16th setembro
Sem Eventos
Events for 17th setembro
Sem Eventos
Events for 18th setembro
Sem Eventos
Events for 19th setembro
Sem Eventos
Events for 20th setembro
Sem Eventos
Events for 21st setembro
Sem Eventos
Events for 22nd setembro
Sem Eventos
Events for 23rd setembro
Sem Eventos
Events for 24th setembro
Sem Eventos
Events for 25th setembro
Events for 26th setembro
Sem Eventos
Events for 27th setembro
Sem Eventos
Events for 28th setembro
Sem Eventos
Events for 29th setembro
Sem Eventos
Events for 30th setembro
Sem Eventos
Share This