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
- Účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
- Účet Azure Batch a propojený účet Azure Storage. Další informace o tom, jak vytvořit a propojit účty, najdete v tématu Vytvoření účtu Batch .
- Batch Explorer.
- Průzkumník služby Azure Storage.
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
- Přihlaste se k Batch Explorer pomocí svých přihlašovacích údajů Azure.
- Vytvořte fond tak, že na levé straně vyberete fondy a pak tlačítko Přidat nad formulář pro hledání.
- Vyberte ID a zobrazované jméno.
ocr-poolV tomto příkladu budeme používat. - Nastavte typ škálování na pevnou velikost a nastavte počet vyhrazených uzlů na 3.
- Jako operační systém vyberte Ubuntuserver > 18,04-LTS .
- Vyberte
Standard_f2s_v2Velikost virtuálního počítače. - 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říkazysudo. - Vyberte OK.
- Vyberte ID a zobrazované jméno.
Vytvoření úlohy
- 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í.
- Vyberte ID a zobrazované jméno.
ocr-jobV tomto příkladu budeme používat. - Nastavte fond na
ocr-poolnebo libovolný název, který jste zvolili pro fond. - Vyberte OK.
- Vyberte ID a zobrazované jméno.
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.
- přihlaste se k Průzkumník služby Storage pomocí svých přihlašovacích údajů Azure.
- 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.
- 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.
- Pomocí postupu v části Vytvoření funkce aktivované službou Azure Blob Storage vytvořte funkci.
- 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.
- 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.
- 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).
- Po vytvoření funkce aktivované objektem BLOB vyberte kód + test. použijte
run.csxafunction.projz 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.csxse spustí při přidání nového objektu blob do vstupního kontejneru objektů BLOB.function.projobsahuje seznam externích knihoven v kódu funkce, například sadu Batch .NET SDK.
- Změňte zástupné hodnoty proměnných ve
Run()funkcirun.csxsouboru 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ů:
- V zobrazení účtu vyberte Fondy a název fondu.
- 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.