如何使用 pyspark 从 Databricks 调用基于 REST 的 API?

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

我想使用 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] 连接超时'))

你们能帮我解决这个问题吗?

rest post pyspark get azure-databricks
1个回答
0
投票

确保您可以从您正在使用的 databricks 集群访问该 URI。有时,它只是在物理层(防火墙)被阻止,您将无法到达那里。因此,超时了。

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