Sdílet prostřednictvím


Kurz: Aktivace dávkové úlohy pomocí Azure Functions

V tomto kurzu se dozvíte, jak aktivovat úlohu Batch pomocí Azure Functions. Tento článek vás provede příkladem, který přebírá dokumenty přidané do kontejneru objektů blob služby Azure Storage, používá optické rozpoznávání znaků (OCR) pomocí služby Azure Batch. Pro zjednodušení zpracování OCR tento příklad nakonfiguruje funkci Azure, která spouští úlohu Batch OCR při každém přidání souboru do kontejneru objektů blob. Naučíte se:

  • Pomocí portálu Azure můžete vytvářet fondy a úlohy.
  • Vytvořte kontejnery objektů blob a sdílený přístupový podpis (SAS).
  • Vytvořte funkci Azure aktivovanou objektem blob.
  • Nahrajte vstupní soubory do úložiště.
  • Monitorování provádění úkolů
  • Načtěte výstupní soubory.

Požadavky

Přihlášení k Azure

Přihlaste se do Azure Portalu.

Vytvoření fondu Batch a úlohy Batch pomocí Azure portálu

V této části pomocí webu Azure Portal vytvoříte fond Batch a úlohu Batch, která spouští úlohy OCR.

Vytvořit bazén

  1. Přihlaste se k webu Azure Portal pomocí svých přihlašovacích údajů Azure.

  2. Fond vytvoříte tak, že v levém navigačním panelu vyberete Fondy a pak vyberete tlačítko Přidat nad vyhledávacím formulářem.

    Snímek obrazovky stránky Fondy v účtu Batch, který zobrazuje tlačítko Přidat

    1. Zadejte ID fondu. Tento příklad pojmenuje pool ocr-pool.
    2. Vyberte kanonický jako Vydavatel.
    3. Jako nabídku vyberte 0001-com-ubuntu-server-jammy.
    4. Jako SKU vyberte 22_04-lts.
    5. V části Standard_F2s_v2 - 2 vCPUs, 2 GB Memory zvolte velikost VM.
    6. Nastavte režim v oddílu Škálování na pevné a zadejte 3 pro cílové vyhrazené uzly.
    7. Nastavte spouštěcí úkol na Povoleno spouštěcí úkol a zadejte příkaz /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" do příkazového řádku. Nezapomeňte nastavit úroveň oprávnění jako uživatel fondu, správce, což umožňuje startovním úkolům obsahovat příkazy s sudo.
    8. Vyberte OK.

Vytvořit pracovní pozici

  1. Vytvořte úlohu ve fondu tak, že v levém navigačním panelu vyberete Úlohy a pak vyberete tlačítko Přidat nad vyhledávacím formulářem.
    1. Zadejte ID úlohy. Tento příklad používá ocr-job.
    2. Vyberte ocr-pool pro Current pool nebo pro jakýkoli jiný název, který jste pro svůj fond zvolili.
    3. Vyberte OK.

Vytvoření kontejnerů Blob

Tady vytvoříte kontejnery objektů blob, které ukládají vstupní a výstupní soubory pro úlohu OCR Batch. V tomto příkladu je vstupní kontejner pojmenován input a je tam, kde se všechny dokumenty bez OCR nahrají ke zpracování. Výstupní kontejner je pojmenovaný output a je místem, kde úloha Batch zapisuje zpracovávané dokumenty pomocí OCR.

  1. Na webu Azure Portal vyhledejte a vyberte Účty úložiště .

  2. Zvolte účet úložiště propojený s vaším účtem Batch.

  3. V levém navigačním panelu vyberte Kontejnery a vytvořte dva kontejnery objektů blob (jeden pro vstupní soubory, jeden pro výstupní soubory) podle kroků v části Vytvoření kontejneru objektů blob.

  4. Vytvořte sdílený přístupový podpis pro výstupní kontejner tím, že vyberete výstupní kontejner, a na stránce Sdílené přístupové tokeny v rozevíracím seznamu Oprávnění vyberte zapisovat. Žádná další oprávnění nejsou nutná.

  5. Vyberte Vygenerovat token SAS a adresu URL a zkopírujte adresu URL SAS objektu blob , která se použije později pro vaši funkci.

    Snímek obrazovky se stránkou Sdílené přístupové tokeny, která zvýrazňuje rozevírací seznam Oprávnění a tlačítko Generovat token SAS a adresu URL

Vytvoření funkce Azure Functions

V této části vytvoříte funkci Azure Functions, která aktivuje úlohu služby OCR Batch při každém nahrání souboru do vstupního kontejneru.

  1. Postupujte podle kroků v tématu Vytvoření funkce aktivované službou Azure Blob Storage a vytvořte funkci.

    1. Pro runtime stack zvolte .NET. Tato ukázková funkce používá jazyk C# k využití sady Batch .NET SDK.
    2. Na stránce Úložiště použijte stejný účet úložiště, který jste propojili se svým účtem Batch.
    3. Vyberte Zkontrolovat a vytvořit> Vytvořit.

    Následující snímek obrazovky zobrazuje stránku Vytvořit funkční aplikaci na kartě Základy, za použití ukázkových informací.

    Snímek obrazovky stránky Vytvořit funkční aplikaci v části Základy s ukázkovými informacemi

  2. Ve funkci vyberte Funkce z levého navigačního panelu a vyberte Vytvořit.

  3. V podokně Vytvořit funkci vyberte trigger služby Azure Blob Storage.

  4. Do nové funkce zadejte název funkce. V tomto příkladu je název OcrTrigger. Zadejte cestu jako input/{name}, kde jako „vstup“ použijte název vašeho kontejneru typu Blob.

  5. Vyberte Vytvořit.

    Snímek obrazovky s podoknem Vytvořit funkci, která zvýrazňuje možnost triggeru služby Azure Blob Storage a pole Nová Funkce a Cesta

  6. Po vytvoření funkce aktivované objektem blob vyberte Kód + Test. Použijte run.csx a function.proj z GitHubu ve funkci. function.proj ve výchozím nastavení neexistuje, takže výběrem tlačítka Nahrát ho nahrajte do vývojového pracovního prostoru.

    • run.csx se spustí, když se do vstupního kontejneru objektů blob přidá nový objekt blob.
    • function.proj zobrazí seznam externích knihoven v kódu funkce, například batch .NET SDK.
  7. Změňte zástupné hodnoty proměnných ve Run() funkci run.csx souboru tak, aby odrážely přihlašovací údaje služby Batch a úložiště. Přihlašovací údaje účtu Batch a úložiště najdete na webu Azure Portal v části Klíče účtu Batch a úložiště.

Aktivace funkce a načtení výsledků

Nahrajte všechny naskenované soubory z adresáře na GitHubu do vstupního input_files kontejneru.

Funkci můžete otestovat na webu Azure Portal na stránce Code + Test funkce.

  1. Na stránce Kód + test vyberte Test/spustit.
  2. Zadejte cestu ke vstupnímu kontejneru v části Text na kartě Vstup .
  3. Vyberte Spustit.

Po několika sekundách se soubor s použitým OCR přidá do výstupního kontejneru. Záznamové informace se zobrazí v dolním okně. Soubor je pak viditelný a dostupný ve Storage Exploreru.

Další možností je najít informace protokolu na stránce Monitorování :

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

Pokud chcete stáhnout výstupní soubory do místního počítače, přejděte do výstupního kontejneru v účtu úložiště. Vyberte další možnosti požadovaného souboru a pak vyberte Stáhnout.

Návod

Stažené soubory se dají prohledávat, pokud jsou otevřeny ve čtečce PDF.

Upravte zdroje

Během běhu uzlů se vám budou účtovat poplatky za fond, a to i v případě, že nejsou naplánované žádné úlohy. Pokud už bazén nepotřebujete, odstraňte jej následujícím postupem:

  1. Na stránce Fondy vašeho účtu Batch vyberte další možnosti ve fondu.
  2. Vyberte Odstranit.

Při odstranění fondu se odstraní všechny výstupy úkolů na uzlech. Výstupní soubory ale zůstanou v účtu úložiště. Pokud už ho nepotřebujete, můžete také odstranit účet Batch a účet úložiště.

Další kroky

Další příklady použití rozhraní .NET API k plánování a zpracování úloh Batch najdete v ukázkách na GitHubu.