Ошибка 429 - слишком много запросов - попытка удалить все классификаторы службы IBM Watson Visual Recognition

Я пытаюсь удалить все классификаторы своего экземпляра службы 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

Редактировать:

Я заметил, что ошибка, по-видимому, возникает только тогда, когда я пытаюсь удалить классификатор «по умолчанию», предоставляемый службой (например, «Графика», «Цвет», «Черный_и_белый» и т. Д.). Удаление работает нормально, когда я пытаюсь удалить классификатор, созданный с моими собственными изображениями.

Является ли характеристика службы тем, что мне не разрешено удалять классификаторы по умолчанию? Если да, то какая для этого особая причина? Приложению, которое я создаю, не нужны все эти встроенные классификаторы, поэтому иметь все это бесполезно.

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

Я использую модуль node 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. См. Принятый ответ


person Leandro David    schedule 07.06.2016    source источник


Ответы (2)


1-Есть ли лучший способ удалить все классификаторы, которые этого не делают, один за другим?

Нет, вы должны удалять их по одному.

2- Почему сейчас я не могу удалить отдельные классификаторы? Есть ли какая-то политика, которая блокирует меня после 429 слишком большого количества запросов?

Я подозреваю, что когда ваш запрос на DELETE / classifiers / {classifier_id} возвращает 404, это потому, что classifier_id ранее был успешно удален. Вы можете проверить это, выполнив операцию GET / classifiers, чтобы увидеть список всех текущих настраиваемых классификаторов для вашей учетной записи. 404 - это спланированный ответ на попытку удалить классификатор, который не может быть найден (что было бы в случае, если бы он был ранее удален). Не существует политики, которая блокировала бы вас после обнаружения 429.

Не могли бы вы привести пример URL-адресов, которые вы используете - мне любопытно, это бета-версия (v2) или новейшая версия, v3?

person Matt Hill    schedule 08.06.2016

Я обнаружил, что проблема в том, что я пытался удалить классификаторы по умолчанию, а это запрещено.

В более поздней версии API (V3, когда я пишу этот ответ) есть только один классификатор по умолчанию, и его нельзя удалить.

Ошибка 404, которую я получал, была связана с тем, что я пытался удалить классификаторы по умолчанию. Все мои пользовательские классификаторы уже были удалены, как упомянул Мэтт Хилл в своем ответе

person Leandro David    schedule 31.07.2016