Dela via


Självstudie: Utlösa ett Batch-jobb med Azure Functions

I den här självstudien får du lära dig hur du utlöser ett Batch-jobb med hjälp av Azure Functions. Den här artikeln går igenom ett exempel som tar dokument som lagts till i en Azure Storage-blobcontainer som tillämpar optisk teckenigenkänning (OCR) med hjälp av Azure Batch. För att effektivisera OCR-bearbetningen konfigurerar det här exemplet en Azure-funktion som kör ett Batch OCR-jobb varje gång en fil läggs till i blobcontainern. Lär dig att:

  • Använd Azure Portal för att skapa pooler och jobb.
  • Skapa blobcontainrar och en signatur för delad åtkomst (SAS).
  • Skapa en blobutlöst Azure-funktion.
  • Ladda upp indatafiler till Storage.
  • Övervaka aktivitetskörning.
  • Hämta utdatafiler.

Förutsättningar

Logga in på Azure

Logga in på Azure-portalen.

Skapa en Batch-pool och ett Batch-jobb med hjälp av Azure Portal

I det här avsnittet använder du Azure Portal för att skapa Batch-poolen och Batch-jobbet som kör OCR-uppgifter.

Skapa en pool

  1. Logga in på Azure Portal med dina Azure-autentiseringsuppgifter.

  2. Skapa en pool genom att välja Pooler i navigeringen till vänster och välj sedan knappen Lägg till ovanför sökformuläret.

    Skärmbild av sidan Pooler i ett Batch-konto som markerar knappen Lägg till.

    1. Ange ett pool-ID. I det här exemplet namnges poolen ocr-pool.
    2. Välj kanonisk som utgivare.
    3. Välj 0001-com-ubuntu-server-jammy som erbjudande.
    4. Välj 22_04-lts som SKU.
    5. Välj Standard_F2s_v2 - 2 vCPUs, 2 GB Memory som VM-storlek i avsnittet Nodstorlek .
    6. Ange Läget i avsnittet Skala till Fast och ange 3 för de dedikerade målnoderna.
    7. Ange Startaktivitet till Aktiverad startaktiviteten och ange kommandot /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"kommandoraden. Se till att ange höjdnivån som automatisk poolanvändare, Admin, vilket gör att startaktiviteter kan innehålla kommandon med sudo.
    8. Välj OK.

Skapa ett jobb

  1. Skapa ett jobb i poolen genom att välja Jobb i navigeringen till vänster och välj sedan knappen Lägg till ovanför sökformuläret.
    1. Ange ett jobb-ID. I det här exemplet används ocr-job.
    2. Välj ocr-pool för Aktuell pool eller vilket namn du har valt för din pool.
    3. Välj OK.

Skapa blobcontainrar

Här skapar du blobcontainrar som lagrar dina in- och utdatafiler för OCR Batch-jobbet. I det här exemplet namnges input indatacontainern och är där alla dokument utan OCR ursprungligen laddas upp för bearbetning. Utdatacontainern heter output och är där Batch-jobbet skriver bearbetade dokument med OCR.

  1. Sök efter och välj Lagringskonton i Azure Portal.

  2. Välj ditt lagringskonto som är länkat till ditt Batch-konto.

  3. Välj Containrar i navigeringen till vänster och skapa två blobcontainrar (en för indatafiler, en för utdatafiler) genom att följa stegen i Skapa en blobcontainer.

  4. Skapa en signatur för delad åtkomst för utdatacontainern genom att välja utdatacontainern. På sidan Token för delad åtkomst väljer du Skriv i listrutan Behörigheter . Inga andra behörigheter krävs.

  5. Välj Generera SAS-token och URL och kopiera blob-SAS-URL:en som ska användas senare för funktionen.

    Skärmbild av sidan Token för delad åtkomst som markerar listrutan Behörigheter och knappen Generera SAS-token och URL.

Skapa en Azure-funktion

I det här avsnittet skapar du den Azure-funktion som utlöser OCR Batch-jobbet när en fil laddas upp till din indatacontainer.

  1. Följ stegen i Skapa en funktion som utlöses av Azure Blob Storage för att skapa en funktion.

    1. För körningsstack väljer du .NET. Den här exempelfunktionen använder C# för att dra nytta av Batch .NET SDK.
    2. På sidan Lagring använder du samma lagringskonto som du länkade till ditt Batch-konto.
    3. Välj Granska + Skapa > skapa.

    Följande skärmbild av sidan Skapa funktionsapp på fliken Grunder med hjälp av exempelinformation.

    Skärmbild av sidan Skapa funktionsapp på fliken Grundläggande med hjälp av exempelinformation.

  2. I funktionen väljer du Funktioner i navigeringen till vänster och väljer Skapa.

  3. I fönstret Skapa funktion väljer du Azure Blob Storage utlösare.

  4. Ange ett namn för funktionen i Ny funktion. I det här exemplet är namnet OcrTrigger. Ange sökvägen som input/{name}, där indata i namnet på blobcontainern.

  5. Välj Skapa.

    Skärmbild av fönstret Skapa funktion som markerar alternativet Azure Blob Storage utlösare och Nya funktions- och sökvägsfält.

  6. När den blobutlösta funktionen har skapats väljer du Kod + Test. run.csx Använd och function.proj från GitHub i funktionen. function.proj finns inte som standard, så välj knappen Ladda upp för att ladda upp den till din utvecklingsarbetsyta.

    • run.csx körs när en ny blob läggs till i din indatablobcontainer.
    • function.proj visar de externa biblioteken i funktionskoden, till exempel Batch .NET SDK.
  7. Ändra platshållarvärdena för variablerna i Run() filens run.csx funktion så att de återspeglar dina Batch- och lagringsuppgifter. Du hittar dina autentiseringsuppgifter för Batch- och lagringskontot i Azure Portal i avsnittet Nycklar i batch- och lagringskontot.

Utlös funktionen och hämta resultat

Ladda upp alla eller alla skannade filer från input_files katalogen på GitHub till din indatacontainer.

Du kan testa funktionen från Azure Portal på sidan Kod + test i funktionen.

  1. Välj Testa/kör på sidan Kod + test .
  2. Ange sökvägen för din indatacontainer i Brödtext på fliken Indata .
  3. Välj Kör.

Efter några sekunder läggs filen med OCR till i utdatacontainern. Logginformationen visas i det nedre fönstret. Filen visas och kan sedan hämtas på Storage Explorer.

Du kan också hitta logginformationen på sidan Övervaka :

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

Om du vill ladda ned utdatafilerna till den lokala datorn går du till utdatacontainern i ditt lagringskonto. Välj fler alternativ för den fil du vill använda och välj sedan Ladda ned.

Tips

De nedladdade filerna kan sökas om de öppnas i en PDF-läsare.

Rensa resurser

Du debiteras för poolen medan noderna körs, även om inga jobb har schemalagts. När du inte längre behöver poolen tar du bort den med följande steg:

  1. På sidan Pooler för ditt Batch-konto väljer du fler alternativ i poolen.
  2. Välj Ta bort.

När du tar bort poolen raderas alla aktivitetsutdata på noderna. Utdatafilerna ligger däremot kvar i lagringskontot. När det inte längre behövs kan du även ta bort Batch-kontot och lagringskontot.

Nästa steg

Fler exempel på hur du använder .NET API till att schemalägga och bearbeta Batch-arbetsbelastningar finns i exemplen på GitHub.