Невозможно получить доступ к Watson Assistant через Python API - ошибка: ресурс не найден, код: 404 - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь загрузить рабочую область из Watson assistant, используя python.

assistant = assistant = AssistantV1(
    version='2019-02-28',
    iam_apikey='',
    url='https://gateway-fra.watsonplatform.net/assistant/api'
)
language = 'en'
workspace_id = "" #Skill Name:Poor mans disambiguation
#Frankfurt: https://api.eu-de.assistant.watson.cloud.ibm.com

response=assistant.list_workspaces().get_result()
print(json.dumps(response, indent=2))

list.wokpace работает нормально - пример вывода ниже

{
  "workspaces": [
    {
      "name": "1 - DEV ENGLISH",
      "language": "en",
      "metadata": {
        "api_version": {
          "major_version": "v1",
          "minor_version": "2019-02-28"
        }

Но пока я пытаюсь экспортировать рабочее пространство, используя response = assistant.get_workspace(workspace_id=workspace_id, export=True)

ApiException: Error: Resource not found, Code: 404 , X-global-transaction-id: a5e6e2ff76d987798c7c844b232f7f18

Примечание. Я работаю над автоматизацией развертывания рабочего пространства.

Надеюсь, мне здесь помогут.

Ответы [ 2 ]

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

Вот скрипт для загрузки рабочей области JSON Помощник

Api_key = ''
Skill_id = ''
Service_url = ''

start = time.time()
authenticator = IAMAuthenticator(Api_key)
assistant = AssistantV1(version='2019-02-28',authenticator = authenticator)
assistant.set_service_url(Service_url)
response=assistant.get_workspace(workspace_id=Skill_id).get_result()
end = time.time()
print("Execution time : ",end - start)

response = assistant.get_workspace(
    workspace_id=Skill_id, export=True).get_result()
1 голос
/ 09 января 2020

Либо это временная ошибка, либо вы не указали правильный идентификатор рабочей области. Для get_workspace () API , который является частью API V1, требуется идентификатор рабочей области, а не идентификатор навыка.

У меня есть Python инструменты на основе V1 и V2 и вот вызов этого get_workspace :

# Get and print a specific workspace by ID
def getPrintWorkspace(workspaceID,exportWS):
    print(json.dumps(assistant.get_workspace(workspace_id=workspaceID,export=exportWS).get_result(), indent=2))

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

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