簡體   English   中英

如何從代碼存儲庫中找到 Foundry API?

[英]How can I hit a Foundry API from Code Repositories?

例如,使用 Python 轉換從代碼存儲庫中訪問內部 Foundry API 的正確方法是什么?

當前,默認情況下不支持從代碼存儲庫中訪問 Foundry API 的功能。

這是可能的,但由於安全影響而有些不鼓勵。 特別是用於調用 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()

使用例如Python轉換從代碼存儲庫中訪問內部Foundry API的正確方法是什么?

由於提到的 Foundry 限制和項目范圍令牌,我們為自動化創建專用服務帳戶,為服務帳戶創建不記名令牌並將其存儲在我們使用標記保護的數據集中。 在我們使用令牌進行 api 調用的轉換中,我們停止將標記傳播到下游轉換。

不幸的是,這相當麻煩,我們正在尋找 Palantir 的產品開發團隊尋求更好的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM