Logic Apps è un motore di workflow fortemente basato su servizi che permette di esprimere velocemente logiche in forma visuale. E' perfetto quando i requisiti non sono particolarmente complicati e ci esonera da moltissimi aspetti di hosting e setup del progetto.
In questo script lo vogliamo utilizzare abbinandolo ad un servizio dei Cognitive Service: content moderator. Il servizio permette di inviare un'immagine e ottenere una valutazione sul grado di razzismo o della presenza di contenuti per adulti. Nelle Logic Apps esiste un connettore che ci permette facilmente di integrare questo servizio e di realizzare, per esempio, un workflow che analizzi tutte le nuove immagini inserite in un blob per ricevere un'e-mail che inviti a controllare il contenuto nel caso l'esito dia un controllo positivo.
Creiamo quindi una nuova Logic App e posizioniamoci nel designer. Inseriamo prima di tutto un trigger When a blob is added or modified.

Indichiamo il container e gli intervalli di controllo. Successivamente creiamo una action di nome Create SAS URI by path, in modo da creare un indirizzo temporaneo di lettura all'immagine.

Diamo una scadenza di un'ora usando l'espressione addDays(utcNow(), 1). Procediamo con la action Check if an image contains racy or adult content indicando di usare l'indirizzo temporaneo appena creato.

Creiamo infine una condizione che vada a valutare la presenza in OR di contenuti per adulti o razzisti.

In caso positivo inviamo un'e-mail al moderatore indicando l'indirizzo dell'immagine e la classificazione data.

Ad ogni passaggio sarà richiesto di impostare le rispettive connessioni e chiavi, ma in pochi minuti otteniamo un sistema scalabile in grado di effettuare controlli su poche o moltissime immagini.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Scaling per app con Azure App Service
Usare l'option pattern per gestire la configurazione in ASP.NET Core
GitHub e .NET 6
Aggiungere temi custom a Blazor
Creare un'istanza di Azure SQL Database tramite ARM
Log streaming di una Azure Container App
Dependency injection nei componenti di Blazor
Taggare automaticamente un repository con una pipeline di Azure DevOps
Layout skeleton per Screen Reader
Integrare e trasformare dati con Azure Data Factory
Monitorare i costi di Azure con i budget
Dependency injection con Minimal API di ASP.NET Core
I più letti di oggi
- Tracciare gli eventi tramite i DevTools di Chrome
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Accedere alla console di una Azure Container App
- Utilizzare i metodi Linq MinBy e MaxBy per semplificare le ricerche degli elementi minimi e massimi in liste di oggetti complessi con LINQ
- Usare il throttling per limitare la frequenza degli eventi in Blazor
- Track 1: @marcominerva ci parla di DateOnly e TimeOnly in #dotnetTrack 2: @raffaeler su come monitorare e prevenire problemi in produzione (parte 2)Track 3: live show (ultimo segmento live della giornata) Seguici live su #aspilive: https://aspit.co/devconf-22
- Track 1: @dbochicchio con produttività con #aspnetcore6Track 2: @raffaeler su come monitorare e prevenire problemi in produzione (parte 1)Track 3: live show Seguici live su #aspilive: https://aspit.co/devconf-22
- Track 1: @morwalpiz con #blazor #pwa e offline-firstTrack 2: @amelchiori con #githubactions e #terraform: l'infrastruttura, dalla definizione al deploy Seguici live su #aspilive: https://aspit.co/devconf-22