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
Innestare una query nel metodo Contains di Entity Framework Core
Effettuare test di carico con Azure Load Testing
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
3 metodi JavaScript che ogni applicazione web dovrebbe contenere
Dependency Injection e custom validator in Blazor con .NET 7.0
Produttività con ASP.NET Core 6
Mostrare una preview durante l'upload di un'immagine in Blazor
Linting di un Dockerfile con un workflow di GitHub
Scoprire le ottimizzazioni di Entity Framework Core in fase di scrittura di un solo record
Utilizzare il metodo reduce in JavaScript
Utilizzo di Map e Object in Javascript
I più letti di oggi
- Rilasciata la versione 1.0 di ASP.NET MVC
- Abilitare HTTP/3 in ASP.NET Core 7.0
- Seconda preview per i Dynamic Data Control 4.0
- Ecco la roadmap di ASP.NET 5: il rilascio definitivo nel corso del primo trimestre 2016
- Rilasciato il Service Pack 3 di SQL Server 2005
- Rilasciata la versione 1.0 di ASP.NET Core
- Questionario sulla qualità di VS 2005
- Disponibile il SP1 di SQL Server 2008