You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Palantir Foundry创建REST API数据连接并捕获响应至数据集

使用Palantir Foundry创建REST API数据连接并保存响应到数据集

以下是从配置API连接到将响应写入Foundry数据集的完整实现流程:

1. 前置准备

先确认目标REST API的核心信息:

  • API端点URL
  • 请求方法(GET/POST/PUT等)
  • 认证方式(API Key、OAuth2、Basic Auth等)
  • 请求参数、请求体格式(若需)
  • 响应数据格式(JSON/XML/CSV等)

2. 创建REST API数据源连接

在Foundry中配置API连接:

  • 进入Data Connections界面,点击「New Connection」,选择「REST API」类型
  • 填写连接名称、描述,输入API的基础端点URL
  • 根据API要求配置认证:
    • API Key:添加请求头(如X-API-Key: <你的密钥>)
    • OAuth2:配置授权服务器地址、客户端ID/密钥、授权范围等
    • Basic Auth:输入用户名和密码
  • 点击「Test Connection」验证连通性,确认能正常获取响应

3. 编写Transform处理API响应(以Python为例)

通过Foundry Transform编写逻辑,发起请求、解析响应并写入数据集:

  • 创建新的Python Transform,指定输出数据集路径
  • 编写代码实现完整流程:
import requests
import pandas as pd
from transforms.api import transform, Output

@transform(
    output=Output("/your/project/path/target-dataset"),
)
def fetch_and_save_api_data(output):
    # 配置API请求参数
    api_endpoint = "https://your-api-domain.com/endpoint"
    request_headers = {
        "Authorization": "Bearer YOUR_ACCESS_TOKEN",
        "Content-Type": "application/json"
    }
    request_params = {
        "start_date": "2024-01-01",
        "limit": 1000
    }

    # 发起API请求并处理错误
    try:
        response = requests.get(api_endpoint, headers=request_headers, params=request_params)
        response.raise_for_status()  # 抛出HTTP错误
    except requests.exceptions.RequestException as e:
        raise RuntimeError(f"API请求失败: {str(e)}") from e

    # 解析响应为结构化数据(以JSON为例)
    raw_data = response.json()
    # 若响应是嵌套结构,需调整解析逻辑,比如取特定字段下的列表
    df = pd.DataFrame(raw_data.get("data", []))

    # 将数据写入Foundry数据集
    output.write_dataframe(df)

4. 运行与验证

  • 保存Transform后点击「Run」,等待任务执行完成
  • 导航到输出数据集路径,查看数据预览,确认响应内容已正确导入
  • 若需定时同步,在Transform的「Schedule」标签页配置调度规则(如每日凌晨运行)

关键注意事项

  • 分页处理:如果API返回分页数据,需添加循环逻辑,根据响应中的分页标识(如next_page)迭代请求直到获取全部数据
  • 数据格式适配:若响应是XML/CSV,需使用对应库(如xmltodict、csv)解析后转换为DataFrame
  • 权限控制:确保账号拥有创建数据源、编写Transform及写入目标数据集的权限
  • 异常处理:添加更细致的错误捕获,避免单次请求失败导致整个任务中断

内容的提问来源于stack exchange,提问作者Aniket Pande

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:27:31