Mengotomatiskan alur kerja untuk database SQL menggunakan Azure Logic Apps

Artikel ini memperlihatkan bagaimana Anda dapat mengakses data dalam database SQL Anda dari dalam aplikasi logika dengan konektor SQL Server. Dengan demikian, Anda dapat mengotomatisasi tugas, proses, atau alur kerja yang mengelola data dan sumber daya SQL Anda dengan membuat aplikasi logika. Konektor SQL Server berfungsi untuk SQL Server serta Azure SQL Database dan Azure SQL Managed Instance.

Anda dapat membuat aplikasi logika yang berjalan saat dipicu oleh peristiwa di database SQL Anda atau di sistem lain, seperti Dynamics CRM Online. Aplikasi logika Anda juga bisa mendapatkan, menyisipkan, dan menghapus data bersamaan dengan menjalankan kueri SQL dan prosedur yang disimpan. Misalnya, Anda dapat membuat aplikasi logika yang secara otomatis memeriksa rekaman baru di Dynamics CRM Online, menambahkan item ke database SQL Anda untuk setiap rekaman baru, lalu mengirim pemberitahuan surel tentang item yang ditambahkan.

Jika Anda baru menggunakan aplikasi logika, tinjau Apa itu Azure Logic Apps dan Mulai Cepat: Membuat aplikasi logika pertama Anda. Untuk informasi teknis khusus konektor, batasan, dan masalah yang diketahui, lihat halaman referensi konektor SQL Server.

Prasyarat

  • Langganan Azure. Jika Anda tidak memiliki langganan, daftar untuk membuat akun Azure gratis.

  • Database SQL Server, Azure SQL Database, atau Azure SQL Managed Instance.

    Tabel Anda harus memiliki data sehingga aplikasi logika Anda dapat mengembalikan hasil saat memanggil operasi. Jika Anda menggunakan Azure SQL Database, Anda bisa menggunakan contoh database, yang disertakan.

  • Nama server SQL, nama database, nama pengguna, dan kata sandi Anda. Anda memerlukan info masuk ini sehingga Anda dapat mengotorisasi logika Anda untuk mengakses server SQL Anda.

    • Untuk SQL Server lokal, Anda dapat menemukan detail ini dalam string koneksi:

      Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};

    • Untuk Azure SQL Database, Anda dapat menemukan detail ini dalam string koneksi.

      Misalnya, untuk menemukan string ini di portal Microsoft Azure, buka database Anda. Pada menu database, pilih String koneksi atau Properti:

      Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

  • Berdasarkan apakah aplikasi logika Anda akan berjalan di Azure global multi-penyewa atau lingkungan layanan integrasi (ISE), berikut adalah persyaratan lain untuk menyambungkan ke SQL Server lokal:

    • Untuk aplikasi logika di Azure multi-penyewa global yang tersambung ke SQL Server lokal, Anda harus memasang gateway data lokal di komputer lokal dan sumber daya gateway data yang sudah dibuat di Azure.

    • Untuk aplikasi logika dalam ISE yang tersambung ke SQL Server lokal dan menggunakan autentikasi Windows, konektor SQL Server versi ISE tidak mendukung autentikasi Windows. Jadi, Anda masih perlu menggunakan gateway data dan konektor Microsoft SQL Server non-ISE. Untuk jenis autentikasi lainnya, Anda tidak perlu menggunakan gateway data dan bisa menggunakan konektor versi ISE.

  • Aplikasi logika tempat Anda membutuhkan akses ke database SQL Anda. Untuk memulai Aplikasi Logika Anda dengan pemicu SQL, Anda memerlukan aplikasi logika kosong.

Menyambungkan ke database Anda

Saat Anda menambahkan pemicu atau tindakan yang tersambung ke layanan atau sistem untuk pertama kalinya, desain alur kerja meminta Anda untuk membuat koneksi dengan memberikan informasi yang diperlukan, yang bervariasi berdasarkan koneksi, misalnya:

  • Nama yang ingin Anda gunakan untuk koneksi baru

  • Nama untuk sistem atau server

  • Info masuk pengguna atau akun Anda

  • Jenis autentikasi untuk digunakan.

Sekarang, lanjutkan dengan langkah-langkah berikut:

Menyambungkan ke Microsoft Azure SQL Database atau Instans Terkelola

Untuk mengakses Azure SQL Managed Instance tanpa menggunakan gateway data lokal atau lingkungan layanan integrasi, Anda harus mengatur titik akhir publik pada Azure SQL Managed Instance. Titik akhir publik menggunakan port 3342, jadi pastikan Anda menentukan nomor port ini saat Anda membuat koneksi dari aplikasi logika Anda.

Pada saat pertama kalinya Anda menambahkan pemicu SQL atau tindakan SQL, dan sebelumnya Anda belum membuat koneksi ke database, Anda akan diminta untuk menyelesaikan langkah-langkah ini:

  1. Untuk Jenis Autentikasi, pilih autentikasi yang diperlukan dan diaktifkan pada database Anda di Azure SQL Database atau Azure SQL Managed Instance:

    Autentikasi Deskripsi
    Azure Active Directory Terintegrasi - Mendukung konektor server non-ISE dan ISE SQL Server.

    - Memerlukan identitas yang valid di Azure Active Directory (Azure AD) yang memiliki akses ke database Anda.

    Untuk informasi selengkapnya, lihat topik berikut ini:

    - Ringkasan Keamanan Azure SQL - Autentikasi
    - Mengotorisasi akses database ke Azure SQL - Autentikasi dan otorisasi
    - Azure SQL - Autentikasi Terintegrasi Azure Active Directory

    Autentikasi SQL Server - Mendukung konektor server non-ISE dan ISE SQL Server.

    - Membutuhkan nama pengguna yang valid dan kata sandi yang kuat yang dibuat dan disimpan dalam database Anda.

    Untuk informasi selengkapnya, lihat topik berikut ini:

    - Ringkasan Keamanan Azure SQL - Autentikasi
    - Mengotorisasi akses database ke Azure SQL - Autentikasi dan otorisasi

    Identitas Terkelola - Mendukung konektor server non-ISE dan ISE SQL Server.

    Memerlukan identitas terkelola yang valid yang memiliki akses ke database Anda,SQL akses peran Kontributor DB ke sumber daya SQL Server, dan akses Kontributor ke grup sumber daya yang mencakup sumber daya SQL Server.

    Untuk informasi selengkapnya, lihat SQL - Server-Level Roles.

    Contoh ini berlanjut dengan Azure Active Directory Terintegrasi:

    Cuplikan layar yang memperlihatkan jendela koneksi "SQL Server" dengan daftar "Jenis Autentikasi" yang dibuka dan "Azure Active Directory Terintegrasi" dipilih.

  2. Setelah Anda memilih Azure Active Directory Terintegrasi, pilih Masuk. Berdasarkan apakah Anda menggunakan Azure SQL Database atau Azure SQL Managed Instance, pilih info masuk pengguna Anda untuk autentikasi.

  3. Pilih nilai ini untuk database Anda:

    Properti Diperlukan Deskripsi
    Nama server Ya Alamat untuk server SQL Anda, misalnya, Fabrikam-Azure-SQL.database.windows.net
    Nama database Ya Nama untuk database SQL Anda, misalnya, Fabrikam-Azure-SQL-DB
    Nama tabel Ya Tabel yang ingin Anda gunakan, misalnya, SalesLT.Customer

    Tip

    Untuk menyediakan informasi database dan tabel, Anda memiliki opsi ini:

    • Temukan informasi ini dalam string koneksi database Anda. Misalnya, di portal Microsoft Azure, temukan dan buka database Anda. Pada menu database, pilih String koneksi atau Properti tempat Anda bisa menemukan string ini:

      Server=tcp:{your-server-address}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

    • Secara default, tabel dalam database sistem difilter, sehingga mungkin tidak muncul secara otomatis saat Anda memilih database sistem. Sebagai alternatif, Anda bisa memasukkan nama tabel secara manual setelah Anda memilih Masukkan nilai kustom dari daftar database.

    Contoh ini memperlihatkan seperti apa nilai-nilai ini:

    Membuat koneksi ke database SQL

  4. Sekarang, lanjutkan dengan langkah-langkah yang belum Anda selesaikan baik dalam Menambahkan pemicu SQL atau Menambahkan tindakan SQL.

Menyambungkan ke Microsoft SQL Server lokal

Pada saat pertama kalinya Anda menambahkan pemicu SQL atau tindakan SQL, dan sebelumnya Anda belum membuat koneksi ke database, Anda akan diminta untuk menyelesaikan langkah-langkah ini:

  1. Untuk koneksi ke server SQL lokal Anda yang memerlukan gateway data lokal, pastikan Anda telah menyelesaikan prasyarat ini.

    Jika tidak, sumber daya gateway data Anda tidak akan muncul di daftar Gateway Koneksi saat Anda membuat koneksi.

  2. Untuk Jenis Autentikasi, pilih autentikasi yang diperlukan dan diaktifkan di Microsoft SQL Server Anda:

    Autentikasi Deskripsi
    Autentikasi Windows - Hanya mendukung konektor Microsoft SQL Server non-ISE, yang memerlukan sumber daya gateway data yang sebelumnya dibuat di Azure untuk koneksi Anda, terlepas dari apakah Anda menggunakan Azure multi-penyewa atau ISE.

    - Memerlukan nama pengguna dan kata sandi Windows yang valid untuk mengonfirmasi identitas Anda melalui akun Windows Anda.

    Untuk informasi selengkapnya, lihat Autentikasi Windows

    Autentikasi SQL Server - Mendukung konektor server non-ISE dan ISE SQL Server.

    - Membutuhkan nama pengguna yang valid dan kata sandi yang kuat yang dibuat dan disimpan dalam Microsoft SQL Server Anda.

    Untuk informasi selengkapnya, lihat Autentikasi SQL Server.

    Contoh ini berlanjut dengan Autentikasi Windows:

    Pilih jenis autentikasi yang akan digunakan

  3. Pilih atau sediakan nilai berikut untuk database SQL Anda:

    Properti Diperlukan Deskripsi
    Nama server SQL Ya Alamat untuk server SQL Anda, misalnya, Fabrikam-Azure-SQL.database.windows.net
    Nama database SQL Ya Nama untuk database Microsoft SQL Server Anda, misalnya, Fabrikam-Azure-SQL-DB
    Nama pengguna Ya Nama pengguna Anda untuk server dan database SQL
    Kata sandi Ya Kata sandi Anda untuk server dan database SQL
    Langganan Ya, untuk autentikasi Windows Langganan Azure untuk sumber daya gateway data yang sebelumnya Anda buat di Azure
    Gateway Koneksi Ya, untuk autentikasi Windows Nama untuk sumber daya gateway data yang sebelumnya Anda buat di Azure

    Tips: Jika gateway Anda tidak muncul dalam daftar, periksa apakah Anda menyiapkan gateway dengan benar.

    Tip

    Temukan informasi ini dalam string koneksi database Anda:

    • Server={your-server-address}
    • Database={your-database-name}
    • User ID={your-user-name}
    • Password={your-password}

    Contoh ini memperlihatkan seperti apa nilai-nilai ini:

    Membuat koneksi SQL Server selesai

  4. Jika Anda sudah siap, pilih Kirim.

  5. Sekarang, lanjutkan dengan langkah-langkah yang belum Anda selesaikan baik dalam Menambahkan pemicu SQL atau Menambahkan tindakan SQL.

Menambahkan pemicu SQL

  1. Di portal Microsoft Azure atau di Visual Studio, buat aplikasi logika kosong, yang membuka Logic App Designer. Contoh ini berlanjut dengan portal Microsoft Azure.

  2. Pada perancang di kotak pencarian, masukkan sql server. Dari daftar pemicu, pilih pemicu SQL yang Anda inginkan. Contoh ini menggunakan pemicu Saat item dibuat.

    Pilih pemicu "Saat item dibuat"

  3. Jika Anda menyambungkan ke database SQL untuk pertama kalinya, Anda diminta untuk membuat koneksi database SQL Anda sekarang. Setelah Anda membuat koneksi ini, Anda dapat melanjutkan dengan langkah berikutnya.

  4. Dalam pemicu, tentukan interval dan frekuensi seberapa sering pemicu memeriksa tabel.

  5. Untuk menambahkan properti lain yang tersedia untuk pemicu ini, buka daftar Tambahkan parameter baru.

    Pemicu ini hanya mengembalikan satu baris dari tabel yang dipilih, dan tidak ada yang lain. Untuk melakukan tugas lain, lanjutkan dengan menambahkan tindakan konektor SQL atau tindakan lain yang melakukan tugas berikutnya yang Anda inginkan di alur kerja aplikasi logika Anda.

    Misalnya, untuk menampilkan data di baris ini, Anda bisa menambahkan tindakan lain yang membuat file yang menyertakan bidang dari baris yang dikembalikan, lalu mengirim pemberitahuan surel. Untuk mempelajari tindakan lain yang tersedia untuk konektor ini, lihat halaman referensi konektor.

  6. Di toolbar perancang, pilih Simpan.

    Meskipun langkah ini secara otomatis memungkinkan dan memublikasikan aplikasi logika Anda secara langsung di Azure, satu-satunya tindakan yang saat ini dilakukan aplikasi logika Anda adalah memeriksa database Anda berdasarkan interval dan frekuensi yang ditentukan.

Memicu pergeseran dan pelepasan pengulangan

Pemicu berbasis koneksi di mana Anda perlu membuat koneksi terlebih dahulu, seperti pemicu SQL, berbeda dari pemicu bawaan yang berjalan secara asli di Azure Logic Apps, seperti Pemicu pengulangan. Dalam pemicu berbasis koneksi berulang, jadwal pengulangan bukan satu-satunya driver yang mengontrol eksekusi dan zona waktu hanya menentukan waktu mulai awal. Proses berikutnya bergantung pada jadwal pengulangan, eksekusi pemicu terakhir, dan faktor lain yang mungkin menyebabkan waktu berjalan menyimpang atau menghasilkan perilaku yang tidak diharapkan, misalnya, tidak mempertahankan jadwal yang ditentukan saat waktu musim panas (DST) dimulai dan berakhir. Untuk memastikan bahwa waktu pengulangan tidak bergeser saat DST berlaku, sesuaikan pengulangan secara manual sehingga aplikasi logika Anda terus berjalan pada waktu yang diharapkan. Jika tidak, waktu mulai bergeser satu jam ke depan ketika waktu musim panas dimulai dan mundur satu jam ketika waktu musim panas berakhir. Untuk informasi selanjutnya, lihat Pengulangan untuk pemicu berbasis koneksi.

Menambahkan tindakan SQL

Dalam contoh ini, aplikasi logika dimulai dengan pemicu Pengulangan dan memanggil tindakan yang mendapatkan baris dari database SQL.

  1. Di portal Microsoft Azure atau di Visual Studio, buka aplikasi logika Anda di Logic App Designer. Contoh ini dilanjutkan dengan portal Microsoft Azure.

  2. Di bagian pemicu atau tindakan tempat Anda ingin menambahkan tindakan SQL, pilih Langkah baru.

    Menambahkan tindakan ke aplikasi logika Anda

    Selain itu, untuk menambahkan tindakan di antara langkah-langkah yang sudah ada, pindahkan mouse Anda ke atas panah penghubung. Pilih tanda plus ( + ) yang muncul, lalu pilih Tambahkan tindakan.

  3. Pada bagian Pilih tindakan, di kotak pencarian, masukkan sql server. Dari daftar tindakan, pilih tindakan SQL yang Anda inginkan. Contoh ini menggunakan tindakan Dapatkan baris, yang mendapatkan satu baris.

    Pilih tindakan SQL "Dapatkan baris"

  4. Jika Anda menyambungkan ke database SQL untuk pertama kalinya, Anda diminta untuk membuat koneksi database SQL Anda sekarang. Setelah Anda membuat koneksi ini, Anda dapat melanjutkan dengan langkah berikutnya.

  5. Pilih nama Tabel, yaitu SalesLT.Customer dalam contoh ini. Masukkan ID Baris untuk baris yang Anda inginkan.

    Pilih nama tabel dan tentukan ID baris

    Tindakan ini hanya mengembalikan satu baris dari tabel yang dipilih, dan tidak ada yang lain. Jadi, untuk menampilkan data di baris ini, Anda mungkin menambahkan tindakan lain yang membuat file yang menyertakan bidang dari baris yang dikembalikan, dan menyimpan file tersebut di akun penyimpanan cloud. Untuk mempelajari tindakan lain yang tersedia untuk konektor ini, lihat halaman referensi konektor.

  6. Jika sudah selesai, pilih Simpan di toolbar perancang.

    Langkah ini secara otomatis memungkinkan dan memublikasikan aplikasi logika Anda secara langsung di Azure.

Menangani data massal

Terkadang, Anda harus bekerja dengan rangkaian hasil yang sangat besar sehingga konektor tidak mengembalikan semua hasil sekaligus, atau Anda ingin kontrol yang lebih baik atas ukuran dan struktur untuk hasil Anda. Berikut adalah beberapa cara untuk menangani hasil besar tersebut:

  • Untuk membantu Anda mengelola hasil sebagai set yang lebih kecil, aktifkan pagination. Untuk informasi selanjutnya, lihat Mendapatkan data, catatan, dan item massal dengan menggunakan pagination. Untuk informasi selanjutnya, lihat SQL Pagination untuk transfer data massal dengan Azure Logic Apps.

  • Buat prosedur tersimpan yang mengatur hasilnya seperti yang Anda inginkan. Konektor SQL menyediakan banyak fitur backend yang dapat diakses menggunakan Azure Logic Apps sehingga Anda dapat dengan lebih mudah mengotomatiskan tugas bisnis yang berfungsi dengan tabel database SQL.

    Saat mendapatkan atau menyisipkan beberapa baris, aplikasi logika Anda dapat mengulangi baris ini dengan menggunakan until loop dalam batas ini. Namun, ketika aplikasi logika Anda harus bekerja dengan kumpulan catatan yang begitu besar, misalnya, ribuan atau jutaan baris, yang biayanya ingin Anda minimalkan yang dihasilkan dari panggilan ke database.

    Untuk mengatur hasil dengan cara yang Anda inginkan, Anda dapat membuat prosedur tersimpan yang berjalan dalam instans SQL Anda dan menggunakan pernyataan SELECT - ORDER BY. Solusi ini memberi Anda lebih banyak kontrol atas ukuran dan struktur hasil Anda. Aplikasi logika Anda memanggil prosedur tersimpan dengan menggunakan tindakan Jalankan prosedur tersimpan konektor SQL Server. Untuk informasi selanjutnya, lihat SELECT - ORDER BY Clause.

    Catatan

    Konektor SQL memiliki batas waktu habis prosedur tersimpan yang kurang dari 2 menit. Beberapa prosedur tersimpan mungkin memerlukan waktu lebih lama dari batas ini untuk diselesaikan, sehingga menyebabkan kesalahan 504 Timeout. Anda dapat mengatasi masalah ini dengan menggunakan pemicu penyelesaian SQL, permintaan kirim langsung SQL asli, tabel kondisi bagian, dan pekerjaan sisi server.

    Untuk tugas ini, Anda bisa menggunakan Azure Elastic Job Agent untuk Azure SQL Database. Untuk SQL Server lokal dan Azure SQL Managed Instance, Anda dapat menggunakan SQL Server Agent. Untuk mempelajari lebih lanjut, lihatMenangani batas waktu prosedur tersimpan lama di konektor SQL untuk Azure Logic Apps.

Menangani data massal dinamis

Ketika Anda memanggil prosedur yang disimpan dengan menggunakan konektor SQL Server, output yang dikembalikan terkadang bersifat dinamis. Dalam skenario ini, ikuti langkah-langkah berikut:

  1. Di portal Microsoft Azure, buka aplikasi logika Anda di Logic App Designer.

  2. Lihat format output dengan melakukan uji coba. Salin dan simpan contoh output Anda.

  3. Di perancang, di bagian tindakan di mana Anda memanggil prosedur yang disimpan, pilih Langkah baru.

  4. Pada bagian Pilih tindakan, temukan dan pilih tindakan Parse JSON.

  5. Dalam tindakan Parse JSON, pilih Gunakan contoh muatan untuk menghasilkan skema.

  6. Dalam kotak Masukkan atau tempel contoh muatan JSON, tempelkan contoh output Anda dan pilih Selesai.

    Catatan

    Jika Anda mendapatkan kesalahan bahwa Azure Logic Apps tidak dapat menghasilkan skema, periksa apakah sintaks output sampel Anda sudah diformat dengan benar. Jika Anda masih tidak dapat menghasilkan skema, dalam kotak Skema, masukkan skema secara manual.

  7. Di toolbar perancang, pilih Simpan.

  8. Untuk mereferensikan properti konten JSON, klik di dalam kotak edit tempat Anda ingin mereferensikan properti tersebut sehingga daftar konten dinamis muncul. Dalam daftar, di bawah judul Parse JSON, pilih token data untuk properti konten JSON yang Anda inginkan.

Memecahkan masalah

Masalah koneksi

Masalah koneksi biasanya sering terjadi, jadi untuk memecahkan masalah dan mengatasi masalah semacam ini, tinjau Memecahkan kesalahan konektivitas ke SQL Server. Berikut adalah beberapa contohnya:

  • A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

  • (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 53)

  • (provider: TCP Provider, error: 0 - No such host is known.) (Microsoft SQL Server, Error: 11001)

Detail spesifik konektor

Untuk informasi teknis tentang pemicu, tindakan, dan batasan konektor ini, lihat halaman referensi konektor, yang dihasilkan dari deskripsi Swagger.

Langkah berikutnya