错误 429 - 请求过多 - 试图删除 IBM Watson Visual Recognition 服务的所有分类器

Error 429 - too much requests - trying to delete all classifiers of IBM Watson Visual Recognition service

我正在尝试删除我的 IBM Watson Visual Recognition 服务实例的所有分类器,以便我只能创建用于我的应用程序的新分类器。

为此,我编写了 Node.js 列出所有分类器并发送删除请求的代码。

当我执行它时(数百个并行删除请求),我收到了 429 error - too many requests。在那之后,我所有的删除请求(甚至是个人的)都收到了 404 error - Cannot delete classifier.

我的问题是:

  1. 有没有更好的办法把所有没有做的分类器一一删除?
  2. 为什么我现在无法删除单个分类器?出现 429 太多请求错误后是否有某些政策阻止我?

这是我在多次删除请求中收到的 429 错误

code: 429,
  error: '<HTML><BODY><span class=\'networkMessage\'><h2>Wow, is it HOT in here!</h2>My CPU cores are practically burning up thanks to all the great questions from wonderful humans like you.<p>Popularity has its costs however. Right now I just can\'t quite keep up with everything. So I ask your patience while my human subsystems analyze this load spike to get me more Power.<p>I particularly want to <b>thank you</b> for bringing your questions. PLEASE COME BACK - soon and frequently! Not only do I learn from your usage, but my humans learn from workload spikes (like this one) how to better adjust capacity with Power and Elastic Storage.<p>So again, thank you for helping to make me smarter and better. I\'m still young and growing, but with your patience and help, I hope to make you proud someday!</p>Your buddy,<br>Watson<br><span class=\'watsonIcon\'></span>p.s. Please share your experiences in the Watson C

编辑:

我注意到错误显然仅在我尝试删除服务提供的 "default" 分类器时发生(例如 "Graphics"、"Color"、"Black_and_white" , ETC。)。当我尝试删除我用自己的图片创建的分类器时,删除效果很好。

是否不允许我删除默认分类器的服务特性?如果是,有什么特殊原因吗?我正在构建的应用程序不需要所有这些内置分类器,所以拥有所有这些是没有用的。

我知道我可以在请求新分类时通知我要使用的分类器列表,但在这种情况下,我需要保留一个单独的分类器列表并且无法请求更通用的分类,而不在结果中获得默认分类器。

我正在使用节点 js 模块 "watson-developer-cloud":“^1.3.1”- 我不确定它在内部使用的 API 版本。我刚刚注意到有一个更新的版本可用。如果有任何不同,我会更新并在这里报告。

这是我用来删除单个分类器的 JS 函数

function deleteClassifier(classifier_id,callback){
    var data = {
      "classifier_id": classifier_id,
    };
    visualRecognition.deleteClassifier(data,function(err, response) {
      if (err){
        callback(err);
      }
      else{
        callback(null, response);
      }
    });
  }

-编辑

当我使用 V2 API 时发生 - 但我相信它与 API 版本无关。查看已接受的答案

1-Is there a better way to delete all classifiers that is not doing it one by one ?

不行,必须一一删除

2- Why I'm unable to delete individual classifiers now ? Is there some policy that blocks me after a 429 too much requests ?

我怀疑当您请求 DELETE /classifiers/{classifier_id} returns 时出现 404,这是因为 classifier_id 之前已成功删除。您可以通过执行 GET /classifiers 操作来验证这一点,以查看您帐户的所有当前自定义分类器的列表。 404 是针对试图删除无法找到的分类器(如果之前已删除,则会出现这种情况)的设计响应。遇到 429 后,没有政策会阻止您。

您能否举例说明您正在使用的 URL - 我很好奇它是测试版服务 (v2) 还是最新版本 v3?

我发现问题是我试图删除默认分类器,这是不允许的。

在以后的API版本中(我写这个答案的时候是V3)只有一个默认的分类器,不能删除。

我遇到的 404 错误是因为我试图删除默认分类器。正如 Matt Hill 在他的回答中提到的那样,我所有的自定义分类器都已被删除