Dela via


Köra batchslutpunkter från Azure Data Factory

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Stordata kräver en tjänst som kan samordna och operationalisera processer för att förfina dessa enorma lager av rådata till användbara affärsinsikter. Azure Data Factory är en hanterad molntjänst som har skapats för dessa komplexa hybridprojekt för ETL (extract-transform-load), extract-load-transform (ELT) och dataintegreringsprojekt.

Med Azure Data Factory kan du skapa pipelines som kan samordna flera datatransformeringar och hantera dem som en enda enhet. Batchslutpunkter är en utmärkt kandidat för att bli ett steg i ett sådant bearbetningsarbetsflöde. I det här exemplet får du lära dig hur du använder batchslutpunkter i Azure Data Factory-aktiviteter genom att förlita dig på webbanropsaktiviteten och REST-API:et.

Förutsättningar

Autentisera mot batchslutpunkter

Azure Data Factory kan anropa REST-API:er för batchslutpunkter med hjälp av aktiviteten Webbanrop . Batch-slutpunkter stöder Microsoft Entra-ID för auktorisering och därför kräver begäran som görs till API:erna en korrekt autentiseringshantering.

Du kan använda tjänstens huvudnamn eller en hanterad identitet för att autentisera mot Batch-slutpunkter. Vi rekommenderar att du använder en hanterad identitet eftersom det förenklar användningen av hemligheter.

  1. Du kan använda azure Data Factory-hanterad identitet för att kommunicera med Batch-slutpunkter. I det här fallet behöver du bara se till att din Azure Data Factory-resurs har distribuerats med en hanterad identitet.

  2. Om du inte har någon Azure Data Factory-resurs eller om den redan har distribuerats utan en hanterad identitet följer du följande steg för att skapa den: Hanterad identitet för Azure Data Factory.

    Varning

    Observera att det inte går att ändra resursidentiteten när den har distribuerats i Azure Data Factory. När resursen har skapats måste du återskapa den om du behöver ändra identiteten för den.

  3. När den har distribuerats beviljar du åtkomst för den hanterade identiteten för den resurs som du skapade till din Azure Mašinsko učenje-arbetsyta enligt beskrivningen i Bevilja åtkomst. I det här exemplet kräver tjänstens huvudnamn:

    1. Behörighet på arbetsytan att läsa batchdistributioner och utföra åtgärder över dem.
    2. Behörighet att läsa/skriva i datalager.
    3. Behörigheter att läsa på valfri molnplats (lagringskonto) som anges som indata.

Om pipelinen

Vi ska skapa en pipeline i Azure Data Factory som kan anropa en viss batchslutpunkt över vissa data. Pipelinen kommunicerar med Azure Mašinsko učenje batchslutpunkter med hjälp av REST. Mer information om hur du använder REST-API:et för batchslutpunkter finns i Skapa jobb och indata för batchslutpunkter.

Pipelinen ser ut så här:

Diagram som visar den högsta strukturen för pipelinen som vi skapar.

Den består av följande aktiviteter:

  • Kör Batch-Slutpunkt: Det är en webbaktivitet som använder batchslutpunkts-URI:n för att anropa den. Den skickar indata-URI:n där data finns och den förväntade utdatafilen.
  • Vänta på jobbet: Det är en loopaktivitet som kontrollerar statusen för det skapade jobbet och väntar på att det ska slutföras, antingen som Slutfört eller Misslyckat. Den här aktiviteten använder i sin tur följande aktiviteter:
    • Kontrollera status: Det är en webbaktivitet som frågar efter statusen för jobbresursen som returnerades som ett svar på aktiviteten Kör Batch-Slutpunkt .
    • Vänta: Det är en vänteaktivitet som styr avsökningsfrekvensen för jobbets status. Vi anger ett standardvärde på 120 (2 minuter).

Pipelinen kräver att följande parametrar konfigureras:

Parameter Description Exempelvärde
endpoint_uri Slutpunktsbedömnings-URI https://<endpoint_name>.<region>.inference.ml.azure.com/jobs
poll_interval Antalet sekunder att vänta innan du kontrollerar jobbstatusen för slutförande. Standardvärdet är 120. 120
endpoint_input_uri Slutpunktens indata. Flera typer av dataindata stöds. Kontrollera att den hanteringsidentitet som du använder för att köra jobbet har åtkomst till den underliggande platsen. Alternativt, om du använder datalager, se till att autentiseringsuppgifterna anges där. azureml://datastores/.../paths/.../data/
endpoint_input_type Typ av indata som du anger. Batch-slutpunkter stöder för närvarande mappar (UriFolder) och Fil (UriFile). Standardvärdet är UriFolder. UriFolder
endpoint_output_uri Slutpunktens utdatafil. Det måste vara en sökväg till en utdatafil i ett datalager som är kopplat till Mašinsko učenje arbetsytan. Det finns inte stöd för andra typer av URI:er. Du kan använda standarddatalagret för Azure Mašinsko učenje med namnet workspaceblobstore. azureml://datastores/workspaceblobstore/paths/batch/predictions.csv

Varning

Kom ihåg att endpoint_output_uri bör vara sökvägen till en fil som inte finns ännu. Annars misslyckas jobbet med felet att sökvägen redan finns.

Steg

Följ dessa steg för att skapa den här pipelinen i din befintliga Azure Data Factory och anropa batchslutpunkter:

  1. Se till att den beräkning där batchslutpunkten körs har behörighet att montera de data som Azure Data Factory tillhandahåller som indata. Observera att åtkomst fortfarande beviljas av den identitet som anropar slutpunkten (i det här fallet Azure Data Factory). Den beräkning där batchslutpunkten körs måste dock ha behörighet att montera lagringskontot som azure datafabriken tillhandahåller. Mer information finns i Åtkomst till lagringstjänster .

  2. Öppna Azure Data Factory Studio och klicka på plustecknet under Fabriksresurser .

  3. Välj Pipelineimport>från pipelinemall

  4. Du uppmanas att välja en zip fil. Använder följande mall om du använder hanterade identiteter eller följande om du använder tjänstens huvudnamn.

  5. En förhandsgranskning av pipelinen visas i portalen. Klicka på Använd den här mallen.

  6. Pipelinen skapas åt dig med namnet Run-BatchEndpoint.

  7. Konfigurera parametrarna för batchdistributionen som du använder:

Varning

Kontrollera att batchslutpunkten har en standarddistribution konfigurerad innan du skickar ett jobb till den. Den skapade pipelinen anropar slutpunkten och därför måste en standarddistribution skapas och konfigureras.

Dricks

För bästa återanvändning använder du den skapade pipelinen som en mall och anropar den inifrån andra Azure Data Factory-pipelines genom att använda aktiviteten Kör pipeline. I så fall ska du inte konfigurera parametrarna i den inre pipelinen utan skicka dem som parametrar från den yttre pipelinen enligt följande bild:

Skärmbild av de pipelineparametrar som förväntas för den resulterande pipelinen när den anropas från en annan pipeline.

  1. Din pipeline är redo att användas.

Begränsningar

När du anropar Azure Mašinsko učenje batchdistributioner bör du tänka på följande begränsningar:

Dataindata

  • Endast Azure Mašinsko učenje datalager eller Azure Storage-konton (Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2) stöds som indata. Om dina indata finns i en annan källa använder du Azure Data Factory-kopieringsaktiviteten innan batchjobbet körs för att skicka data till ett kompatibelt lager.
  • Batch-slutpunktsjobb utforskar inte kapslade mappar och kan därför inte fungera med kapslade mappstrukturer. Om dina data distribueras i flera mappar måste du platta ut strukturen.
  • Kontrollera att ditt bedömningsskript som tillhandahålls i distributionen kan hantera data eftersom de förväntas matas in i jobbet. Om modellen är MLflow läser du begränsningen i termer av den filtyp som stöds av tillfället vid Använda MLflow-modeller i batchdistributioner.

Datautdata

  • Endast registrerade Azure-Mašinsko učenje datalager stöds för tillfället. Vi rekommenderar att du registrerar lagringskontot som din Azure Data Factory använder som ett datalager i Azure Mašinsko učenje. På så sätt kan du skriva tillbaka till samma lagringskonto där du läser.
  • Endast Azure Blob Storage-konton stöds för utdata. Azure Data Lake Storage Gen2 stöds till exempel inte som utdata i batchdistributionsjobb. Om du behöver mata ut data till en annan plats/mottagare använder du Azure Data Factory Copy-aktiviteten efter körningen av batchjobbet.

Nästa steg