0

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

Для этого я написал код 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 

Edit:

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

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

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

Я использую модуль узла 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); 
     } 
    }); 
    } 

-Edit

произошедшую когда я использую API V2 - Но я считаю, что это не связано с API версия. См. Принятый ответ

ответ

1

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

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

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

4

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

Нет, вы должны удалить их один за другим.

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

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

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