Aracılığıyla paylaş


Eğitim: Azure İşlevleri kullanarak Batch işi tetikleme

Bu öğreticide , Azure İşlevleri'nin kullanıldığı bir Batch işini 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. OCR işlemeyi kolaylaştırmak için bu örnekte 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. Şunları yapmayı öğreneceksiniz:

  • Havuzlar ve işler oluşturmak için Azure portalını 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ınaoturum açın.

Azure portalını kullanarak bir Batch havuzu ve Batch işi oluşturun

Bu bölümde, Azure portalını kullanarak OCR görevlerini çalıştıracak olan Batch havuzunu ve Batch işini oluşturacaksınız.

Havuz oluşturma

  1. Azure kimlik bilgilerinizi kullanarak Azure portalında 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 Ekle düğmesini vurgulayan Havuzlar sayfasının ekran görüntüsü.

    1. Bir 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 öğesini seçin.
    5. Düğüm Boyutu bölümünde, Standard_F2s_v2 - 2 vCPUs, 2 GB Memory ögesini VM boyutu olarak seçin.
    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 Komut satırına komutunu /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" girin. Yükseltme düzeyini, başlangıç görevlerinin sudo ile komutlar içermesine izin veren Havuz autouser, Yönetici olarak ayarladığınızdan emin olun.
    8. Tamam'ı seçin.

İş 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. ocr-pool için Geçerli havuz veya havuzunuz için seçtiğiniz adı seçin.
    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şturursunuz. Bu örnekte, adı input olan girdi kapsayıcısı, OCR içermeyen tüm belgelerin başlangıçta işlenmek üzere yüklendiği yerdir. Çıkış kapsayıcısının ismi output'dir ve bu, Batch işinin OCR ile işlenmiş belgeleri yazdığı yerdir.

  1. Azure portalında 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, kapsayıcınız için paylaşılan erişim imzası oluşturun ve Paylaşılan erişim belirteçleri sayfasında, İzinler açılır listesinden Yaz'ı seçin. Başka izin gerekmez.

  5. SAS belirteci ve URL oluştur'a tıklayın ve daha sonra işleviniz için kullanmak üzere Blob SAS URL'sini kopyalayın.

    İzinler açılır 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 İşlevi'ni oluşturacaksınız.

  1. İşlev oluşturmak için Azure Blob depolama tarafından tetiklenen 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.

    Aşağıdaki ekran görüntüsü, örnek bilgiler kullanılarak Temel Bilgiler sekmesindeki İşlev Uygulaması Oluştur sayfasının 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 Azure Blob Depolama tetikleyicisi'ni seçin.

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

  5. Oluştur'i seçin.

    Azure Blob Depolama tetikleyicisi 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. GitHub'dan alınan run.csx ve function.proj öğelerini işlevde 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 Azure portalında Batch ve depolama hesabınızın Anahtarlar bölümünde bulabilirsiniz.

İşlevi tetikle ve sonuçları al

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

İşlevinizi Azure portalından işlevinizin Kod + Test sayfasında 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 çıktı verir. Dosya daha sonra Depolama Gezgini'ne 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 daha fazla seçenek belirleyin ve ardından İndir'i seçin.

Tavsiye

İndirilen dosyalar PDF okuyucuda açıldığında aranabilir.

Kaynakları temizleme

Hiçbir iş zamanlanmış olmasa bile, düğümler çalışır durumda olduğunda 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. 'ı seçin,'i silin.

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 için .NET API'sini kullanma hakkında daha fazla örnek için GitHub'da örneklere bakın.