public Job CreateJob(string authToken, string transformName, string jobName, string jobDescription, Priority jobPriority, string jobData, string inputFileUrl, string inputAssetName, MediaJobOutputMode outputAssetMode, string[] outputAssetDescriptions, string[] outputAssetAlternateIds, string streamingPolicyName) { JObject jobPublish = GetJobPublish(authToken, jobData, streamingPolicyName); MediaJob mediaJob = new MediaJob() { Name = jobName, Description = jobDescription, Priority = jobPriority, Data = jobPublish, InputFileUrl = inputFileUrl, InputAssetName = inputAssetName, OutputAssetMode = outputAssetMode, OutputAssetDescriptions = outputAssetDescriptions, OutputAssetAlternateIds = outputAssetAlternateIds }; Job job = CreateJob(transformName, mediaJob); MediaJobAccount jobAccount = new MediaJobAccount() { JobName = job.Name, TransformName = transformName, MediaAccount = MediaAccount }; using (DatabaseClient databaseClient = new DatabaseClient()) { string collectionId = Constant.Database.Collection.MediaJobAccount; databaseClient.UpsertDocument(collectionId, jobAccount); } return(job); }
private void SetJobAccount(string insightId) { MediaJobAccount jobAccount = new MediaJobAccount() { JobName = insightId, MediaAccount = MediaAccount }; using (DatabaseClient databaseClient = new DatabaseClient()) { string collectionId = Constant.Database.Collection.MediaJobAccount; databaseClient.UpsertDocument(collectionId, jobAccount); } }
private static string GetNotificationMessage(Job job, MediaJobAccount jobAccount, MediaJobPublish jobPublish) { StringBuilder message = new StringBuilder(); message.Append("AMS Job Notification"); message.Append("\n\nMedia Services Account\n"); message.Append(jobAccount.MediaAccount.Name); message.Append("\n\nTransform Name\n"); message.Append(jobAccount.TransformName); message.Append("\n\nJob Name\n"); message.Append(job.Name); message.Append("\n\nJob State\n"); message.Append(job.State.ToString()); message.Append("\n\nJob Priority\n"); message.Append(job.Priority); message.Append("\n\nJob Created\n"); message.Append(job.Created); message.Append("\n\nJob Last Modified\n"); message.Append(job.LastModified); foreach (JobOutput jobOutput in job.Outputs) { message.Append("\n\nJob Output Label\n"); message.Append(jobOutput.Label); message.Append("\n\nJob Output State\n"); message.Append(jobOutput.State.ToString()); message.Append("\n\nJob Output Progress\n"); message.Append(jobOutput.Progress); if (jobOutput.Error != null) { message.Append("\n\nOutput Error Category\n"); message.Append(jobOutput.Error.Category.ToString()); message.Append("\n\nOutput Error Code\n"); message.Append(jobOutput.Error.Code.ToString()); message.Append("\n\nOutput Error Message\n"); message.Append(jobOutput.Error.Message); message.Append("\n\nOutput Error Retry\n"); message.Append(jobOutput.Error.Retry); foreach (JobErrorDetail errorDetail in jobOutput.Error.Details) { message.Append("\n\nOutput Error Detail Code\n"); message.Append(errorDetail.Code.ToString()); message.Append("\n\nOutput Error Detail Message\n"); message.Append(errorDetail.Message); } } } message.Append("\n\nStreaming Policy Name\n"); message.Append(jobPublish.StreamingPolicyName); return(message.ToString()); }