Kurz: Aktivace úlohy Batch pomocí Azure Functions
V tomto kurzu se dozvíte, jak aktivovat úlohu Batch pomocí Azure Functions. Tento článek vás provede příkladem dokumentů přidaných do kontejneru objektů blob služby Azure Storage a použije optické rozpoznávání znaků (OCR) pomocí Azure Batch. Pro zjednodušení zpracování OCR tento příklad nakonfiguruje funkci Azure, která spustí úlohu Batch OCR při každém přidání souboru do kontejneru objektů blob. Získáte informace o těchto tématech:
- K vytváření fondů a úloh použijte Azure Portal.
- Vytvoření kontejnerů objektů blob a sdíleného přístupového podpisu (SAS)
- Vytvořte funkci Azure Functions aktivovanou objektem blob.
- Nahrajte vstupní soubory do úložiště.
- Monitorování provádění úkolů.
- Načíst výstupní soubory.
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 vytváření a propojení účtů najdete v tématu Vytvoření účtu Batch.
Přihlášení k Azure
Přihlaste se k webu Azure Portal.
Vytvoření fondu služby Batch a úlohy Batch pomocí Azure Portal
V této části použijete Azure Portal k vytvoření fondu služby Batch a úlohy Batch, která spouští úlohy OCR.
Vytvoření fondu
Přihlaste se k Azure Portal pomocí přihlašovacích údajů Azure.
Fond vytvoříte tak, že v levém navigačním panelu vyberete Fondy a pak nad vyhledávacím formulářem vyberete tlačítko Přidat .
- Zadejte ID fondu. Tento příklad pojmenuje fond
ocr-pool
. - Jako Vydavatel vyberte kanonický.
- Jako nabídku vyberte 0001-com-ubuntu-server-jammy.
- Jako skladovou položku vyberte 22_04-lts.
- Jako velikost virtuálního počítače zvolte
Standard_F2s_v2 - 2 vCPUs, 2 GB Memory
v části Velikost uzlu. - Nastavte Režim v části Škálování na Pevná a zadejte 3 pro cílové vyhrazené uzly.
-
Nastavte Možnost Spustit ú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ň zvýšení oprávnění jako automatického uživatele fondu Správa, což umožňuje, aby spouštěcí úkoly zahrnovaly příkazy ssudo
. - Vyberte OK.
- Zadejte ID fondu. Tento příklad pojmenuje fond
Vytvoření úlohy
- Vytvořte úlohu ve fondu tak, že v levém navigačním panelu vyberete Úlohy a pak nad vyhledávacím formulářem zvolíte tlačítko Přidat .
- Zadejte ID úlohy. Tento příklad používá
ocr-job
. - Vyberte
ocr-pool
možnost Aktuální fond nebo libovolný název, který jste pro fond zvolili. - Vyberte OK.
- Zadejte ID úlohy. Tento příklad používá
Vytvoření kontejnerů objektů blob
Tady vytvoříte kontejnery objektů blob, které ukládají vstupní a výstupní soubory pro úlohu OCR Batch. V tomto příkladu má vstupní kontejner název input
a je místem, kde jsou všechny dokumenty bez OCR původně odeslány ke zpracování. Výstupní kontejner má název output
a je místem, kam úloha Batch zapisuje zpracované dokumenty pomocí OCR.
V Azure Portal vyhledejte a vyberte Účty úložiště.
Zvolte účet úložiště propojený s účtem Batch.
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 tématu Vytvoření kontejneru objektů blob.
Vytvořte sdílený přístupový podpis pro výstupní kontejner výběrem výstupního kontejneru a na stránce Sdílené přístupové tokeny vyberte v rozevíracím seznamu Oprávněnímožnost Zapisovat. Nejsou nutná žádná další oprávnění.
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.
Vytvoření funkce Azure Function
V této části vytvoříte funkci Azure Functions, která aktivuje úlohu OCR Batch při každém nahrání souboru do vstupního kontejneru.
Pokud chcete vytvořit funkci, postupujte podle kroků v tématu Vytvoření funkce aktivované službou Azure Blob Storage .
- Jako zásobník modulu runtime zvolte .NET. Tato ukázková funkce používá jazyk C# k využití sady Batch .NET SDK.
- Na stránce Úložiště použijte stejný účet úložiště, který jste propojili se svým účtem Batch.
- Vyberte Zkontrolovat a vytvořit > vytvořit.
Následující snímek obrazovky se stránkou Vytvořit aplikaci funkcí na kartě Základy s ukázkovými informacemi
V levém navigačním panelu funkce vyberte Funkce a vyberte Vytvořit.
V podokně Vytvořit funkci vyberte Azure Blob Storage trigger.
Zadejte název funkce do pole Nová funkce. V tomto příkladu je název OcrTrigger. Zadejte cestu jako
input/{name}
, kde zadejte název kontejneru objektů blob.Vyberte Vytvořit.
Po vytvoření funkce aktivované objektem blob vyberte Kód + test.
run.csx
Ve funkci použijte afunction.proj
z GitHubu.function.proj
ve výchozím nastavení neexistuje, takže vyberte tlačítko Nahrát a nahrajte ho do pracovního prostoru Vývoj.-
run.csx
se spustí, když se do vstupního kontejneru objektů blob přidá nový objekt blob. -
function.proj
vypíše externí knihovny v kódu funkce, například Batch .NET SDK.
-
Změňte zástupné hodnoty proměnných ve
Run()
funkci souboru takrun.csx
, aby odrážely vaše přihlašovací údaje služby Batch 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 a úložiště.
Aktivace funkce a načtení výsledků
Nahrajte všechny nebo všechny zkontrolované soubory z adresáře na GitHubu input_files
do vstupního kontejneru.
Funkci můžete otestovat z Azure Portal na stránce Kód a test vaší funkce.
- Na stránce Kód a test vyberte Testovat/spustit.
- Zadejte cestu ke vstupnímu kontejneru v části Text na kartě Vstup .
- Vyberte Run (Spustit).
Po několika sekundách se soubor s použitým OCR přidá do výstupního kontejneru. Výstupy informací protokolu do dolního okna Soubor se pak zobrazí a načte na Průzkumník služby Storage.
Případně můžete informace protokolu najít 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 ve svém účtu úložiště. U požadovaného souboru vyberte další možnosti a pak vyberte Stáhnout.
Tip
Stažené soubory lze vyhledat, pokud jsou otevřeny v čtečce PDF.
Vyčištění prostředků
Za spuštěné uzly se vám účtují poplatky za fond, a to i v případě, že nejsou naplánované žádné úlohy. Pokud už fond nepotřebujete, odstraňte ho následujícím postupem:
- Na stránce Fondy účtu Batch vyberte další možnosti ve 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ž 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 služby Batch najdete v ukázkách na GitHubu.