Skapa och köra ett Batch-jobb med hjälp av .NET-klientbiblioteket
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.
- Lägg till
Microsoft.Azure.Storage.Blob
NuGet-paketet - Anslut till lagringskontot med autentiseringsuppgifterna för Azure Storage
- Skapa en blob i lagringskontot
- Skapa två containrar för in- och utdatafilerna med blobklienten
- Ladda upp lokala MP4-videofiler med hjälp av indatacontainern och lagra en lista med filer för Batch-jobbet
- När videorna har konverterats kan indatacontainern tas bort, vilket tar bort alla uppladdade videor från Azure