Publier une fonction sur Azure en utilisant Core Tools

Effectué

Vous pouvez utiliser Core Tools pour publier vos fonctions sur Azure.

Comme vous avez généré et testé votre fonction d’intérêt simple, vous souhaitez à présent la publier sur Azure. Vous aimeriez qu’elle fonctionne sur le web. Ainsi, vous pourrez envoyer l’URL à vos collègues pour qu’ils puissent l’appeler de n’importe où.

Créer une application de fonction

Si vous souhaitez pouvoir utiliser Core Tools pour publier un projet, vous devez créer les ressources nécessaires dans Azure, notamment l’application de fonction utilisée pour héberger le projet. Functions nécessite également un compte de stockage. Vous ne pouvez pas utiliser Core Tools pour créer ces ressources Azure. À la place, vous pouvez créer des applications de fonction via les outils de gestion Azure, qui incluent le portail Azure, Azure CLI et Azure PowerShell. Dans l’exercice suivant, exécutez la commande Azure CLI az functionapp create pour créer une application de fonction dans laquelle vous pourrez publier votre code.

Dans le cadre de ce tutoriel, l’option la plus importante à prendre en compte quand vous créez une application de fonction est le runtime de langage. Une application de fonction donnée ne prend en charge qu’un seul runtime de langage. Si vous avez déjà un projet de fonctions local que vous voulez publier, veillez à créer l’application de fonction avec le même runtime de langage. Quand vous essayez de déployer un projet sur une application avec un autre runtime, la publication s’arrête avec une erreur.

Publier sur Azure

Pour publier votre projet Functions dans une application de fonction au sein d’Azure, exécutez func azure functionapp publish <app_name> à partir du dossier de projet Functions. <app_name> est le nom de l’application de fonction cible dans Azure, et non le nom du dossier de votre projet (celui-ci pouvant être différent).

Publishing a function app with func azure functionapp publish.

Core Tools ne vous demande pas de vous connecter à Azure. À la place, il accède à vos abonnements et à vos ressources en chargeant les informations de session à partir d’Azure CLI ou d’Azure PowerShell. Si vous n’avez pas de session active dans l’un de ces outils, la publication échoue. Il est possible de publier à partir de Core Tools sans l’interface Azure CLI ni Azure PowerShell. Toutefois, votre tâche est plus simple si vous disposez de ces outils. Nous vous recommandons d’installer l’un ou l’autre. Veillez à vous connecter avant d’essayer de publier.

Une fois que la sortie indique que la publication a été effectuée, vos fonctions sont opérationnelles dans Azure. La sortie de publication finale montre les fonctions qui ont été publiées ainsi que l’URL d’appel de chaque fonction déclenchée par HTTP.

À savoir

Voici quelques éléments à prendre en compte quand vous utilisez Core Tools pour publier vos fonctions :

  • Core Tools ne valide pas et ne teste pas le code de vos fonctions durant la publication.
  • Veillez à utiliser func start pour effectuer des tests avant la publication.
  • Quand vous procédez à la publication, toutes les fonctions déjà présentes dans l’application cible sont arrêtées et supprimées avant le déploiement du contenu de votre projet.
  • Vous ne pouvez pas combiner les fonctions de plusieurs projets dans une seule application en les publiant dans cette séquence.
  • Toutes les fonctions que vous souhaitez dans l’application doivent se situer dans un seul projet.
  • La publication sur Azure ne crée aucun type de relation entre le projet local et l’application de fonction cible.
  • Vous pouvez publier un projet de fonctions sur plusieurs applications de fonction.
  • Vous pouvez aussi republier plusieurs fois un projet sur la même application à mesure que vous travaillez sur votre code.
  • Les URL d’appel affichées après la publication peuvent inclure un paramètre code dans la chaîne de requête.
  • Vous pouvez le voir dans la capture d’écran : ?code=4FowT1ywMNoxqa...
  • Les fonctions de déclencheur HTTP ont le niveau d’autorisation fonction, ce qui vous oblige à passer une clé fonction secrète dans les en-têtes de demande ou la chaîne de requête.
  • Pour plus de commodité, Core Tools retourne la clé dans la chaîne de requête de l’URL affichée.