1
votes

Développement de la fonction Azure dans un script C # dans Visual Studio

J'ai créé Azure Function (version 2.0) dans Azure Portal, le projet a été créé avec certains fichiers initiaux, y compris run.csx . J'ai développé ma fonction Azure en C # Script.

Je souhaite maintenant développer la même fonction Azure dans Visual Studio à l'aide de C # Script. Mais chaque fois que j'essaye de créer et de développer, je reçois à chaque fois un projet C #.

Quelqu'un peut-il m'aider à développer et à exécuter Azure Function en C # Script?


0 commentaires

3 Réponses :


1
votes

Vous devez créer un projet pour votre fonction. Ensuite, vous aurez un fichier .cs et un fichier host.json.

Vous pouvez tout développer dans VS et exécuter la fonction localement. Lorsqu'il est en cours d'exécution, vous pouvez publier sur Azure.

Une fois que vous commencez à créer des fonctions sur VS, le code déployé sera compilé, ce qui signifie que vous ne pouvez apporter des modifications qu'en utilisant VS, ce qui est souhaitable. Beaucoup plus stable que le portail ...

Commencez par créer une fonction simple juste pour tester et, bien que cela prenne quelques heures, vous en aurez bientôt la main.


2 commentaires

Merci de répondre. Vous avez raison, mais ce que j'essaie de faire, c'est que je souhaite développer Azure Function en script C # (fichiers .csx, pas .cs). VS ne me permet pas de développer des fichiers C # Script pour Azure Function. Existe-t-il un moyen d'implémenter le projet C # Script dans VS?


Je vois ... je ne pense pas qu'il y en ait ... Mais je ne suis pas sûr à 100%



1
votes

Visual studio ne prend pas en charge le fichier .csx, reportez-vous à ici .

Vous pouvez utiliser l'outil de ligne de commande ou le code Visual Studio pour .csx comme dans le lien mentionné ci-dessus.

Mais il existe une solution de contournement, vous pouvez utiliser l'outil de ligne de commande pour créer la fonction azure .csx, puis inclure le projet dans Visual Studio. Plus de détails suivent ce lien .


1 commentaires

Merci. J'utilise actuellement la ligne de commande pour développer et déployer la fonction azure dans C # Script. Mais impossible d'exécuter localement la même fonction en utilisant la commande func host start pour C # Script.



1
votes

Le VS ne génère pas de projet de fonction de script c #, si vous souhaitez générer un projet .csx, vous devez utiliser Azure Functions Core Tools pour générer Azure Function.

Il existe une option --csx lorsque vous utilisez func init que vous pouvez utiliser pour initialiser un projet de script C # (.csx).

Pour plus d'informations, vous pouvez consulter ce document: Créer un projet Functions local .


9 commentaires

Merci. J'utilise actuellement la ligne de commande pour développer et déployer la fonction azure dans C # Script. Mais impossible d'exécuter localement la même fonction en utilisant la commande func host start pour C # Script.


@vivek patel, quelle est l'erreur? Je teste avec la fonction csx locale, ça marche bien.


[7/12/18 18:02:37] Démarrage de JobHost [7/12/18 18:02:37] Démarrage de l'hôte [7/12/18 18:02:37] Chargement des métadonnées des fonctions [7/12/18 18 : 02: 37] 0 fonction chargée [7/12/18 18:02:37] Génération de 0 fonction (s) de tâche [7/12/18 18:02:37] Aucune fonction de tâche trouvée. Essayez de rendre vos classes d'emplois et vos méthodes publiques. Si vous utilisez des extensions de liaison (par exemple Stockage Azure, ServiceBus, Minuteries, etc.), assurez-vous d'avoir appelé la méthode d'inscription pour les extensions dans votre code de démarrage (par exemple, builder.AddAzureStorage (), builder.AddServiceBus ( ), constructeur.AddTimers (), etc.).


@vivek patel, quelle fonction testez-vous? HTTP, minuterie ou autres? Et dans votre situation, la fonction est déjà en cours d'exécution mais n'a pas pu détecter la fonction. Et si vous testez la fonction de stockage, avez-vous utilisé le bon package et configuré correctement.


J'essaye de tester la fonction de déclenchement HTTP. De plus, ma structure de dossiers est comme HTTPFunctionApp / host.json et HTTPFunctionApp / HTTPFunction / run.csx . J'exécute func host dans le répertoire HTTPFunctionApp . Pouvez-vous s'il vous plaît partager quelle est la structure de votre dossier et en utilisant quelle commande vous exécutez votre fonction en local?


@vivek patel, FunctionProject / host.json, local.settings.json, test / function.‌ json, run.csx. Exécutez simplement avec func host start. D'après votre description, vous n'avez probablement pas function.json et local.settings.json, n'est-ce pas?


J'ai tous les fichiers local.settings.json ainsi que function.json mais cela ne fonctionne toujours pas pour mon cas.


@vivek patel, quel runtime avez-vous utilisé? dotnet, node ou autres?


J'ai sélectionné le runtime dotnet