Publicar uma função no Azure usando as Core Tools

Concluído

Você pode usar as Core Tools para publicar suas funções no Azure.

Agora que você criou e testou sua função de juros simples, você deseja publicá-la no Azure. Seria ótimo vê-lo em execução na Web. Quando isso acontecer, você poderá enviar a URL aos seus colegas para que eles possam ver como eles podem chamá-la de qualquer lugar.

Criar um aplicativo de funções

Antes de usar o Core Tools para publicar um projeto, você precisa criar os recursos necessários no Azure, incluindo o aplicativo de funções usado para hospedar o projeto. Funções também exigem uma conta de armazenamento. Você não pode usar o Core Tools para criar esses recursos do Azure. Em vez disso, você cria aplicativos de funções por meio das ferramentas de gerenciamento do Azure, que incluem o portal do Azure, a CLI do Azure e o Azure PowerShell. No próximo exercício, você executará o comando az functionapp create da CLI do Azure para criar um aplicativo de funções no qual possa publicar o seu código.

No escopo deste tutorial, a opção mais importante a ser considerada ao criar um aplicativo de funções é o runtime da linguagem de programação. Um aplicativo de função dá suporte apenas a um único runtime de linguagem de programação. Se você já tem um projeto de funções local que deseja publicar, crie o aplicativo de funções com o mesmo runtime da linguagem de programação. Quando você tentar implantar um projeto em um aplicativo com um runtime diferente, a publicação travará e exibirá um erro.

Publicar no Azure

Para publicar seu projeto de funções em um aplicativo de funções no Azure, execute func azure functionapp publish <app_name> na pasta do projeto de funções. <app_name> é o nome do aplicativo de função de destino no Azure, não o nome da pasta do projeto, que pode ser diferente.

Publishing a function app with func azure functionapp publish.

O Core Tools não solicita que você entre no Azure. Em vez disso, ele acessa suas assinaturas e recursos carregando as informações na sessão da CLI do Azure ou no Azure PowerShell. Se você não tiver uma sessão ativa em uma dessas ferramentas, a publicação falhará. É possível publicar do Core Tools sem a CLI do Azure ou o Azure PowerShell. No entanto, é mais fácil se você tiver umas delas. Recomendamos que você instale uma ou a outra. Lembre-se de entrar antes de tentar publicar.

Depois que a saída indicar que a publicação está concluída, suas funções estarão ativas e em execução no Azure. A saída de publicação final mostra as funções que foram publicadas, incluindo a URL de invocação de cada função disparada por HTTP.

Observações importantes

Veja a seguir alguns pontos importantes a serem lembrados ao usar o Core Tools para publicar suas funções:

  • O Core Tools não valida nem testa o código de suas funções durante a publicação.
  • Use func start para fazer alguns testes antes de publicar!
  • Durante a publicação, todas as funções já presentes no aplicativo de destino são interrompidas e excluídas antes da implantação do conteúdo do seu projeto.
  • Não é possível combinar funções de vários projetos em um aplicativo publicando-as nessa sequência.
  • Todas as funções que você deseja no aplicativo devem estar em um projeto.
  • A publicação no Azure não cria nenhum tipo de relacionamento entre o projeto local e o aplicativo de funções de destino.
  • É possível publicar um único projeto de funções para vários aplicativos de funções.
  • Você também pode republicar um projeto no mesmo aplicativo repetidamente enquanto trabalha no código.
  • As URLs de invocação exibidas após a publicação podem incluir um parâmetro code na cadeia de caracteres de consulta.
  • Você pode vê-lo na captura de tela: ?code=4FowT1ywMNoxqa...
  • As funções de gatilho HTTP têm um nível de autorização de função, que exige que você passe uma chave de função secreta nos cabeçalhos de solicitação ou na cadeia de caracteres de consulta.
  • O Core Tools retorna a chave na cadeia de caracteres de consulta da URL exibida, para sua conveniência.