【问题标题】:Google Vision API Occasionally Returns 404 ErrorGoogle Vision API 偶尔返回 404 错误
【发布时间】:2021-11-02 03:29:54
【问题描述】:

我遇到了与此处提到的从 Google Apps 脚本调用 API 完全相同的间歇性 404 问题: Javascript Fetch returns 404 occasionally

是否应将此报告给 Google 以进行评估和补救?如果是这样,怎么做? 或者这只是他们会回应“处理”的事情。

  var videoApiUrl = 'https://videointelligence.googleapis.com/v1/';

  var annotateUrl = videoApiUrl + 'videos:annotate?key=' + apiKey;  

  var testFile = DriveApp.getFileById('11MIdGHM0tYZ5o0p5QebD8uPELYGTntzZ');

  var testBlob = testFile.getBlob();
  var testBase64Bytes = Utilities.base64Encode(testBlob.getBytes());

  var JSON_REQ = XbuildJSONRequestVideoBase64(testBase64Bytes, 'PERSON_DETECTION');
  
  var options = {
    'method': 'post',
    'contentType': 'application/json',
    'muteHttpExceptions': true,
    'payload': JSON_REQ
  };

  var response = UrlFetchApp.fetch(annotateUrl, options);
  var objName = JSON.parse(response);

结果: 404. 这是一个错误。 在此服务器上找不到请求的 URL yadda-yadda。
这就是我们所知道的。

【问题讨论】:

    标签: google-apps-script fetch http-status-code-404 google-cloud-vision


    【解决方案1】:

    看来您可能需要实现exponential backoff

    GAS 大师 Bruce McPherson 在他的网站 Desktop Liberation 上介绍了这个主题。

    请参阅下面链接的帖子:

    Backing off on rate limiting

    【讨论】:

    • 感谢关于指数退避的建议。我认为这不是配额/资源问题。我的请求是单线程的,所以我没有达到任何这些已发布的限制 (cloud.google.com/video-intelligence/quotas)。而且我收到的错误消息与记录的任何资源限制错误消息都不相似。
    • @TomScheifler 指数退避也可用于重试失败的请求。因此,在这种情况下,它可能对您有用
    • 同意。但在这种情况下,以静态间隔(例如 10 秒)进行更简单的重试似乎可行,因为它不是由配额引起的。所以最初的问题仍然存在。是否值得报告?我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 2014-09-18
    • 2016-06-10
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多