Bagikan melalui


Menjalankan titik akhir batch dari peristiwa Event Grid di penyimpanan

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Event Grid adalah layanan terkelola penuh yang dapat Anda gunakan untuk mengelola peristiwa dengan mudah di berbagai layanan dan aplikasi Azure. Layanan ini menyederhanakan cara Anda membangun aplikasi berbasis peristiwa dan tanpa server. Tutorial ini menunjukkan kepada Anda cara memicu pekerjaan titik akhir batch untuk memproses file segera setelah dibuat di akun penyimpanan. Arsitektur menggunakan alur kerja aplikasi logika untuk berlangganan peristiwa tersebut dan memicu titik akhir.

Diagram berikut menunjukkan arsitektur untuk solusi ini:

Diagram konseptual menunjukkan komponen untuk arsitektur ini.

Langkah-langkah berikut menjelaskan langkah-langkah tingkat tinggi dalam solusi ini:

  1. Saat blob baru dibuat di akun penyimpanan tertentu, peristiwa yang dibuat file dipicu.

  2. Acara dikirim ke Event Grid untuk diproses ke semua pelanggan.

  3. Alur kerja aplikasi logika berlangganan dan mendengarkan peristiwa tersebut.

    Akun penyimpanan dapat berisi beberapa aset data, sehingga pemfilteran peristiwa diterapkan untuk bereaksi hanya terhadap peristiwa yang terjadi di folder tertentu di akun penyimpanan. Pemfilteran lebih lanjut dapat dilakukan jika diperlukan, misalnya, berdasarkan ekstensi file.

  4. Alur kerja aplikasi logika memicu, dan melakukan tindakan berikut:

    1. Mendapatkan token otorisasi untuk memanggil titik akhir batch menggunakan kredensial dari perwakilan layanan.

    2. Memicu titik akhir batch (penyebaran default) menggunakan file yang baru dibuat sebagai input.

  5. Titik akhir batch mengembalikan nama pekerjaan yang dibuat untuk memproses file.

Penting

Saat Anda menggunakan alur kerja aplikasi logika yang terhubung dengan Event Grid untuk memanggil titik akhir batch, Anda menghasilkan satu pekerjaan per setiap file blob yang dibuat di akun penyimpanan. Perlu diingat bahwa titik akhir batch mendistribusikan pekerjaan di tingkat file, sehingga tidak ada paralelisasi yang terjadi. Sebagai gantinya, Anda menggunakan kemampuan titik akhir batch untuk menjalankan beberapa pekerjaan pada kluster komputasi yang sama. Jika Anda perlu menjalankan pekerjaan di seluruh folder secara otomatis, kami sarankan Anda beralih ke Memanggil titik akhir batch dari Azure Data Factory.

Prasyarat

  • Anda memiliki model yang disebarkan dengan benar sebagai titik akhir batch. Anda dapat memperluas arsitektur ini untuk bekerja dengan penyebaran komponen Alur jika diperlukan.

  • Penyebaran batch Anda berjalan di kluster komputasi yang disebut batch-cluster.

  • Aplikasi logika yang Anda buat berkomunikasi dengan Azure Pembelajaran Mesin titik akhir batch menggunakan REST.

    Untuk informasi selengkapnya tentang cara menggunakan REST API untuk titik akhir batch, lihat Membuat pekerjaan dan memasukkan data untuk titik akhir batch.

Mengautentikasi terhadap titik akhir batch

Azure Logic Apps dapat memanggil REST API titik akhir batch dengan menggunakan tindakan HTTP . Titik akhir batch mendukung ID Microsoft Entra untuk otorisasi dan karenanya permintaan yang dibuat ke API memerlukan penanganan autentikasi yang tepat.

Tutorial ini menggunakan perwakilan layanan untuk autentikasi dan interaksi dengan titik akhir batch dalam skenario ini.

  1. Buat perwakilan layanan dengan mengikuti Daftarkan aplikasi dengan ID Microsoft Entra dan buat perwakilan layanan.

  2. Buat rahasia yang akan digunakan untuk autentikasi dengan mengikuti Opsi 3: Buat rahasia klien baru.

  3. Pastikan untuk menyimpan Nilai rahasia klien yang dihasilkan, yang hanya muncul sekali.

  4. Pastikan untuk menyimpan client ID dan tenant id di panel Gambaran Umum aplikasi.

  5. Berikan akses perwakilan layanan Anda ke ruang kerja Anda dengan mengikuti Berikan akses. Untuk contoh ini, perwakilan layanan memerlukan hal berikut:

    • Izin di ruang kerja untuk membaca penyebaran batch dan melakukan tindakan di atasnya.
    • Izin untuk membaca/menulis di penyimpanan data.

Mengaktifkan akses data

Untuk menunjukkan data input yang ingin Anda kirim ke pekerjaan penyebaran, tutorial ini menggunakan URI cloud yang disediakan oleh Event Grid. Titik akhir batch menggunakan identitas komputasi untuk memasang data, sambil menjaga identitas pekerjaan untuk membaca data yang dipasang. Jadi, Anda harus menetapkan identitas terkelola yang ditetapkan pengguna ke kluster komputasi, dan memastikan kluster memiliki akses untuk memasang data yang mendasar. Untuk memastikan akses data, ikuti langkah-langkah berikut:

  1. Buat sumber daya identitas terkelola:

    IDENTITY=$(az identity create  -n azureml-cpu-cluster-idn  --query id -o tsv)
    
  2. Perbarui kluster komputasi untuk menggunakan identitas terkelola yang kami buat:

    Catatan

    Contoh ini mengasumsikan bahwa Anda memiliki kluster komputasi yang dibuat bernama cpu-cluster yang digunakan untuk penyebaran default di titik akhir.

    az ml compute update --name cpu-cluster --identity-type user_assigned --user-assigned-identities $IDENTITY
    
  3. Di portal Azure, pastikan identitas terkelola memiliki izin yang benar untuk membaca data.

    Untuk mengakses layanan penyimpanan, Anda harus memiliki setidaknya akses Storage Blob Data Reader ke akun penyimpanan. Hanya pemilik akun penyimpanan yang dapat mengubah tingkat akses Anda melalui portal Microsoft Azure.

Membuat aplikasi logika

  1. Di portal Azure, pada halaman beranda Azure, pilih Buat sumber daya.

  2. Di menu Marketplace Azure, pilih Integrasi>Aplikasi Logika.

    Cuplikan layar yang memperlihatkan menu Marketplace Azure dengan opsi yang dipilih untuk Integrasi dan Aplikasi Logika.

  3. Di panel Buat Aplikasi Logika, di tab Dasar-dasar, berikan informasi berikut mengenai sumber daya aplikasi logika Anda.

    Properti Wajib Nilai Deskripsi
    Langganan Ya <Azure-subscription-name> Nama langganan Azure Anda. Contoh ini menggunakan Pay-As-You-Go.
    Grup Sumber Daya Ya LA-TravelTime-RG Grup sumber daya Azure tempat Anda membuat sumber daya aplikasi logika dan sumber daya terkait. Nama ini harus unik di seluruh wilayah dan hanya dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), tanda kurung ((, )), dan titik (.).
    Nama Ya LA-TravelTime Nama sumber daya aplikasi logika Anda, yang harus unik di seluruh wilayah dan hanya dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), tanda kurung ((, )), dan titik (.).

    Cuplikan layar yang menampilkan portal Azure, panel pembuatan aplikasi logika, dan info untuk sumber daya aplikasi logika baru.

  4. Sebelum Anda melanjutkan membuat pilihan, buka bagian Paket. Untuk Jenis paket, pilih Konsumsi untuk memperlihatkan hanya pengaturan untuk alur kerja aplikasi logika Konsumsi, yang berjalan di Azure Logic Apps multipenyewa.

    Penting

    Untuk ruang kerja yang diaktifkan tautan privat, Anda perlu menggunakan paket Standar untuk Azure Logic Apps dengan mengizinkan konfigurasi jaringan privat.

    Properti Jenis paket juga menentukan model penagihan yang akan digunakan.

    Jenis paket Deskripsi
    Standard Jenis aplikasi logika ini adalah pilihan default dan berjalan di Azure Logic Apps penyewa tunggal dan menggunakan model harga Standar.
    Consumption Jenis aplikasi logika ini berjalan di Azure Logic Apps multipenyewa global dan menggunakan model harga Konsumsi.
  5. Sekarang lanjutkan dengan pemilihan berikut:

    Properti Wajib Nilai Deskripsi
    Wilayah Ya US Barat Wilayah pusat data Azure tempat menyimpan informasi aplikasi Anda. Contoh ini menyebarkan aplikasi logika sampel ke wilayah AS Barat di Azure.

    Catatan: Apabila langganan Anda dikaitkan dengan lingkungan layanan integrasi, daftar ini mencakup lingkungan tersebut.
    Mengaktifkan analitik log Ya Tidak Opsi ini muncul dan hanya berlaku saat Anda memilih jenis aplikasi logika Konsumsi. Ubah opsi ini hanya saat Anda ingin mengaktifkan pembuatan log diagnostik. Untuk tutorial ini, biarkan pilihan default.
  6. Setelah selesai, pilih Tinjau + buat. Setelah Azure memvalidasi informasi mengenai sumber daya aplikasi logika Anda, pilih Buat.

  7. Setelah Azure menyebarkan aplikasi Anda, pilih Buka sumber daya.

    Azure membuka perancang alur kerja untuk aplikasi logika Anda.

Mengonfigurasi parameter alur kerja

Alur kerja aplikasi logika ini menggunakan parameter untuk menyimpan informasi tertentu yang Anda butuhkan untuk menjalankan penyebaran batch.

  1. Pada toolbar perancang alur kerja, pilih Parameter.

    Cuplikan layar memperlihatkan panel Parameter untuk menentukan parameter yang diperlukan untuk alur kerja.

  2. Pada panel Parameter , pilih Buat parameter, dan berikan informasi berikut tentang setiap parameter untuk dibuat:

    Tip

    Gunakan nilai yang dikonfigurasi di Mengautentikasi terhadap titik akhir batch.

    Nama Parameter Deskripsi Sampel nilai
    tenant_id ID penyewa tempat titik akhir disebarkan. 00000000-0000-0000-00000000
    client_id ID klien untuk perwakilan layanan yang digunakan untuk memanggil titik akhir. 00000000-0000-0000-00000000
    client_secret Rahasia klien dari perwakilan layanan yang digunakan untuk memanggil titik akhir. ABCDEFGhijkLMNOPQRstUVwz
    endpoint_uri URI penilaian titik akhir.

    Penting: URI ini adalah untuk titik akhir yang ingin Anda jalankan. Titik akhir harus memiliki penyebaran default yang dikonfigurasi.
    https://<endpoint_name>.<region>.inference.ml.azure.com/jobs

    Contoh berikut menunjukkan parameter sampel:

    Cuplikan layar memperlihatkan cara menambahkan satu parameter dalam perancang.

    Untuk informasi selengkapnya, lihat Membuat parameter lintas lingkungan untuk input alur kerja di Azure Logic Apps.

Tambahkan pemicu

Kami ingin memicu alur kerja aplikasi logika setiap kali file baru dibuat di folder tertentu (aset data) dari akun penyimpanan. Aplikasi logika menggunakan informasi dari peristiwa untuk memanggil titik akhir batch dan meneruskan file tertentu untuk diproses.

  1. Pada perancang alur kerja, ikuti langkah-langkah umum ini untuk menambahkan pemicu Event Grid bernama Saat peristiwa sumber daya terjadi.

  2. Dalam kotak informasi koneksi, pilih jenis autentikasi yang akan digunakan, lalu pilih Masuk.

  3. Dalam kotak pemicu, berikan informasi berikut:

    Properti Nilai Deskripsi
    Jenis Sumber Daya Microsoft.Storage.StorageAccounts Jenis sumber daya yang memancarkan peristiwa.
    Langganan Nama langganan Anda Langganan untuk akun penyimpanan.
    Nama Sumber Daya Nama akun penyimpanan Anda Nama akun penyimpanan tempat file dibuat.
    Item Jenis Acara Microsoft.Storage.BlobCreated Jenis kejadian.
  4. Dari daftar Parameter tingkat lanjut, pilih Filter Awalan, dan berikan nilai berikut:

    /blobServices/default/containers/<container-name>/blobs/<path-to-data-folder>

    Penting

    Properti Filter Awalan memungkinkan Event Grid untuk hanya memberi tahu alur kerja saat blob dibuat di jalur tertentu yang kami tunjukkan. Dalam hal ini, kami berasumsi bahwa file dibuat oleh beberapa proses eksternal di folder yang ditentukan oleh <path-to-data-folder> di dalam container container-name<>, yang ada di akun penyimpanan yang dipilih. Konfigurasikan parameter ini agar sesuai dengan lokasi data Anda. Jika tidak, peristiwa diaktifkan untuk file apa pun yang dibuat di lokasi mana pun dari akun penyimpanan. Untuk informasi selengkapnya, lihat Pemfilteran peristiwa untuk Event Grid.

    Contoh berikut menunjukkan bagaimana pemicu muncul:

    Cuplikan layar aktivitas pemicu aplikasi logika.

Mengonfigurasi tindakan

  1. Di bawah pemicu Saat peristiwa sumber daya terjadi, ikuti langkah-langkah umum ini untuk menambahkan tindakan HTTP. Ganti nama tindakan menjadi Otorisasi.

  2. Dalam tindakan Otorisasi, berikan informasi berikut:

    Properti Nilai Catatan
    Metode POST Metode HTTP
    URI concat('https://login.microsoftonline.com/', parameters('tenant_id'), '/oauth2/token') Untuk memasukkan ekspresi ini, pilih di dalam kotak URI . Dari opsi yang muncul, pilih editor ekspresi (ikon rumus).
    Header Content-Type dengan nilai application/x-www-form-urlencoded
    Isi concat('grant_type=client_credentials&client_id=', parameters('client_id'), '&client_secret=', parameters('client_secret'), '&resource=https://ml.azure.com') Untuk memasukkan ekspresi ini, pilih di dalam kotak Isi. Dari opsi yang muncul, pilih editor ekspresi (ikon rumus).

    Contoh berikut menunjukkan contoh tindakan Otorisasi :

    Cuplikan layar memperlihatkan contoh tindakan Otorisasi dalam alur kerja aplikasi logika.

  3. Di bawah tindakan Otorisasi, tambahkan tindakan HTTP lain, dan ganti nama judul menjadi Panggil.

  4. Dalam tindakan Panggil, berikan informasi berikut:

    Properti Nilai Catatan
    Metode POST Metode HTTP
    URI endpoint_uri Pilih di dalam kotak URI , lalu di bawah Parameter, pilih endpoint_uri.
    Header Content-Type dengan nilai application/json
    Header Authorization dengan nilai concat('Bearer ', body('Authorize')['access_token']) Untuk memasukkan ekspresi ini, pilih di dalam kotak Header . Dari opsi yang muncul, pilih editor ekspresi (ikon rumus).
  5. Pilih di dalam kotak Isi , dan dari opsi yang muncul, pilih editor ekspresi (ikon rumus) untuk memasukkan ekspresi berikut:

    replace('{
     "properties": {
       "InputData": {
         "mnistinput": {
            "JobInputType" : "UriFile",
            "Uri" : "<JOB_INPUT_URI>"
         }
       }
      }
    }', '<JOB_INPUT_URI>', triggerBody()?[0]['data']['url'])
    

    Tip

    Payload sebelumnya sesuai dengan penyebaran Model. Jika Anda bekerja dengan penyebaran komponen Alur, sesuaikan format sesuai dengan harapan input alur. Untuk informasi selengkapnya tentang cara menyusun input dalam panggilan REST, lihat Membuat pekerjaan dan memasukkan data untuk titik akhir batch (REST).

    Contoh berikut menunjukkan contoh tindakan Panggil :

    Cuplikan layar memperlihatkan contoh tindakan Panggil dalam alur kerja aplikasi logika.

    Catatan

    Tindakan Panggil memicu pekerjaan batch, tetapi tindakan tidak akan menunggu penyelesaiannya. Secara default, Azure Logic Apps tidak disiapkan untuk aplikasi yang berjalan lama. Jika Anda perlu menunggu pekerjaan selesai, kami sarankan Anda beralih ke Jalankan titik akhir batch dari Azure Data Factory.

  6. Setelah selesai, simpan alur kerja.

    Alur kerja aplikasi logika siap dijalankan dan secara otomatis memicu setiap kali file baru dibuat di bawah jalur yang ditunjukkan.

  7. Untuk mengonfirmasi bahwa aplikasi berhasil menerima peristiwa, periksa riwayat Eksekusi aplikasi:

    Cuplikan layar memperlihatkan riwayat eksekusi untuk alur kerja aplikasi logika.

Langkah berikutnya