Publicar uma função no Azure usando as Ferramentas Principais

Concluído

Você pode usar as Ferramentas Principais para publicar suas funções no Azure.

Agora que você criou e testou sua função de interesse simples, deseja publicá-la no Azure. Seria ótimo vê-lo funcionando na web. Quando estiver, você pode enviar a URL para seus colegas para que eles possam chamá-la de qualquer lugar.

Criar uma aplicação de funções

Antes de poder usar as Ferramentas Principais para publicar um projeto, você precisa criar os recursos necessários no Azure, incluindo o aplicativo de função usado para hospedar o projeto. As funções também requerem uma conta de armazenamento. Você não pode usar as Ferramentas Principais para criar esses recursos do Azure. Em vez disso, você cria aplicativos de função 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, execute o comando az functionapp create CLI do Azure para criar um aplicativo de função no qual você pode publicar seu código.

Dentro do escopo deste tutorial, a opção mais importante a ser considerada ao criar um aplicativo de função é o tempo de execução da linguagem. Um aplicativo de função suporta apenas um único tempo de execução de linguagem. Se você já tiver um projeto de funções locais que deseja publicar, certifique-se de criar o aplicativo de função com o mesmo tempo de execução de linguagem. Quando você tenta implantar um projeto em um aplicativo com um tempo de execução diferente, a publicação é interrompida com um erro.

Publicar no Azure

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

Publishing a function app with func azure functionapp publish.

As Ferramentas Principais não pedem que você entre no Azure. Em vez disso, ele acessa suas assinaturas e recursos carregando suas informações de sessão da CLI do Azure ou do Azure PowerShell. Se você não tiver uma sessão ativa em uma dessas ferramentas, a publicação falhará. É possível publicar a partir das Ferramentas Principais sem a CLI do Azure ou o Azure PowerShell. No entanto, é mais fácil se você os tiver. Recomendamos que instale um ou outro. Certifique-se de que inicia sessão 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 acionada por HTTP.

Aspetos importantes

Aqui estão algumas coisas que você deve ter em mente quando você usa as Ferramentas Principais para publicar suas funções:

  • As ferramentas principais não validam nem testam o código das suas funções durante a publicação.
  • Certifique-se de que utiliza func start para fazer testes antes de publicar!
  • Quando publicar, quaisquer funções já presentes na aplicação de destino serão paradas e eliminadas antes de os conteúdos do seu projeto serem implementados.
  • Não é possível combinar funções de vários projetos em um aplicativo publicando-as nesta 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 relação entre o projeto local e o aplicativo de função de destino.
  • Pode publicar um único projeto de funções em múltiplas aplicações de funções.
  • Você também pode publicar novamente um projeto no mesmo aplicativo repetidamente enquanto trabalha em seu código.
  • As URLs de invocação exibidas após a publicação podem incluir um code parâmetro 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 requer que você passe uma chave de função secreta nos cabeçalhos de solicitação ou na cadeia de caracteres de consulta.
  • Core Tools retorna a chave na seqüência de caracteres de consulta da URL exibida, para sua conveniência.