public void OperationsHistory() { string endpoint = TestEnvironment.Endpoint; string apiKey = TestEnvironment.ApiKey; var client = new DocumentTranslationClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); #region Snippet:OperationsHistory int operationsCount = 0; int totalDocs = 0; int docsCancelled = 0; int docsSucceeded = 0; int docsFailed = 0; TimeSpan pollingInterval = new(1000); foreach (TranslationStatus translationStatus in client.GetAllTranslationStatuses()) { if (translationStatus.Status != DocumentTranslationStatus.Failed && translationStatus.Status != DocumentTranslationStatus.Succeeded) { DocumentTranslationOperation operation = new DocumentTranslationOperation(translationStatus.Id, client); while (!operation.HasCompleted) { if (operation.GetRawResponse().Headers.TryGetValue("Retry-After", out string value)) { pollingInterval = TimeSpan.FromSeconds(Convert.ToInt32(value)); } Thread.Sleep(pollingInterval); operation.UpdateStatus(); } } operationsCount++; totalDocs += translationStatus.DocumentsTotal; docsCancelled += translationStatus.DocumentsCancelled; docsSucceeded += translationStatus.DocumentsSucceeded; docsFailed += translationStatus.DocumentsFailed; } Console.WriteLine($"# of operations: {operationsCount}"); Console.WriteLine($"Total Documents: {totalDocs}"); Console.WriteLine($"Succeeded Document: {docsSucceeded}"); Console.WriteLine($"Failed Document: {docsFailed}"); Console.WriteLine($"Cancelled Documents: {docsCancelled}"); #endregion }
protected override async ValueTask <bool> IsEnvironmentReadyAsync() { string endpoint = GetOptionalVariable(EndpointEnvironmentVariableName); var client = new DocumentTranslationClient(new Uri(endpoint), Credential); try { await client.GetSupportedDocumentFormatsAsync(); await client.GetSupportedGlossaryFormatsAsync(); client.GetAllTranslationStatuses().Take(2); } catch (RequestFailedException e) when(e.Status == 401) { return(false); } return(true); }