为什么我对 IBM Graph 的 REST 调用花费的时间太长(2-4 秒)?
Why do my REST calls to IBM Graph take too long (2-4s)?
当我对我的 IBM Graph 实例进行任何调用时,它需要几秒钟才能完成。
curl "$apiURL/vertices" \
-u "$username:$password"
-X POST \
-H 'Content-Type: application/json' \
-d '{ "Name": "Million Dollar Baby",
"Type": "Movie" }'
知道为什么会发生这种情况吗以及是否有其他选择?
发生这种情况的原因是您在休息呼叫时使用了基本身份验证。每次调用时,基本身份验证都需要更长的时间来验证您的凭据。基本身份验证适用于原型设计或快速试用。 Session authentication 是用于生产代码的推荐方式。它是这样工作的:
首先您需要使用 _session 端点获取会话令牌
#API URL that's returned as part of your credentials
#without the /g a
curl -u username:password -X GET "<API URL>/_session"
响应应如下所示
{"gds-token":"MzgyZGZmNzEtZTE3MS00ODZlLWIzYzUtN2M2OWI3YTgyYjYxOjE0NTQ1OTc5NTg1NTg6QUp6UmEwTkVJN3I3cFE1Sy9uMHp5ZEZjbmx5YnE5VTJWTjZpM0pnS0ZXVT0="}
现在您可以将此 gds-token 传递给后续 API 调用,如下例所示
curl -H 'Authorization: gds-token MzgyZGZmNzEtZTE3MS00ODZlLWIzYzUtN2M2OWI3YTgyYjYxOjE0NTQ1OTc5NTg1NTg6QUp6UmEwTkVJN3I3cFE1Sy9uMHp5ZEZjbmx5YnE5VTJWTjZpM0pnS0ZXVT0= Content-Type: application/json' -d '{"Name": "Million Dollar Baby","Type": "Movie" }' -X POST "<API URL>/g/vertices"
当我对我的 IBM Graph 实例进行任何调用时,它需要几秒钟才能完成。
curl "$apiURL/vertices" \
-u "$username:$password"
-X POST \
-H 'Content-Type: application/json' \
-d '{ "Name": "Million Dollar Baby",
"Type": "Movie" }'
知道为什么会发生这种情况吗以及是否有其他选择?
发生这种情况的原因是您在休息呼叫时使用了基本身份验证。每次调用时,基本身份验证都需要更长的时间来验证您的凭据。基本身份验证适用于原型设计或快速试用。 Session authentication 是用于生产代码的推荐方式。它是这样工作的:
首先您需要使用 _session 端点获取会话令牌
#API URL that's returned as part of your credentials
#without the /g a
curl -u username:password -X GET "<API URL>/_session"
响应应如下所示
{"gds-token":"MzgyZGZmNzEtZTE3MS00ODZlLWIzYzUtN2M2OWI3YTgyYjYxOjE0NTQ1OTc5NTg1NTg6QUp6UmEwTkVJN3I3cFE1Sy9uMHp5ZEZjbmx5YnE5VTJWTjZpM0pnS0ZXVT0="}
现在您可以将此 gds-token 传递给后续 API 调用,如下例所示
curl -H 'Authorization: gds-token MzgyZGZmNzEtZTE3MS00ODZlLWIzYzUtN2M2OWI3YTgyYjYxOjE0NTQ1OTc5NTg1NTg6QUp6UmEwTkVJN3I3cFE1Sy9uMHp5ZEZjbmx5YnE5VTJWTjZpM0pnS0ZXVT0= Content-Type: application/json' -d '{"Name": "Million Dollar Baby","Type": "Movie" }' -X POST "<API URL>/g/vertices"