Я пытаюсь настроить этот веб-перехватчик в репозитории кода с конечной целью импортировать эту функцию в построитель конвейера (это будет входными данными для остальной части конвейера). функция, которую я хотел бы иметь 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)
Код: Выделить всё
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
Мобильная версия