我想寫這一過程將以編程方式更新所有工作的“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美元
然而,如果我改變以下行:
我沒有錯誤(事實上,我沒有輸出),但沒有更新在磚的工作。任何想法,我錯了嗎?
回答我的問題,我用錯了工具的工作。使用“權限”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美元。沒有行動”}
不,它的設置管理,最終用戶帳戶運行工作。它相當於改變用戶“所有者”權限通過UI的工作。
回答我的問題,我用錯了工具的工作。使用“權限”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美元。沒有行動”}