Example #1
0
        private async Task PollBotImportStatusAsync(string importId, CancellationToken cancellationToken)
        {
            var getImportRequest = new GetImportRequest
            {
                ImportId = importId,
            };

            var count = 0;

            while (true)
            {
                // Check the status of the import operation
                var getImportResponse = await this.LexClient.GetImportAsync(getImportRequest, cancellationToken).ConfigureAwait(false);

                // If complete, break from the loop
                if (getImportResponse.ImportStatus == ImportStatus.COMPLETE)
                {
                    break;
                }

                // If failed, throw an exception
                if (getImportResponse.ImportStatus == ImportStatus.FAILED)
                {
                    Debug.Assert(getImportResponse.FailureReason != null, "Default behavior is an empty list for 'FailureReason'.");
                    var exceptionMessage = string.Join(Environment.NewLine, getImportResponse.FailureReason);
                    throw new InvalidOperationException(exceptionMessage);
                }

                // If in progress, delay with linear backoff
                var delay = TimeSpan.FromSeconds(GetImportDelaySeconds * ++count);
                await Task.Delay(delay, cancellationToken).ConfigureAwait(false);
            }
        }
        public static async Task <GetImportResponse> GetImportStatusAsync(this IMediator mediator, string jobId, CancellationToken cancellationToken)
        {
            EnsureArg.IsNotNull(mediator, nameof(mediator));
            EnsureArg.IsNotNullOrWhiteSpace(jobId, nameof(jobId));

            var request = new GetImportRequest(jobId);

            GetImportResponse response = await mediator.Send(request, cancellationToken);

            return(response);
        }
Example #3
0
        public static void Run()
        {
            var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
            var apiInstance   = new AnnotateApi(configuration);

            try
            {
                // Set request.
                var request = new GetImportRequest()
                {
                    filePath = "Annotationdocs\\ten-pages.docx"
                };

                var response = apiInstance.GetImport(request);
                Console.WriteLine("Expected response type is List<AnnotationInfo>: " + response.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception while calling Annotation AnnotateApi: " + e.Message);
            }
        }
Example #4
0
 public Task <GetImportResponse> GetImportAsync(GetImportRequest request, CancellationToken cancellationToken)
 {
     return(RetryAsync(this.AmazonLexModelClient.GetImportAsync, request, cancellationToken));
 }
Example #5
0
            public async Task <GetImportResponse> GetImportAsync(GetImportRequest request, CancellationToken cancellationToken)
            {
                await this.ProcessRequestAsync(request).ConfigureAwait(false);

                return(this.Get <GetImportResponse>());
            }