Skapa och köra ett Batch-jobb med hjälp av .NET-klientbiblioteket

Slutförd

Nu har du en .NET Core-app som kan ansluta till Azure Batch-tjänsten och har skapat en pool med tre noder. I de återstående övningarna i den här modulen implementerar vi följande lista över återstående funktioner:

  • Ladda upp videofiler och gör dem tillgängliga för Azure Batch-tjänsten
  • Skapa ett jobb som ska köras på dessa noder
  • Lägg till en uppgift för att konvertera videon till jobbet
  • Kör jobbet för att konvertera de uppladdade videorna
  • Övervaka tillståndet för konverteringsuppgifterna
  • Rensa Batch-tjänstresurser för att undvika extra användningsavgifter (med alternativet att ta bort poolen om bearbetningen för dagen har slutförts)

Batch-hantering

Med batchklient-API:et använder du följande metoder för att skapa, ta bort och övervaka komponenterna i din app:


  • batchClient.PoolOperations.CreatePool: du lade till detta i appen i föregående övning
  • batchClient.PoolOperations.DeletePoolAsync

  • batchClient.JobOperations.CreateJob
  • batchClient.JobOperations.AddTaskAsync
  • batchClient.JobOperations.DeleteJobAsync

  • batchClient.Utilities.CreateTaskStateMonitor

Filhantering

Du använder lagringskontot som du skapade tidigare för att skapa containrar för att lagra indata- och utdatafilerna i Blob Storage. Från Azure Storage Blob-klientbiblioteket använder du följande klasser och metoder:


  • CloudStorageAccount: får åtkomst till det skapade lagringskontot
  • CloudStorageAccount.Parse(storageConnectionString): ansluter till lagringskontot
  • storageAccount.CreateCloudBlobClient: skapar en CloudBlobClient

  • CloudBlobClient: skapar en container
  • blobClient.GetContainerReference(containerName): gör det möjligt att skapa containrar

  • CloudBlobContainer: skapar bloblagring
  • container. GetBlockBlobReference(blobName): skapar en CloudBlockBlob
  • container. CreateIfNotExistsAsync: skapar containern om den inte finns
  • container. DeleteIfExistsAsync: tar bort containern om den finns

  • CloudBlockBlob: lägger till eller tar bort filer till bloblagring
  • blobData.UploadFromFileAsync(filePath): laddar upp den angivna lokala filen till Azure Storage
  • blobData.GetSharedAccessSignature(sasConstraints): hämtar en signatur-URI för delad åtkomst som ska användas för att komma åt den uppladdade videon

  • ResourceFile.FromUrl(blobSasUri, blobName): tillhandahåller en filsökväg till videon i Azure Storage

Du måste vidta ett antal åtgärder för att göra det möjligt för en app att överföra filer till Azure Storage. Konsolappen måste också göra det möjligt för Batch-aktiviteterna att skriva utdata till bloblagring.

  1. Lägg till Microsoft.Azure.Storage.Blob NuGet-paketet
  2. Anslut till lagringskontot med autentiseringsuppgifterna för Azure Storage
  3. Skapa en blob i lagringskontot
  4. Skapa två containrar för in- och utdatafilerna med blobklienten
  5. Ladda upp lokala MP4-videofiler med hjälp av indatacontainern och lagra en lista med filer för Batch-jobbet
  6. När videorna har konverterats kan indatacontainern tas bort, vilket tar bort alla uppladdade videor från Azure