Bevara jobb- och uppgiftsutdata
En aktivitet som körs i Azure Batch kan generera utdata när den körs. Uppgiftsutdata måste ofta lagras för hämtning av andra uppgifter i jobbet, klientprogrammet som körde jobbet eller båda. Uppgifter skriver utdata till filsystemet för en Batch-beräkningsnod, men alla data på noden går förlorade när de återskapas eller när noden lämnar poolen. Aktiviteter kan också ha en filkvarhållningsperiod, varefter filer som skapats av aktiviteten tas bort. Av dessa skäl är det viktigt att spara aktivitetsutdata som du behöver senare till ett datalager, till exempel Azure Storage.
Lagringskontoalternativ i Batch finns i Batch-konton och Azure Storage-konton.
Några vanliga exempel på aktivitetsutdata är:
- Filer som skapas när aktiviteten bearbetar indata.
- Loggfiler som är associerade med aktivitetskörning.
Den här artikeln beskriver olika alternativ för att spara utdata. Du kan spara utdata från Batch-uppgifter och -jobb till Azure Storage eller andra butiker.
Alternativ för att spara utdata
Det finns flera sätt att spara utdata. Välj den bästa metoden för ditt scenario:
- Använd Batch-tjänst-API:et.
- Använd batchfilkonventionsbiblioteket för .NET.
- Använd batchfilkonventionsbiblioteket för C# och .NET-program.
- Använd Standard för Batch-filkonventioner för andra språk än .NET.
- Använd en anpassad filförflyttningslösning.
Batch-tjänst-API
Du kan använda Batch-tjänst-API:et för att spara utdata. Ange utdatafiler i Azure Storage för uppgiftsdata när du lägger till en uppgift i ett jobb eller lägger till en samling aktiviteter i ett jobb.
Mer information finns i Spara uppgiftsdata till Azure Storage med Batch-tjänst-API:et.
Bibliotek för Batch-filkonventioner
Standard för Batch-filkonventioner är en valfri uppsättning konventioner för namngivning av aktivitetsutdatafiler i Azure Storage. Standarden innehåller namngivningskonventioner för en fils målcontainer och blobsökväg, baserat på namnen på jobbet och aktiviteten.
Det är valfritt att använda filkonventionstandarden för att namnge dina utdatafiler. Du kan välja att namnge målcontainern och blobsökvägen i stället. Om du använder filkonventionsstandarden kan du visa utdatafilerna i Azure Portal.
Om du skapar en Batch-lösning med C# och .NET kan du använda batchfilkonventionsbiblioteket för .NET. Biblioteket flyttar utdatafiler till Azure Storage och namnger målcontainrar och blobar enligt Standard för Batch-filkonventioner.
Mer information finns i Spara jobb- och uppgiftsdata till Azure Storage med Batch File Conventions-biblioteket för .NET.
Standard för Batch-filkonventioner
Om du använder ett annat språk än .NET kan du implementera Batch File Conventions-standarden i ditt eget program. Använd den här metoden när:
- Du vill använda ett vanligt namngivningsschema.
- Du vill visa aktivitetsutdata i Azure Portal.
Lösning för anpassad filförflyttning
Du kan också implementera en egen komplett filförflyttningslösning. Använd den här metoden när:
- Du vill spara uppgiftsdata till ett annat datalager än Azure Storage. Du vill till exempel ladda upp filer till ett datalager som Azure SQL eller Azure DataLake. Skapa ett anpassat skript eller en körbar fil som du kan ladda upp till den platsen. Anropa sedan det anpassade skriptet eller körbart på kommandoraden när du har kört den primära körbara filen. På en Windows-nod anropar du
doMyWork.exe && uploadMyFilesToSql.exe
till exempel . - Du vill göra kontrollpunkter eller tidig uppladdning av de första resultaten.
- Du vill behålla detaljerad kontroll över felhantering. Du vill till exempel använda aktivitetsberoendeåtgärder för att vidta vissa uppladdningsåtgärder baserat på specifika aktivitetsavslutskoder.
Designöverväganden
När du utformar din Batch-lösning bör du tänka på följande faktorer.
Beräkningsnoder är ofta tillfälliga, särskilt i Batch-pooler med automatisk skalning aktiverat. Du kan bara se utdata från en aktivitet:
- Noden där aktiviteten körs finns.
- Under den filkvarhållningsperiod som du angav för uppgiften.
När du visar en Batch-uppgift i Azure Portal och väljer Filer på noden visas alla filer för den uppgiften, inte bara utdatafilerna. Om du vill hämta aktivitetsutdata direkt från beräkningsnoderna i poolen behöver du filnamnet och dess utdataplats på noden.
Om du vill hålla aktivitetsdata längre konfigurerar du uppgiften så att den laddar upp utdatafilerna till ett datalager. Vi rekommenderar att du använder Azure Storage som datalager. Det finns integrering för att skriva aktivitetsutdata till Azure Storage i Batch-tjänst-API:et. Du kan använda andra alternativ för beständig lagring för att behålla dina data. Du måste dock skriva programlogik för andra lagringsalternativ själv.
Om du vill visa utdata i Azure Storage använder du Azure Portal eller ett Azure Storage-klientprogram, till exempel Azure Storage Explorer. Observera utdatafilens plats och gå direkt till den platsen.