IBM Language Translator возвращает 403 Запрещено при идентификации () - PullRequest
0 голосов
/ 13 января 2020

Я следовал официальной документации для создания многоязычного помощника Уотсона, описанного здесь: https://github.com/with-watson/multilingual-chatbot

Однако после развертывания функции в IBM Cloud и тестирования развернутой функции через IBM Cloud CLI с помощью приведенной ниже команды я получаю сообщение об ошибке (журналы ниже):

bx wsk действие вызывает переводчик --result --param text "Привет, ich habe eine Frage."

{"error": "Действие не вернуло словарь". }

"2020-01-13T12:54:57.787506Z    stderr: Traceback (most recent call last):",
"2020-01-13T12:54:57.787554Z    stderr: File \"pythonrunner.py\", line 88, in run",
"2020-01-13T12:54:57.787560Z    stderr: exec('fun = %s(param)' % self.mainFn, self.global_context)",
"2020-01-13T12:54:57.787564Z    stderr: File \"<string>\", line 1, in <module>",
"2020-01-13T12:54:57.787568Z    stderr: File \"__main__.py\", line 98, in main",
"2020-01-13T12:54:57.787571Z    stderr: response = translator.identify( text )",
"2020-01-13T12:54:57.787575Z    stderr: File \"/action/virtualenv/lib/python3.6/site-packages/watson_developer_cloud/language_translator_v3.py\", line 193, in identify",
"2020-01-13T12:54:57.787579Z    stderr: accept_json=True)",
"2020-01-13T12:54:57.787583Z    stderr: File \"/action/virtualenv/lib/python3.6/site-packages/watson_developer_cloud/watson_service.py\", line 587, in request",
"2020-01-13T12:54:57.787587Z    stderr: info=error_info, httpResponse=response)",
"2020-01-13T12:54:57.787591Z    stderr: watson_developer_cloud.watson_service.WatsonApiException: Error: Forbidden, Code: 403",
"2020-01-13T12:54:57.788Z       stderr: The action did not initialize or run as expected. Log data might be missing."

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

Код, выполняемый в main, такой же, как приведенный выше на Github, я не вносил никаких изменений.

Есть идеи, как решить эту проблему? Спасибо!

Ответы [ 2 ]

0 голосов
/ 14 января 2020

Вот что сработало для меня с дополнительными изменениями

Я запустил приведенную ниже команду для обновления пакетов, упомянутых в environment.yml файле

conda update --all
  • Версия conda на моя машина 4.8.1
  • облачные функции / wsk / functions / fn версия плагина 1.0.36
0 голосов
/ 13 января 2020

Строка ключа, используемая curl, является токеном на предъявителя. Ключ API, необходимый для облачной функции, вероятно, предоставлен Identity and Access Management, IAM.

В консоли https://cloud.ibm.com GUI в верхней части щелкните Управление> Доступ (IAM). ) затем выберите ключи IBM Cloud API слева и выберите ключ API. Это создает ключ API, который представляет вас, так же как имя пользователя и учетные данные. Это самый простой способ заставить это работать, но он не подходит для производства.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...