Taken persistent maken
Een taak die wordt uitgevoerd in Azure Batch kan uitvoergegevens produceren wanneer deze wordt uitgevoerd. Taakuitvoergegevens moeten vaak worden opgeslagen voor ophalen door andere taken in de taak, de clienttoepassing die de taak heeft uitgevoerd, of beide. Taken schrijven uitvoergegevens naar het bestandssysteem van een Batch-rekenknooppunt, maar alle gegevens op het knooppunt gaan verloren wanneer de installatiekopie opnieuw wordt gemaakt of wanneer het knooppunt de pool verlaat. Taken kunnen ook een bewaarperiode voor bestanden hebben, waarna bestanden die door de taak zijn gemaakt, worden verwijderd. Om deze redenen is het belangrijk om taakuitvoer die u later nodig hebt, vast te houden in een gegevensarchief zoals Azure Storage.
Zie Batch-accounts en Azure Storage-accounts voor opties voor opslagaccounts in Batch.
Enkele veelvoorkomende voorbeelden van taakuitvoer zijn:
- Bestanden die worden gemaakt wanneer de taak invoergegevens verwerkt.
- Logboekbestanden die zijn gekoppeld aan taakuitvoering.
In dit artikel worden verschillende opties beschreven voor het persistent maken van uitvoergegevens. U kunt uitvoergegevens van Batch-taken en -taken persistent maken in Azure Storage of andere archieven.
Opties voor persistente uitvoer
Er zijn meerdere manieren om uitvoergegevens te behouden. Kies de beste methode voor uw scenario:
- Gebruik de Batch-service-API.
- Gebruik de Batch File Conventions-bibliotheek voor .NET.
- Gebruik de bibliotheek Batch File Conventions voor C# en .NET-toepassingen.
- Gebruik de standaard batchbestandsconventies voor andere talen dan .NET.
- Gebruik een aangepaste oplossing voor bestandsverplaatsing.
Batch-service-API
U kunt de Batch-service-API gebruiken om uitvoergegevens te behouden. Geef uitvoerbestanden op in Azure Storage voor taakgegevens wanneer u een taak toevoegt aan een taak of een verzameling taken aan een taak toevoegt.
Zie Taakgegevens persistent maken in Azure Storage met de Batch-service-API voor meer informatie.
Bibliotheek batchbestandsconventies
De standaard Batch File Conventions is een optionele set conventies voor het benoemen van taakuitvoerbestanden in Azure Storage. De standaard biedt naamconventies voor de doelcontainer en het blobpad van een bestand, op basis van de namen van de taak en taak.
Het is optioneel om de standaard Bestandsconventies te gebruiken voor het benoemen van uw uitvoergegevensbestanden. U kunt er in plaats daarvan voor kiezen om de doelcontainer en het blobpad een naam te geven. Als u de standaard Bestandsconventies gebruikt, kunt u uw uitvoerbestanden weergeven in de Azure Portal.
Als u een Batch-oplossing bouwt met C# en .NET, kunt u de bibliotheek Batch-bestandsconventies voor .NET gebruiken. De bibliotheek verplaatst uitvoerbestanden naar Azure Storage en noemt doelcontainers en blobs volgens de standaard Batch File Conventions.
Standaard batchbestandconventies
Als u een andere taal dan .NET gebruikt, kunt u de standaard Batch File Conventions implementeren in uw eigen toepassing. Gebruik deze methode in de volgende gevallen:
- U wilt een algemeen naamgevingsschema gebruiken.
- U wilt taakuitvoer weergeven in de Azure Portal.
Oplossing voor aangepaste bestandsverplaatsing
U kunt ook uw eigen complete oplossing voor bestandsverplaatsing implementeren. Gebruik deze methode in de volgende gevallen:
- U wilt taakgegevens behouden in een ander gegevensarchief dan Azure Storage. U wilt bijvoorbeeld bestanden uploaden naar een gegevensarchief zoals Azure SQL of Azure DataLake. Maak een aangepast script of uitvoerbaar bestand om naar die locatie te uploaden. Roep vervolgens het aangepaste script of uitvoerbare bestand aan op de opdrachtregel nadat u het primaire uitvoerbare bestand hebt uitgevoerd. Roep
doMyWork.exe && uploadMyFilesToSql.exe
bijvoorbeeld op een Windows-knooppunt aan. - U wilt controlepunten uitvoeren of de eerste resultaten vroegtijdig uploaden.
- U wilt gedetailleerde controle houden over foutafhandeling. U wilt bijvoorbeeld acties voor taakafhankelijkheid gebruiken om bepaalde uploadacties uit te voeren op basis van specifieke afsluitcodes voor taken.
Overwegingen bij het ontwerpen
Houd bij het ontwerpen van uw Batch-oplossing rekening met de volgende factoren.
Rekenknooppunten zijn vaak tijdelijk, met name in Batch-pools waarvoor automatisch schalen is ingeschakeld. U ziet alleen uitvoer van een taak:
- Terwijl het knooppunt bestaat waarop de taak wordt uitgevoerd.
- Tijdens de bewaarperiode van het bestand die u voor de taak hebt ingesteld.
Wanneer u een Batch-taak bekijkt in de Azure Portal en Bestanden op knooppunt selecteert, ziet u alle bestanden voor die taak, niet alleen de uitvoerbestanden. Als u taakuitvoer rechtstreeks van de rekenknooppunten in uw pool wilt ophalen, hebt u de bestandsnaam en de uitvoerlocatie op het knooppunt nodig.
Als u taakuitvoergegevens langer wilt bewaren, configureert u de taak om de uitvoerbestanden ervan te uploaden naar een gegevensarchief. Het wordt aanbevolen om Azure Storage als gegevensopslag te gebruiken. Er is integratie voor het schrijven van taakuitvoergegevens naar Azure Storage in de Batch-service-API. U kunt andere duurzame opslagopties gebruiken om uw gegevens te behouden. U moet echter zelf de toepassingslogica schrijven voor andere opslagopties.
Als u uw uitvoergegevens in Azure Storage wilt weergeven, gebruikt u de Azure Portal of een Azure Storage-clienttoepassing, zoals Azure Storage Explorer. Noteer de locatie van het uitvoerbestand en ga rechtstreeks naar die locatie.