我想使用 GET/POST 方法调用基于 REST 的微服务 URL,并使用 pyspark 在 Databricks 中显示 API 响应。目前我可以使用 python 来实现这两个目标。这是我的 POST 方法的 python 脚本:
import requests as req
import json
input_data = {'A': 1, 'B': 2}
url = 'http://myurl/v1/post'
input_headers={
"Content-Type": "application/json",
"header1":"value1",
"header2":"value2,
"header3":"value3"
}
resp = req.post (url,headers=input_headers, data=json.dumps(input_data))
print(resp.text)
我的 GET 方法脚本:
import requests as req
url = 'http://myurl/v1/get'
resp= req.get(url)
print(resp.text)
但是当我在 Databricks 中尝试 GET 方法的脚本时,它显示超时并显示以下错误消息:
ConnectionError: HTTPConnectionPool(host='myurl', port=40): url 超过最大重试次数:/v1/get (由 NewConnectionError(': 无法建立新连接: [Errno 110] 连接超时'))
你们能帮我解决这个问题吗?
确保您可以从您正在使用的 databricks 集群访问该 URI。有时,它只是在物理层(防火墙)被阻止,您将无法到达那里。因此,超时了。