Öğretici: Azure İşlevleri kullanarak Batch işi tetikleme

Bu öğreticide, Azure İşlevleri kullanarak batch işi tetiklemeyi öğreneceksiniz. Bu makalede, Azure Depolama blob kapsayıcısına eklenen belgelerin Azure Batch kullanarak optik karakter tanıma (OCR) uyguladığı bir örnek açıklanmaktadır. Bu örnekte, OCR işlemeyi kolaylaştırmak için blob kapsayıcısına her dosya eklendiğinde Batch OCR işi çalıştıran bir Azure işlevi yapılandırılır. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:

  • Havuzlar ve işler oluşturmak için Azure portal kullanın.
  • Blob kapsayıcıları ve paylaşılan erişim imzası (SAS) oluşturun.
  • Blob ile tetiklenen bir Azure İşlevi oluşturun.
  • Giriş dosyalarını Depolama'ya yükleyin.
  • Görev yürütmeyi izleyin.
  • Çıkış dosyalarını alın.

Önkoşullar

Azure'da oturum açma

Azure Portal’ında oturum açın.

Azure portal kullanarak Batch havuzu ve Batch işi oluşturma

Bu bölümde, OCR görevlerini çalıştıran Batch havuzunu ve Batch işini oluşturmak için Azure portal kullanacaksınız.

Havuz oluşturma

  1. Azure kimlik bilgilerinizi kullanarak Azure portal oturum açın.

  2. Sol taraftaki gezinti bölmesinde Havuzlar'ı ve ardından arama formunun üstündeki Ekle düğmesini seçerek bir havuz oluşturun.

    Batch hesabındaki Havuzlar sayfasının Ekle düğmesini vurgulayan ekran görüntüsü.

    1. Havuz Kimliği girin. Bu örnekte havuzu ocr-poololarak adlandırabilirsiniz.
    2. Yayımcı olarak kurallı seçeneğini belirleyin.
    3. Teklif olarak 0001-com-ubuntu-server-jammy seçeneğini belirleyin.
    4. Sku olarak 22_04-lts seçeneğini belirleyin.
    5. Düğüm Boyutu bölümünde VM boyutu olarak öğesini seçinStandard_F2s_v2 - 2 vCPUs, 2 GB Memory.
    6. Ölçek bölümündeki ModuSabit olarak ayarlayın ve Hedef ayrılmış düğümler için 3 girin.
    7. Başlangıç görevi'ni Başlangıç görevietkin olarak ayarlayın ve Komutu /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"Komut satırına girin. Yükseltme düzeyiniHavuz otomatik kullanıcısı olarak ayarladığınızdan emin olun Yönetici, bu da başlangıç görevlerinin ile sudokomutlar içermesine olanak tanır.
    8. Tamam’ı seçin.

Bir iş oluşturma

  1. Sol taraftaki gezinti bölmesinde İşler'i seçip arama formunun üstündeki Ekle düğmesini seçerek havuzda bir iş oluşturun.
    1. bir İş Kimliği girin. Bu örnekte ocr-job kullanılmıştır.
    2. Geçerli havuz için veya havuzunuz için seçtiğiniz adı seçinocr-pool.
    3. Tamam’ı seçin.

Blob kapsayıcıları oluşturma

Burada, OCR Batch işi için giriş ve çıkış dosyalarınızı depolayan blob kapsayıcıları oluşturacaksınız. Bu örnekte giriş kapsayıcısı adlandırılmıştır input ve OCR içermeyen tüm belgelerin başlangıçta işlenmek üzere karşıya yüklendiği yerdir. Çıkış kapsayıcısı olarak adlandırılır output ve Batch işinin işlenen belgeleri OCR ile yazdığı yerdir.

  1. Azure portal Depolama hesaplarını arayın ve seçin.

  2. Batch hesabınıza bağlı depolama hesabınızı seçin.

  3. Sol taraftaki gezinti bölmesinden Kapsayıcılar'ı seçin ve Blob kapsayıcısı oluşturma başlığındaki adımları izleyerek iki blob kapsayıcısı (biri giriş dosyaları, biri çıkış dosyaları için) oluşturun.

  4. Çıkış kapsayıcısını seçerek çıkış kapsayıcınız için paylaşılan erişim imzası oluşturun ve Paylaşılan erişim belirteçleri sayfasında İzinler açılan listesinden Yaz'ı seçin. Başka izin gerekmez.

  5. SAS belirteci ve URL oluştur'u seçin ve daha sonra işlevinizde kullanmak üzere Blob SAS URL'sini kopyalayın.

    İzinler açılan listesini ve SAS belirteci ve URL oluştur düğmesini vurgulayan Paylaşılan erişim belirteçleri sayfasının ekran görüntüsü.

Azure İşlevi oluşturma

Bu bölümde, giriş kapsayıcınıza her dosya yüklendiğinde OCR Batch işini tetikleyen Azure İşlevini oluşturacaksınız.

  1. İşlev oluşturmak için Azure Blob depolama tarafından tetiklenen bir işlev oluşturma'daki adımları izleyin.

    1. Çalışma zamanı yığını için .NET'i seçin. Bu örnek işlev, Batch .NET SDK'sının avantajlarından yararlanmak için C# kullanır.
    2. Depolama sayfasında, Batch hesabınıza bağladığınız depolama hesabını kullanın.
    3. Gözden Geçir + Oluştur'u >seçin.

    Örnek bilgileri kullanarak Temel Bilgiler sekmesindeki İşlev Uygulaması Oluştur sayfasının aşağıdaki ekran görüntüsü.

    Örnek bilgileri kullanarak Temel Bilgiler sekmesindeki İşlev Uygulaması Oluştur sayfasının ekran görüntüsü.

  2. İşlevinizde sol taraftaki gezinti bölmesinden İşlevler'i ve ardından Oluştur'u seçin.

  3. İşlev oluştur bölmesinde tetikleyiciyi Azure Blob Depolama seçin.

  4. Yeni İşlev'de işleviniz için bir ad girin. Bu örnekte adı OcrTrigger'dır. Yolu olarak input/{name}girin; burada Blob kapsayıcınızın adını girin.

  5. Oluştur’u seçin.

    Azure Blob Depolama tetikleyici seçeneğini ve Yeni İşlev ve Yol Alanlarını vurgulayan İşlev Oluştur bölmesinin ekran görüntüsü.

  6. Blob ile tetiklenen işlev oluşturulduktan sonra Kod + Test'i seçin. İşlevde run.csx GitHub'dan ve function.proj kullanın. function.proj varsayılan olarak mevcut değildir, bu nedenle karşıya yükle düğmesini seçerek geliştirme çalışma alanınıza yükleyin.

    • run.csx , giriş blob kapsayıcınıza yeni bir blob eklendiğinde çalıştırılır.
    • function.proj İşlev kodunuzdaki dış kitaplıkları listeler, örneğin Batch .NET SDK'sı.
  7. Dosyanın işlevindeki Run()run.csx değişkenlerin yer tutucu değerlerini Batch ve depolama kimlik bilgilerinizi yansıtacak şekilde değiştirin. Batch ve depolama hesabı kimlik bilgilerinizi Batch ve depolama hesabınızın Anahtarlar bölümündeki Azure portal bulabilirsiniz.

İşlevi tetikleme ve sonuçları alma

Taranan dosyaların herhangi birini veya tümünü GitHub dizininden input_files giriş kapsayıcınıza yükleyin.

İşlevinizin Kod + Test sayfasındaki Azure portal işlevinizi test edebilirsiniz.

  1. Kod + Test sayfasında Test/çalıştır'ı seçin.
  2. Giriş sekmesindeki Gövde alanına giriş kapsayıcınızın yolunu girin.
  3. Çalıştır'ı seçin.

Birkaç saniye sonra, OCR uygulanmış olan dosya çıkış kapsayıcısına eklenir. Günlük bilgileri, en alttaki pencereye doğru çıktısını alır. Dosya daha sonra Depolama Gezgini görünür ve alınabilir.

Alternatif olarak, günlük bilgilerini İzleyici sayfasında bulabilirsiniz:

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>...

Çıktı dosyalarını yerel makinenize indirmek için depolama hesabınızdaki çıkış kapsayıcısına gidin. İstediğiniz dosyada diğer seçenekleri belirleyin ve ardından İndir'i seçin.

İpucu

İndirilen dosyalar PDF okuyucuda açılırsa aranabilir.

Kaynakları temizleme

Hiçbir iş zamanlanmış olmasa bile düğümler çalışırken havuz için ücretlendirilirsiniz. Havuza artık ihtiyacınız kalmadığında aşağıdaki adımları izleyerek havuzu silin:

  1. Batch hesabınızın Havuzlar sayfasından havuzunuzdaki diğer seçenekleri belirleyin.
  2. Sil’i seçin.

Havuzu sildiğinizde düğümler üzerindeki tüm görev çıkışları silinir. Ancak çıkış dosyaları depolama hesabında kalır. Artık gerekli olmadığında Batch hesabını ve depolama hesabını da silebilirsiniz.

Sonraki adımlar

Batch iş yüklerini zamanlamak ve işlemek üzere .NET API kullanmaya ilişkin daha fazla örnek için GitHub üzerindeki örneklere bakın.