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

V tomto kurzu se dozvíte, jak aktivovat dávkovou úlohu pomocí Azure Functions. provedeme si příklad, ve kterém dokumenty přidané do kontejneru objektů blob Azure Storage mají pro ně použit optické rozpoznávání znaků (OCR) prostřednictvím Azure Batch. Abychom zjednodušili zpracování optického rozpoznávání znaků, nakonfigurujeme funkci Azure, která spustí úlohu dávkového optického rozpoznávání při každém přidání souboru do kontejneru objektů BLOB. Získáte informace o těchto tématech:

  • Použití Batch Explorer k vytváření fondů a úloh
  • použití Průzkumník služby Storage k vytvoření kontejnerů objektů blob a sdíleného přístupového podpisu (SAS)
  • Vytvoření funkce Azure Function aktivované objektem BLOB
  • Nahrání vstupních souborů do služby Storage
  • Monitorování provádění úkolů
  • Načtení výstupních souborů

Požadavky

Přihlášení k Azure

Přihlaste se k webu Azure Portal.

Vytvoření fondu Batch a úlohy Batch pomocí Batch Explorer

V této části použijete Batch Explorer k vytvoření fondu Batch a úlohy Batch, která spustí úlohy optického rozpoznávání.

Vytvoření fondu

  1. Přihlaste se k Batch Explorer pomocí svých přihlašovacích údajů Azure.
  2. Vytvořte fond tak, že na levé straně vyberete fondy a pak tlačítko Přidat nad formulář pro hledání.
    1. Vyberte ID a zobrazované jméno. ocr-poolV tomto příkladu budeme používat.
    2. Nastavte typ škálování na pevnou velikost a nastavte počet vyhrazených uzlů na 3.
    3. Jako operační systém vyberte Ubuntuserver > 18,04-LTS .
    4. Vyberte Standard_f2s_v2 Velikost virtuálního počítače.
    5. Povolte spouštěcí úkol a přidejte 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" . Ujistěte se, že jste nastavili identitu uživatele jako uživatel úlohy (správce), která umožňuje, aby úlohy pro začátek zahrnovaly příkazy sudo .
    6. Vyberte OK.

Vytvoření úlohy

  1. Vytvořte úlohu ve fondu tak, že na levém panelu vyberete úlohy a pak na tlačítko Přidat nad formulářem pro hledání.
    1. Vyberte ID a zobrazované jméno. ocr-jobV tomto příkladu budeme používat.
    2. Nastavte fond na ocr-pool nebo libovolný název, který jste zvolili pro fond.
    3. Vyberte OK.

Vytváření kontejnerů objektů BLOB

Tady vytvoříte kontejnery objektů blob, které budou ukládat vstupní a výstupní soubory pro dávkovou úlohu OCR. V tomto příkladu je vstupní kontejner pojmenovaný input a je tam, kde se zpočátku nahrály všechny dokumenty bez optického rozpoznávání znaků pro zpracování. Kontejner výstupu je pojmenován output a je tam, kde dávková úloha zapisuje zpracované dokumenty s rozpoznáváním OCR.

  1. přihlaste se k Průzkumník služby Storage pomocí svých přihlašovacích údajů Azure.
  2. Pomocí účtu úložiště propojeného s účtem Batch vytvořte dva kontejnery objektů BLOB (jeden pro vstupní soubory, jeden pro výstupní soubory) podle kroků v části vytvoření kontejneru objektů BLOB.
  3. vytvořte sdílený přístupový podpis pro svůj výstupní kontejner v Průzkumník služby Storage tak, že kliknete pravým tlačítkem na výstupní kontejner a vyberete získat sdílený přístupový podpis.... V části oprávnění vyberte zapsat. Žádná další oprávnění nejsou nezbytná.

Vytvoření funkce Azure Function

V této části vytvoříte funkci Azure, která aktivuje dávkovou úlohu OCR pokaždé, když se do vstupního kontejneru nahraje soubor.

  1. Pomocí postupu v části Vytvoření funkce aktivované službou Azure Blob Storage vytvořte funkci.
    1. V případě zásobníků modulu runtime vyberte .NET. Napíšeme naši funkci v jazyce C#, abychom využili sadu Batch .NET SDK.
    2. Po zobrazení výzvy k zadání účtu úložiště v části hostování použijte stejný účet úložiště, který jste propojili s vaším účtem Batch.
    3. Při vytváření triggeru účtu úložiště Azure Blob se ujistěte, že jste cestu nastavili input/{name} (aby odpovídala názvu vašeho vstupního kontejneru).
  2. Po vytvoření funkce aktivované objektem BLOB vyberte kód + test. použijte run.csx a function.proj z GitHub ve funkci. function.projve výchozím nastavení neexistuje, vyberte tlačítko Upload a odešlete ho do pracovního prostoru pro vývoj.
    • run.csx se spustí při přidání nového objektu blob do vstupního kontejneru objektů BLOB.
    • function.proj obsahuje seznam externích knihoven v kódu funkce, například sadu Batch .NET SDK.
  3. Změňte zástupné hodnoty proměnných ve Run() funkci run.csx souboru tak, aby odrážely přihlašovací údaje pro dávku a úložiště. Přihlašovací údaje k účtu Batch a účtu úložiště najdete v Azure Portal v části klíče účtu Batch.
    • Přihlašovací údaje k účtu Batch a účtu úložiště načtěte v Azure Portal v části klíče účtu Batch.

Aktivovat funkci a načíst výsledky

Upload všechny nebo všechny naskenované soubory z input_files adresáře v GitHub do vstupního kontejneru. Batch Explorer monitorování a ověřte, že se do ocr-pool každého souboru přidal úkol. Po několika sekundách se soubor s použitým OCR přidá do výstupního kontejneru. soubor je pak viditelný a získat na Průzkumník služby Storage.

Kromě toho můžete sledovat soubor protokolů v dolní části okna Azure Functions webového editoru, kde se zobrazí zprávy podobné tomuto souboru pro každý soubor, který nahrajete do vstupního kontejneru:

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

chcete-li stáhnout výstupní soubory z Průzkumník služby Storage do místního počítače, vyberte nejprve požadované soubory a pak vyberte stažení na horním pásu karet.

Tip

Stažené soubory jsou v případě, že jsou otevřeny v čtečce PDF, prohledávatelné.

Vyčištění prostředků

Poplatky se účtují za fond, ve kterém jsou spuštěné uzly, i když nejsou naplánované žádné úlohy. Pokud fond již nepotřebujete, odstraňte jej pomocí následujících kroků:

  1. V zobrazení účtu vyberte Fondy a název fondu.
  2. Vyberte Odstranit.

Při odstranění fondu se odstraní veškeré výstupy úkolů v uzlech. Výstupní soubory ale zůstanou v účtu úložiště. Pokud už je 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 služby Batch najdete v ukázkách na GitHubu.