Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2021/01/dp_azure.png)
- Πώς μπορούμε να συνδέσουμε Oracle Database με SQL Server με χρήση Oracle Gateway σε Linux - 1 Ιούλιος 2024
- Πώς αυτοματοποιούμε τη διαδικασία ελέγχου ακεραιότητας των βάσεων δεδομένων σε SQL Server χωρίς την χρήση maintenance plan - 10 Μάιος 2024
- Πώς μπορούμε να συνδέσουμε Oracle Database με SQL Server με χρήση Oracle Gateway σε Windows - 5 Απρίλιος 2024
Ας πούμε ότι θα θέλαμε κάθε μέρα να στέλνουμε με email ένα report από το αποτέλεσμα ενός query σε μία βάση δεδομένων. Αυτή η διαδικασία στον SQL Server γίνεται με τη χρήση του SQL Server Agent και του Database Mail. Στις Azure SQL Databases όμως δεν υπάρχει κανένα από τα δύο.
Στις Azure SQL Databases παρόλα αυτά μπορούμε να κάνουμε schedule jobs με πολλούς τρόπους όπως με χρήση Azure Data Factory, Elastic Database Jobs και Logic Apps.
Με τα Logic Apps μπορούμε να δημιουργήσουμε ένα workflow (ροή εργασιών) που γίνεται trigger από κάποιο event ή schedule.
Στο άρθρο θα δούμε ένα παράδειγμα με τη χρήση Logic App. Θα δημιουργήσουμε ένα task που κάθε μέρα θα αποθηκεύει τα αποτελέσματα ενός query σε ένα CSV και θα το αποστέλει με Gmail (μέσω API).
Το παράδειγμα
Για αρχή συνδεόμαστε στο Azure Portal και ψάχνουμε το service Logic apps.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-01.png)
Επιλέγουμε Add.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-02.png)
Στη συνέχεια επιλέγουμε το Resource Group που θα ανήκει, το όνομα του Logic App και το Region.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-03.png)
Αφού δημιουργηθεί ψάχνουμε λίγο πιο κάτω την επιλογή Blank Logic App.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-05.png)
Στο tab All βρίσκουμε το Schedule.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-08.png)
Στην περίπτωση που θέλουμε αν αποτύχει η εργασία να ξαναπροσπαθήσει μετά από λίγο θα επιλέξουμε Sliding Window, αν θέλουμε σε περίπτωση αποτυχίας να τρέξει την επόμενη φορά που είναι scheduled επιλέγουμε Recurrence.
Εδώ τώρα θα επιλέξουμε Recurrence.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-09.png)
Διαλέγουμε Add new parameter ώστε να προστέσουμε το Start Time και το Time zone.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-10.png)
Στο επόμενο βήμα πάμε πάλι στο tab All και επιλέγουμε SQL Server.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-11.png)
Θα μας εμφανίσει διάφορα Actions, εμείς θέλουμε το Execute stored procedure (V2).
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-12-943x1024.png)
Μετά θα μας ζητήσει να βάλουμε τα στοιχεία για να συνδεθούμε στη βάση δεδομένων.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-13-943x1024.png)
Αν πατήσουμε το Create και μας εμφανίσει αυτό το μήνυμα, σημαίνει ότι θα πρέπει να προσθέσουμε την IP του Logic App στα Firewall exceptions της Azure SQL Database.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-14-943x1024.png)
Για να γίνει αυτό πάμε στον logical Server της βάσης, Firewalls and virtual networks, Client IP address.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-15-943x1024.png)
Αφού προστεθεί θα δούμε ότι όταν επιλέξουμε το Create θα προχωρήσει.
Μετά επιλέγουμε το Server name και Database name με ότι δημιουργήθηκε πριν.
Διαλέγουμε το Add new parameter ώστε να προσθέσουμε την παράμετρο του query.
Στο query συμπληρώνουμε το query που θα θέλουμε να τρέχουμε κάθε φορά.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-16.png)
Στο επόμενο βήμα θέλουμε τα αποτελέσματα να αποθηκεύονται σε ένα CSV οπότε στο New step ψάχνουμε στο tab All το Data Operations και από εκεί το Action Create CSV table.
Εκεί πατάμε στο from και επιλέγουμε το ResultSets.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-18-793x1024.png)
Σε αυτό το σημείο θα αναζήτήσουμε στο New step το Gmail, εκεί θα επιλέξουμε το Action Send email (V2).
Θα μας ζητήσει τότε το Gmail με pop-up του API τα στοιχεία του email που θα είναι ο αποστολέας ώστε να δώσουμε πρόσβαση στο Logic App.
Αφού συνδεθούμε και μας οδηγήσει στο Send email (V2) θα πρέπει να πάμε στο Add new parameter και να προσθέσουμε Attachments, Subject και Body. Για να προσθέσουμε το attachment θα πρέπει να πατήσουμε το add dynamic content στο Attachments Content , see more, Output.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-19-822x1024.png)
Πλέον μπορούμε να δοκιμάσουμε την εφαρμογή επιλέγοντας Run.
(δεν ξεχνάμε να την κάνουμε Save)
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-20.png)
θα δούμε κατευθείαν ήρθε email που περιείχε το attachment από το query της βάσης.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-21-1024x927.png)
Στο Overview του Logic App μπορούμε να δούμε γενικές πληροφορίες όπως κάθε πότε θα τρέχει και το ιστορικό των εκτελέσεων του.
![Πώς μπορούμε να κάνουμε schedule ένα Job σε Azure SQL Database με τη χρήση Logic App](https://www.dataplatform.gr/wp-content/uploads/2020/12/ja-22-931x1024.png)