вызвать rest API из postgresql FUNCTION

Я пытаюсь вызвать API из функции PostgreSQL, используя PL/Python. Когда я вызываю API, возникает ошибка, и за последние два дня я пытался устранить ошибку, но безуспешно. Ниже моя функция в PostgreSQL

      CREATE OR REPLACE FUNCTION call_api(url TEXT, method TEXT, data TEXT) RETURNS JSON AS $$
import urllib.request
import json

req = urllib.request.Request(url)
req.method = method
req.add_header('Content-Type', 'application/json')
if data:
    data = data.encode('utf-8')
    req.data = data

response = urllib.request.urlopen(req)
json_response = json.loads(response.read())

return json_response
$$ LANGUAGE plpython3u;

Ниже приведен вызов функции в PostgreSQL.

      SELECT public.call_api('https://localhost:7275/api/Employee', 'GET','{"key": "value"}')

Ниже приведена ошибка, когда я вызываю вышеуказанную функцию

      ERROR:  ModuleNotFoundError: No module named '_socket'
CONTEXT:  Traceback (most recent call last):
  PL/Python function "call_api", line 2, in <module>
    import urllib.request

Я использую PostgreSQL 15.0 и версию Python Python-3.10. Я не знаю, что случилось

0 ответов

Другие вопросы по тегам