Giter VIP home page Giter VIP logo

aa-serverless-net's Introduction

TP .NET et Serverless

Rendu Grégoire Desjonquères et Jules Rigaud

Nous avons réalisé le TP au fur et à mesure des commits, c'est à dire que certaines réponses aux questions des parties précédentes ont été supprimées en fonction de leur utilité dans la partie suivante.

1. Hello World!

Choix de .NET 8 (lts), finalement comme les fonctions nouvelle de ce runtime vis-à-vis de la version 6 utilisée pour les Azure functions ne sont pas utilisée il ne devrait pas y avoir de problème de partoabilité.

2. NuGet packages

3. Traitement d'image locale

Pour le benchmark, nous utilisons 8 images générées par Copilot, nous leur appliquons un effet peinture à l'huile OilPaint de la librairie ImageSharp.

Le gain de temps que j'ai mesuré ne semble pas extrêmement significatif, il me semble que c'est parce que la paraléllisation à été lancée aussi sur les lectures/écriture dans le système de fichier, ce qui me semble moins paraléllisable.

4. Portage vers une Azure Function

Cas de test, nous avons pris beaucoup de temps pour installer et faire fonctionner le setup de test d'Azure function en local (avec l'outil Core Tools, que l'extension Azure manipule seule, donc pas besoin de connaître la CLI de Core Tools), difficultée rencontrée : il faut ajouter les caractères d'échappement avant les doubles guillemets dans l'option
--data '{\"name\":\"Azure\"}'.

Commande utilisée pour la fonction Azure de test en local :

curl.exe -i
         -X POST http://localhost:7071/api/ResizeHttpTrigger
         -H "content-type: application/json"
         -H "Accept: application/json"
         -d '{ \"name\":\"AzureBoy\"}'

Cela permet simplement de faire fonctionner le template de code C# qui est généré automatiquement.

Implémentation de la fonction de resizing :

Après implémentation de la fonction de resizing, nous avons continué à utiliser PowerShell avec curl.exe mais nous n'arrivions pas à ouvrir le fichier output.jpeg qui était pourtant bien reçu (l'appllication Photos n'arrivait pas à afficher le contenu, j'ai laissé ce genre de fichier à l'adresse sample1/img/output.txt).

Après adaptation sur WSL2 (Debian) avec la commande :

 curl --data-binary "@robot.jpeg" -X POST "http://$(hostname).local:7071/api/ResizeHttpTrigger?h=100&w=100" -v > output.jpeg

A noter qu'il faut remplacer localhost par $(hostname).local pour accéder aux port de l'hôte depuis WSL.

Ici le lien vers un ZIP qui contient la vidéo démonstration des éléments ci-dessus : https://drive.google.com/file/d/1cW_6Its2cbYUiFWoxDPJ5P5KO7SXj48l/view?usp=drive_link

5. Intégration avec Logic Apps

La difficultée principale rencontrée ici est qu'il fallait désactiver la segmentation des données au niveau de la requête HTTP.

Le lien vers la vidéo de test : https://drive.google.com/file/d/1rHIvGF-UcMDRvtS4qOoawA7Z5_r0JNPu/view?usp=sharing

aa-serverless-net's People

Contributors

lvovan avatar julesrigaudgithub avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.