Palantir Foundry — Вызов вебхукаPython

Программы на Python
Ответить
Anonymous
 Palantir Foundry — Вызов вебхука

Сообщение Anonymous »

Итак, в настоящее время у меня настроен репозиторий кода, и в нем я импортировал REST API в качестве источника (называемый «Gdelt2Retieve»). В этом REST API у меня также настроен веб-перехватчик под названием ("Gdelt2). Я могу запустить его на вкладке подключения к данным и успешно увидеть правильные результаты от веб-перехватчика/API. У меня также настроены политики исходящего трафика.
Я пытаюсь настроить этот веб-перехватчик в репозитории кода с конечной целью импортировать эту функцию в построитель конвейера (это будет входными данными для остальной части конвейера). функция, которую я хотел бы иметь webhook непосредственно в сборщике конвейеров, который будет запускаться примерно раз в час и выгружать данные в набор данных.
У меня также включена настройка Transform-external-systems из документации. Насколько я понимаю, у меня есть. для вызова веб-перехватчика, а также иметь выходные данные в виде набора данных.
Может ли кто-нибудь сказать мне, на правильном ли я пути с этим кодом, который я пытался имитировать документацию:

Код: Выделить всё

from palantir.datasets.core import Dataset
from palantir.datasets.webhooks import WebhookClient
from pyspark.sql import function

@function(sources=["Gdelt2Retrieve"])
def call_webhook() -> str:
# Create a WebhookClient instance
webhook_client = WebhookClient()

# Execute the webhook
try:
response = webhook_client.execute("Gdelt2")
except Exception as e:
return f"Error: Webhook call failed due to an exception: {e}"

# Check if the webhook execution was successful
if response.status_code != 200:
return f"Error: Webhook call failed with status code {response.status_code}, response: {response.text}"

# Process the response data
try:
data = response.json()  # Extract JSON data
except ValueError:
return "Error:"

return str(data)
Кроме того, после импорта моего API: «Gdelt2Retieve» на боковой вкладке ресурсов появляется следующий стартовый код:

Код: Выделить всё


import requests
@function(sources=["Gdelt2Retrieve"])
def my_function() -> String:
# TODO: specify endpoint url
response = requests.get(...)
if response.status_code != 200:
# Handle error
data = response.json()
# Use response data

Мне не обязательно использовать эту функцию, но я решил, что это будет самый простой способ интегрировать веб-перехватчик в построитель конвейера.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-webhook
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»