尝试验证/初始化SDK中的IBM Watson服务的语法错误

问题描述 投票:0回答:1

我正在尝试运行使用IBM Watson服务的示例代码。在根据需要设置我的用户名/密码或IAM密钥后,代码失败。在Python中,这样的错误:

init()获得了意外的关键字参数'iam_apikey'

原因是什么?我需要更改什么?

ibm-cloud ibm-watson watson-assistant watson-discovery
1个回答
0
投票

似乎您在Watson SDK中遇到了问题。最近,他们在Python SDK V4Node SDK V5中引入了一个突破性的变化(PythonNode),这是我在他们的release notes中发现的。有一种新的,更抽象的身份验证机制可以满足不同的身份验证类型。您需要稍微更改NLC的初始化代码。

这是来自Python migration instructions

例如,传递IAM apikey:

之前

from ibm_watson import MyService

service = MyService(
    iam_apikey='{apikey}',
    url='{url}'
)

After(V4.0)

from ibm_watson import MyService
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator

authenticator = IAMAuthenticator('{apikey}')
service = MyService(
    authenticator=authenticator
)
service.set_service_url('{url}')

[参见某些IBM Cloud core SDKs for more documentation,例如,这是核心Node SDK的Authentication doc

© www.soinside.com 2019 - 2024. All rights reserved.