【问题标题】:How can I hit a Foundry API from Code Repositories?如何从代码存储库中找到 Foundry API?
【发布时间】:2022-03-04 03:54:27
【问题描述】:

使用例如 Python 转换从代码存储库中访问内部 Foundry API 的正确方法是什么?

【问题讨论】:

    标签: palantir-foundry foundry-code-repositories


    【解决方案1】:

    目前默认不支持从代码存储库中访问 Foundry API 的功能。

    【讨论】:

      【解决方案2】:

      这是可能的,但由于安全影响而有些不鼓励。特别是用于调用 API 的令牌。从历史上看,Foundry 作业是使用建筑用户的完整令牌运行的。这允许进行用户可以进行的任何 API 调用,但可能会被不法分子滥用。因此,今天的大多数构建都使用项目范围的令牌,它只能读取和写入数据集,而不能进行 API 调用。

      因此,您必须取消项目范围的存储库以便它使用用户令牌,这可以通过 Jemma API 完成,或者通过提供硬编码的令牌,这可以通过具有适当的安全数据集来完成标记,但请注意任何可以读取此数据集的人都可以窃取令牌。

      一种称为逻辑流的产品支持解决方案即将推出,以使这一过程更加顺畅。

      一旦您有了令牌,API 调用就类似于任何其他 API。这是python的一个例子,更多信息在the documentation

      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()
      

      【讨论】:

        【解决方案3】:

        由于提到的 Foundry 限制和项目范围令牌,我们为自动化创建专用服务帐户,为服务帐户创建一个不记名令牌,并将其存储在我们使用标记保护的数据集中。在我们使用令牌进行 api 调用的转换中,我们停止将标记传播到下游转换。

        不幸的是,这相当麻烦,我们正在向 Palantir 的产品开发团队寻求更好的解决方案。

        【讨论】:

          猜你喜欢
          • 2023-01-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-05
          • 2022-08-09
          相关资源
          最近更新 更多