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

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

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

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

    Snímek obrazovky se stránkou Fondy v účtu Batch, která zvýrazňuje tlačítko Přidat

    1. Zadejte ID fondu. Tento příklad pojmenuje fond ocr-pool.
    2. Jako Vydavatel vyberte kanonický.
    3. Jako nabídku vyberte 0001-com-ubuntu-server-jammy.
    4. Jako skladovou položku vyberte 22_04-lts.
    5. Jako velikost virtuálního počítače zvolte Standard_F2s_v2 - 2 vCPUs, 2 GB Memory v části Velikost uzlu.
    6. Nastavte Režim v části Škálování na Pevná a zadejte 3 pro cílové vyhrazené uzly.
    7. 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 s sudo.
    8. Vyberte OK.

Vytvoření úlohy

  1. 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 .
    1. Zadejte ID úlohy. Tento příklad používá ocr-job.
    2. Vyberte ocr-poolmožnost Aktuální fond nebo libovolný název, který jste pro fond zvolili.
    3. Vyberte OK.

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.

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

  2. Zvolte účet úložiště propojený s úč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 tématu Vytvoření kontejneru objektů blob.

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

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

  1. Pokud chcete vytvořit funkci, postupujte podle kroků v tématu Vytvoření funkce aktivované službou Azure Blob Storage .

    1. Jako zásobník modulu runtime 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 se stránkou Vytvořit aplikaci funkcí na kartě Základy s ukázkovými informacemi

    Snímek obrazovky se stránkou Vytvořit aplikaci funkcí na kartě Základy s ukázkovými informacemi

  2. V levém navigačním panelu funkce vyberte Funkce a vyberte Vytvořit.

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

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

  5. Vyberte Vytvořit.

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

  6. Po vytvoření funkce aktivované objektem blob vyberte Kód + test. run.csx Ve funkci použijte a function.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.
  7. Změňte zástupné hodnoty proměnných ve Run() funkci souboru tak run.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.

  1. Na stránce Kód a test vyberte Testovat/spustit.
  2. Zadejte cestu ke vstupnímu kontejneru v části Text na kartě Vstup .
  3. 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:

  1. Na stránce Fondy účtu Batch vyberte další možnosti ve 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ž 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.