取消
顯示的結果
而不是尋找
你的意思是:

生成了令牌與Azure磚。

Etyr
貢獻者

我使用DefaultAzureCredential從azure-identity連接到Azure服務主體環境變量(AZURE_CLIENT_SECRET, AZURE_TENANT_ID AZURE_CLIENT_ID)。

我可以從一個特定的範圍get_token磚是這樣的:

從azure。身份進口DefaultAzureCredential dbx_scope = " 2 ff814a6 - 3304 - 4 - ab8 - 85 - cb - cd0e6f879c1d / .default”牌= DefaultAzureCredential () .get_token .token (dbx_scope)

這是偉大的工作,我得到了令牌,然後我可以使用“databricks-connect”配置連接到集群。我生成一個配置文件($ HOME / .databricks-connect)火花知道連接和使用給定的令牌。

{“主機”:“https://adb - 1234. azuredatabricks.net”,“令牌”:“eyJ0eXAiXXXXXXXXXXXXXXXXXXXXXx”、“cluster_id”:“1234”,“org_id”:“1234”,“港”:" 15001 "}

問題是,這個令牌並沒有持續很長時間。當我使用引發了一個多小時,我斷開連接,因為令牌過期了。

有辦法再令牌與服務主體磚?因為這為生產目標,我希望我的代碼可以生成任何運行的帕特,我不想手動創建一個帕特和存儲Azure密鑰庫。

1接受解決方案

接受的解決方案

Etyr
貢獻者

我由一個可選擇的解決方案。我由我自己的python類來處理我的拍磚:https://stackoverflow.com/questions/75071869/python-defaultazurecredential-get-token-set-expiration-..。

你甚至可以更漂亮或者注冊一個atexit內部類來摧毀帕特。但這將有一個副作用。python過程將退出沒有錯誤代碼,但是如果你有一個記錄器,它會警告你,與磚是封閉的,因為無效的令牌。這是“正常”,但醜陋。

在原帖子查看解決方案

5回複5

Hubert_Dudek1
尊敬的貢獻者三世

REST API端點來管理令牌:

https://docs.www.eheci.com/dev-tools/api/latest/token-management.html

所以使用你的代碼,你會得到主機和一個簡短的令牌。所以你需要做的就是構建Rest API,這將產生長期聯係。

創建一個令牌代表一個服務主體。> >/ create-obo-token https://docs.www.eheci.com/dev-tools/api/latest/token-management.html操作

這個問題(我認為),它將創建一個新的令牌為每個運行我的代碼在Azure毫升。如果我得到超過600分,我產生600拍和拍磚的限製。接下來的習慣能夠創建新的標記和運行會卡住了。

有辦法消除為例的“老”帕特帕特比24小時?

我在想解決方案,使主機短的令牌。每個X分鍾我要求一個新的令牌,但是我必須重新初始化sparksession和寬鬆的所有的工作。不是一種注射引發的令牌。配置嗎?

是這樣的:

spark_session.conf.set (“spark.some.option。otken”, new_token)

Hubert_Dudek1
尊敬的貢獻者三世

API調用刪除或管理你可以實現自己的邏輯

Kaniz
社區經理
社區經理

嗨@Antoine Tavernier(客戶),我們沒有收到你自從上次反應@Hubert杜德克,我檢查,看看他的建議幫助你。

否則,如果你有任何解決方案,請與社區分享,因為它可以幫助別人。

同時,請別忘了點擊“選擇作為最好的”按鈕時提供的信息幫助解決你的問題。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map