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

以編程方式更新工作的“run_as_user_name”參數

peterwishart
新的貢獻者三世

我想寫這一過程將以編程方式更新所有工作的“run_as_user_name”參數在Azure磚工作區,用powershell與喬布斯API進行交互。

我一直試圖做一個測試工作沒有成功。然而,我能夠更新不同的工作參數,如工作名稱、使用powershell進行同樣的工作。這讓我相信它不可能更新run_as_user_name通過就業api,盡管我找不到明確表示任何文檔。

我試著與2.0和2.1版本的API。以下powershell作品成功更新職位名稱:

#設置BaseUrl和標題

$ BaseUrl =https://adb- * * * .azuredatabricks.net

$ job_URL = " $ BaseUrl / api / 2.0 /工作/更新”

頭美元=新對象”System.Collections.Generic.Dictionary [[String], [String]]”

美元的頭。Add(“授權”,“不記名XXXX”)

#創建json的更新

美元JobId = ' 12345 '

$ paramDetail =“new_settings”:{“名稱”:“change_to_this}}’

$ jobIdDetail =““job_id”: {0}”- f JobId美元

美元bodyContent = ' {' + ' {0}, {1}“- f jobIdDetail美元,美元paramDetail + '} '

bodyContent美元

#運行更新

Invoke-RestMethod美元job_URL方法文章標題頭身體bodyContent美元

然而,如果我改變以下行:

  • :$ paramDetail =“new_settings”:{“名稱”:“change_to_this}}’
  • :$ paramDetail =“new_settings”: {“run_as_user_name”:“(電子郵件保護)"}}

我沒有錯誤(事實上,我沒有輸出),但沒有更新在磚的工作。任何想法,我錯了嗎?

1接受解決方案

接受的解決方案

peterwishart
新的貢獻者三世

回答我的問題,我用錯了工具的工作。使用“權限”API而不是“工作”API是必要的。以下powershell代碼是我所需要的東西:

#得到現有的所有者current_perms_URL美元= " $ BaseUrl / api / 2.0 /權限/工作/ $ JobId”perms_details = Invoke-RestMethod current_perms_URL美元方法得到標題頭current_owner = (perms_details美元美元。{$ _.all_permissions access_control_list |。permission_level eq IS_OWNER})。user_name寫出輸出的“當前所有者current_owner美元”#下調當前所有者燙發CAN_MANAGE並添加/更新所需的所有者。所有其他用戶原封不動如果($ current_owner - ne desired_owner美元){寫輸出”更新所有者為JobId desired_owner JobId美元“$ bodyContent = ' {“access_control_list”: [{“user_name”: ' + " " " $ current_owner "”“+”,“permission_level”:“CAN_MANAGE”}, {“user_name”: ' + " " " $ desired_owner "”“+”,“permission_level”:“IS_OWNER”}]}“bodyContent perms_url美元= " $ BaseUrl / api / 2.0 /權限/工作/ $ JobId "美元perms_url Invoke-RestMethod美元perms_url方法補丁標題頭身體bodyContent美元}{寫輸出”主人已經設置為JobId desired_owner JobId美元。沒有行動”}

在原帖子查看解決方案

3回複3

Debayan
尊敬的貢獻者三世
尊敬的貢獻者三世

嗨,這是一個定製的參數嗎?

peterwishart
新的貢獻者三世

不,它的設置管理,最終用戶帳戶運行工作。它相當於改變用戶“所有者”權限通過UI的工作。

peterwishart
新的貢獻者三世

回答我的問題,我用錯了工具的工作。使用“權限”API而不是“工作”API是必要的。以下powershell代碼是我所需要的東西:

#得到現有的所有者current_perms_URL美元= " $ BaseUrl / api / 2.0 /權限/工作/ $ JobId”perms_details = Invoke-RestMethod current_perms_URL美元方法得到標題頭current_owner = (perms_details美元美元。{$ _.all_permissions access_control_list |。permission_level eq IS_OWNER})。user_name寫出輸出的“當前所有者current_owner美元”#下調當前所有者燙發CAN_MANAGE並添加/更新所需的所有者。所有其他用戶原封不動如果($ current_owner - ne desired_owner美元){寫輸出”更新所有者為JobId desired_owner JobId美元“$ bodyContent = ' {“access_control_list”: [{“user_name”: ' + " " " $ current_owner "”“+”,“permission_level”:“CAN_MANAGE”}, {“user_name”: ' + " " " $ desired_owner "”“+”,“permission_level”:“IS_OWNER”}]}“bodyContent perms_url美元= " $ BaseUrl / api / 2.0 /權限/工作/ $ JobId "美元perms_url Invoke-RestMethod美元perms_url方法補丁標題頭身體bodyContent美元}{寫輸出”主人已經設置為JobId desired_owner JobId美元。沒有行動”}

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

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

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

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

Baidu
map