使用例如 Python 转换从代码存储库中访问内部 Foundry API 的正确方法是什么?
问问题
410 次
3 回答
1
目前,默认情况下不支持从代码存储库中访问 Foundry API 的功能。
于 2020-09-18T20:12:44.400 回答
0
由于提到的 Foundry 限制和项目范围令牌,我们为自动化创建专用服务帐户,为服务帐户创建一个不记名令牌并将其存储在我们使用标记保护的数据集中。在我们使用令牌进行 api 调用的转换中,我们停止将标记传播到下游转换。
不幸的是,这相当麻烦,我们正在寻找 Palantir 的产品开发团队寻求更好的解决方案。
于 2022-03-03T19:54:27.100 回答
0
这是可能的,但由于安全影响而有些不鼓励。特别是用于调用 API 的令牌。从历史上看,Foundry 作业是使用建筑用户的完整令牌运行的。这允许进行用户可以进行的任何 API 调用,但可能会被不法分子滥用。因此,今天的大多数构建都使用项目范围的令牌,它只能读取和写入数据集,不能进行 API 调用。
因此,您必须取消项目范围的存储库,以便它使用用户令牌,这可以通过 Jemma API 完成,或者通过提供硬编码令牌,这可以通过带有适当标记的安全数据集完成,但是请注意,任何可以读取此数据集的人都可以窃取令牌。
一种称为逻辑流的产品支持解决方案正在使这个过程更加顺畅。
一旦你有了一个令牌,调用 API 就类似于任何其他 API。这是 python 中的一个示例,文档中有更多信息。
URL = f"https://foundry.url/stemma/api/repos/{repo}/checks"
headers = {
"Authorization": "Bearer " + token
}
req = requests.get(URL, headers=headers)
if req.status_code > 299:
continue
req_json = req.json()
于 2022-03-03T17:06:56.860 回答