Загрузка файла с file.io «X-Кэш: Ошибка LambdaExecutionError из cloudfront» «Служба временно недоступна»

#c# #download #upload #httprequest

Вопрос:

Я пытаюсь настроить простую загрузку для небольших файлов с помощью file.io.

Согласно их API, в качестве теста должно работать следующее:

         public static void TestUploadDownload()
    {
        byte[] resStr = client.UploadFile("https://file.io", @"C:Gamestest.txt");
        string jsonString = Encoding.UTF8.GetString(resStr);
        UploadResponse response = JsonConvert.DeserializeObject<UploadResponse>(Encoding.UTF8.GetString(resStr));
        Console.WriteLine(jsonString);

        System.Threading.Thread.Sleep(2000);

        using (var httpClient = new HttpClient())
        {
            using (var request = new HttpRequestMessage(new HttpMethod("GET"), response.link))
            {
                request.Headers.TryAddWithoutValidation("accept", "*/*");
                Console.WriteLine(request.ToString());
                Task<HttpResponseMessage> res = httpClient.SendAsync(request);
                res.Wait();
                HttpResponseMessage r = res.Resu<
                Console.WriteLine(r.ToString());
            }
        }
    }

    public class UploadResponse
    {
        public string success { get; set; }
        public int status { get; set; }
        public string id { get; set; }
        public string key { get; set; }
        public string name { get; set; }
        public string link { get; set; }
        public bool @private { get; set; }
        public int downloads { get; set; }
        public int maxDownloads { get; set; }
        public bool autoDelete { get; set; }
        public int size { get; set; }
        public string mimeType { get; set; }
        public string created { get; set; }
        public string modified { get; set; }
        public string Category { get; set; }
    }
 

Распечатка запроса выглядит следующим образом:

 Method: GET, RequestUri: 'https://file.io/L8Qp3xJ4vqVo', Version: 1.1, Content: <null>, Headers:
{
  accept: */*
}

 

Я знаю, что он успешно загружен, потому что я получаю следующий вывод:

И когда я перехожу по ссылке, она подтверждает, что файл был загружен.

 {"success":true,"status":200,"id":"15a117d0-ea34-11eb-9a70-5b2a19fad8fa","key":"LLUEQ8tYvd56","name":"test.txt","link":"https://file.io/LLUEQ8tYvd56","private":false,"expires":"2021-08-04T14:58:18.701Z","downloads":0,"maxDownloads":1,"autoDelete":true,"size":15,"mimeType":"application/octet-stream","created":"2021-07-21T14:58:18.701Z","modified":"2021-07-21T14:58:18.701Z"}
 

Однако HttpResponseMessage всегда возвращает:

 StatusCode: 503, ReasonPhrase: 'Service Temporarily Unavailable', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Connection: keep-alive
  X-Cache: LambdaExecutionError from cloudfront
  X-Amz-Cf-Pop: AMS1-C1
  X-Amz-Cf-Id: A4jZfWzl_mMPXM0xNA1rfCki2dP6BisRvAjO-6rAoJ4iO0D4vMXUSA==
  Date: Wed, 21 Jul 2021 14:58:20 GMT
  Server: CloudFront
  Via: 1.1 4ce5e5162c2d4fc9022ceb290f794ffe.cloudfront.net (CloudFront)
  Content-Length: 1019
  Content-Type: text/html
}
 

Действительно ли служба временно недоступна или я здесь что-то делаю не так?

ИЗМЕНИТЬ: Читая текст сообщения HttpResponseMessage, мы получаем:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>503 ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
The Lambda function associated with the CloudFront distribution is invalid or doesn't have the required permissions.
We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.
<BR clear="all">
If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: 13FAiVlp7dwuOBEdaabvAtZEJhBz3h8HMfowEnVGtberx9WxCB0Czg==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>
 

Комментарии:

1. что это: «X-кэш: ошибка LambdaExecutionError от cloudfront»?

2. Какой-то сервис, который они используют для обработки трафика? Я не очень разбираюсь в вызовах API.