Bagikan melalui


Tutorial: Memicu pekerjaan Batch menggunakan Azure Functions

Dalam tutorial ini, Anda mempelajari cara memicu pekerjaan Batch menggunakan Azure Functions. Artikel ini menjelaskan contoh yang mengambil dokumen yang ditambahkan ke kontainer blob Azure Storage menerapkan pengenalan karakter optik (OCR) dengan menggunakan Azure Batch. Untuk menyederhanakan pemrosesan OCR, contoh ini mengonfigurasi fungsi Azure yang menjalankan pekerjaan OCR Batch setiap kali file ditambahkan ke kontainer blob. Anda akan mempelajari cara untuk:

  • Gunakan portal Microsoft Azure untuk membuat kumpulan dan pekerjaan.
  • Buat kontainer blob dan tanda tangan akses bersama (SAS).
  • Buat fungsi Azure yang dipicu oleh blob.
  • Unggah file input ke Storage.
  • Pantau eksekusi tugas.
  • Ambil berkas keluaran.

Prasyarat

  • Akun Azure dengan langganan aktif. Buat akun secara gratis.
  • Akun Azure Batch dan akun Azure Storage tertaut. Untuk informasi selengkapnya tentang cara membuat dan menautkan akun, lihat Membuat akun Batch.

Masuk ke Azure

Masuk ke portal Azure.

Membuat pool Batch dan job Batch menggunakan Azure portal

Di bagian ini, Anda menggunakan portal Azure untuk membuat pool Batch dan job Batch yang menjalankan tugas OCR.

Membuat kolam

  1. Masuk ke portal Microsoft Azure menggunakan kredensial Azure Anda.

  2. Buat kumpulan dengan memilih Kumpulan di navigasi sisi kiri, lalu pilih tombol Tambahkan di atas formulir pencarian.

    Cuplikan layar halaman Kumpulan di akun Batch yang menyoroti tombol Tambahkan.

    1. Masukkan ID Kumpulan. Contoh ini menamai kumpulan ocr-pool.
    2. Pilih kanonis sebagai Penerbit.
    3. Pilih 0001-com-ubuntu-server-jammy sebagai Penawaran.
    4. Pilih 22_04-lts sebagai SKU.
    5. Pilih Standard_F2s_v2 - 2 vCPUs, 2 GB Memory sebagai ukuran VM di bagian Ukuran Simpul .
    6. Atur Mode di bagian Skala ke Diperbaiki, dan masukkan 3 untuk node khusus Target.
    7. Atur Mulai tugas ke Mengaktifkan tugas mulai, dan masukkan perintah di /bin/bash -c "sudo update-locale LC_ALL=C.UTF-8 LANG=C.UTF-8; sudo apt-get update; sudo apt-get -y install ocrmypdf". Pastikan untuk mengatur tingkat Elevasi sebagai Autouser Kumpulan, Admin, yang memungkinkan tugas awal menyertakan perintah dengan sudo.
    8. Pilih OK.

Membuat pekerjaan

  1. Buat pekerjaan di kumpulan dengan memilih Pekerjaan di navigasi sisi kiri, lalu pilih tombol Tambahkan di atas formulir pencarian.
    1. Masukkan ID Pekerjaan. Contoh ini menggunakan ocr-job.
    2. Pilih ocr-pool untuk Kumpulan saat ini, atau nama apa pun yang Anda pilih untuk kumpulan Anda.
    3. Pilih OK.

Membuat kontainer blob

Di sini Anda membuat kontainer blob yang menyimpan file input dan output Anda untuk pekerjaan OCR Batch. Dalam contoh ini, kontainer input diberi nama input dan merupakan tempat semua dokumen tanpa OCR awalnya diunggah untuk diproses. Kontainer output diberi nama output dan merupakan tempat pekerjaan Batch menulis dokumen yang diproses dengan OCR.

  1. Cari dan pilih Akun penyimpanan di portal Microsoft Azure.

  2. Pilih akun penyimpanan Anda yang ditautkan ke akun Batch Anda.

  3. Pilih Kontainer dari navigasi sisi kiri, dan buat dua kontainer blob (satu untuk file input, satu untuk file output) dengan mengikuti langkah-langkah di Membuat kontainer blob.

  4. Buat tanda tangan akses bersama untuk kontainer output Anda dengan memilih kontainer output, dan pada halaman Token akses bersama , pilih Tulis di menu drop-down Izin . Tidak ada izin lain yang diperlukan.

  5. Pilih Buat token dan URL SAS, dan salin URL SAS Blob untuk digunakan nanti untuk fungsi Anda.

    Cuplikan layar halaman Token akses bersama yang menyoroti menu dropdown Izin dan tombol Hasilkan token SAS dan URL.

Buat Fungsi Azure

Di bagian ini, Anda membuat Azure Function yang memicu pekerjaan OCR Batch setiap kali file diunggah ke kontainer input Anda.

  1. Ikuti langkah-langkah dalam Membuat fungsi yang dipicu oleh penyimpanan Azure Blob untuk membuat fungsi.

    1. Untuk stack runtime, pilih .NET. Contoh fungsi ini menggunakan C# untuk memanfaatkan Batch .NET SDK.
    2. Pada halaman Penyimpanan , gunakan akun penyimpanan yang sama dengan yang Anda tautkan ke akun Batch Anda.
    3. Pilih Tinjau + Buat > Buat.

    Cuplikan layar berikut ini halaman Buat Aplikasi Fungsi pada tab Dasar menggunakan informasi contoh.

    Cuplikan layar halaman Buat Aplikasi Fungsi pada tab Dasar menggunakan informasi contoh.

  2. Di fungsi Anda, pilih Fungsi dari navigasi sisi kiri dan pilih Buat.

  3. Di panel Buat fungsi , pilih pemicu Azure Blob Storage.

  4. Masukkan nama untuk fungsi Anda di Fungsi Baru. Dalam contoh ini, namanya adalah OcrTrigger. Masukkan jalur sebagai input/{name}, yang berfungsi sebagai nama kontainer Blob Anda.

  5. Pilih Buat.

    Cuplikan layar dari panel Membuat Fungsi yang menyoroti opsi pemicu Azure Blob Storage serta bidang Fungsi Baru dan Jalur.

  6. Setelah fungsi yang dipicu blob dibuat, pilih Kode + Uji. Gunakan run.csx dan function.proj dari GitHub di Fungsi. function.proj tidak ada secara default, jadi pilih tombol Unggah untuk mengunggahnya ke ruang kerja pengembangan Anda.

    • run.csx dijalankan saat blob baru ditambahkan ke kontainer blob input Anda.
    • function.proj mencantumkan pustaka eksternal dalam kode Fungsi Anda, misalnya, Batch .NET SDK.
  7. Ubah nilai tempat penampung variabel dalam Run() fungsi run.csx file untuk mencerminkan kredensial Batch dan penyimpanan Anda. Anda dapat menemukan kredensial akun Batch dan penyimpanan Anda di portal Microsoft Azure di bagian Kunci di akun Batch dan penyimpanan Anda.

Memicu fungsi dan mengambil hasil

Unggah salah satu atau semua file yang dipindai dari input_files direktori di GitHub ke kontainer input Anda.

Anda dapat menguji fungsi Anda dari portal Microsoft Azure di halaman Kode + Uji fungsi Anda.

  1. Pilih Uji/jalankan pada halaman Kode + Uji .
  2. Masukkan jalur untuk kontainer input Anda di Isi pada tab Input .
  3. Pilih Jalankan.

Setelah beberapa detik, file dengan OCR yang diterapkan ditambahkan ke kontainer output. Log informasi ke jendela bawah. File kemudian terlihat dan dapat diambil di Storage Explorer.

Atau, Anda dapat menemukan informasi log di halaman Monitor :

2019-05-29T19:45:25.846 [Information] Creating job...
2019-05-29T19:45:25.847 [Information] Accessing input container <inputContainer>...
2019-05-29T19:45:25.847 [Information] Adding <fileName> as a resource file...
2019-05-29T19:45:25.848 [Information] Name of output text file: <outputTxtFile>
2019-05-29T19:45:25.848 [Information] Name of output PDF file: <outputPdfFile>
2019-05-29T19:45:26.200 [Information] Adding OCR task <taskID> for <fileName> <size of fileName>...

Untuk mengunduh file output ke komputer lokal Anda, buka kontainer output di akun penyimpanan Anda. Pilih opsi lainnya pada file yang Anda inginkan, lalu pilih Unduh.

Petunjuk / Saran

File yang diunduh dapat dicari jika dibuka di pembaca PDF.

Membersihkan sumber daya

Anda dikenakan biaya untuk pool selama simpul beroperasi, bahkan jika tidak ada pekerjaan yang dijadwalkan. Jika Anda tidak lagi membutuhkan pool, hapus dengan langkah-langkah berikut:

  1. Dari halaman Kolam akun Batch Anda, pilih opsi lainnya di kolam tersebut.
  2. Pilih Hapus.

Saat Anda menghapus kumpulan, semua output tugas di simpul akan dihapus. Akan tetapi, file output tetap berada di akun penyimpanan. Jika tidak lagi diperlukan, Anda juga dapat menghapus akun Batch dan akun penyimpanan.

Langkah berikutnya

Untuk contoh selengkapnya tentang menggunakan .NET API untuk menjadwalkan dan memproses beban kerja Batch, lihat sampel di GitHub.