開發擴充程式碼時,DataWorks為您提供了內建參數,同時也支援您自訂參數,以提高擴充程式碼開發效率和效果,例如,結合參數實現擴充程式僅對指定工作空間生效。本文為您介紹如何使用擴充程式的參數。
背景資訊
使用擴充程式參數進行代碼開發時,您需要在擴充程式的註冊資訊中定義好擴充程式參數,將後續可能需要在擴充程式碼開發過程中使用的內建參數或自訂參數添加到擴充程式的註冊資訊中。擴充程式開發人員可通過調用APIGetExtension獲得該擴充程式的參數配置。在註冊擴充程式彈窗中,左側可選擇事件(代碼運行前置事件、檔案刪除前置事件、表提交到開發前置事件、表提交到生產前置事件、檔案發布前置事件),右側表單需填寫所屬事件、適用模組、負責人、測試用工作空間、擴充程式詳情地址、擴充程式文檔地址、擴充程式參數配置、擴充程式選項配置和描述等資訊。在擴充程式參數配置文本域中按 key=value 格式填寫參數,一行一個參數。
-
支援添加多個參數,一個參數一行。
-
添加內建參數時:
內建參數格式為
key=value的格式,當前支援的內建參數有:-
內建參數4:extension.project.{eventCode}.disabled.append,擴充點黑名單追加配置
-
內建參數6:
extension.manualPass.enabled,該配置可以設定擴充程式是否允許開啟手動“置為通過”按鈕。extension.manualPass.enabled=true如上設定時,擴充程式右側的操作欄中將出現按鈕置通過。
-
添加自訂參數時:
建議也使用
key=value的格式。
內建參數1:extension.project.disabled,工作空間黑名單配置
-
應用情境:
通過此參數,使擴充程式對指定工作空間不生效。
-
參數說明:
extension.project.disabled=projectId1,projectId2,projectId3其中,projectId為不生效的工作空間ID,您可通過ListProjects擷取,或在DataWorks控制台的工作空間配置頁面查看擷取。
說明支援一個參數應用代碼裡指定多個工作空間ID,使用逗號(,)分隔。
-
程式碼範例:
extension.project.disabled=projectId1 -
注意事項:
不能重複配置(即出現key相同的情況),如果重複配置,以最後一個配置結果為準。
內建參數2:extension.project.disabled.append,工作空間黑名單追加配置
-
應用情境:
當
extension.project.disabled參數沒有多個value值時(即參數取值沒有配置為逗號分隔的多個工作空間ID),您可以通過此參數追加工作空間,使擴充程式對追加的指定工作空間不生效。 -
參數說明:
extension.project.disabled.append=projectId1,projectId2,projectId3其中,projectId為不生效的工作空間ID,您可通過ListProjects擷取,或在DataWorks控制台的工作空間配置頁面查看擷取。
說明支援一個參數應用代碼裡指定多個工作空間ID,使用逗號(,)分隔。
-
程式碼範例:
extension.project.disabled.append=projectId1
內建參數3:extension.project.{eventCode}.disabled,擴充點黑名單配置
-
應用情境:
通過此參數,使擴充程式對指定工作空間的擴充點不生效。
-
參數說明:
extension.project.{eventCode}.disabled=projectId1,projectId2,projectId3其中
-
eventCode:為不生效的擴充點事件類型,取值請參見附錄:事件詳情(eventType)。
-
projectId:為不生效的工作空間ID,您可通過ListProjects擷取,或在DataWorks控制台的工作空間配置頁面查看擷取。
說明支援一個參數應用代碼裡指定多個工作空間ID,使用逗號(,)分隔。
-
-
程式碼範例:
extension.project.commit-file.disabled=projectId1 extension.project.delete-file.disabled=projectId2,projectId3 -
注意事項:
不能重複配置(即出現key相同的情況),如果重複配置,以最後一個配置結果為準。
內建參數4:extension.project.{eventCode}.disabled.append,擴充點黑名單追加配置
-
應用情境:
當
extension.project.{eventCode}.disabled.append參數沒有多個value值時(即參數取值沒有配置為逗號分隔的多個工作空間ID),您可以通過此參數追加工作空間,使擴充程式對追加的指定工作空間的擴充點不生效。 -
參數說明:
extension.project.{eventCode}.disabled.append=projectId1,projectId2,projectId3其中
-
eventCode:為不生效的擴充點事件類型,取值請參見附錄:事件詳情(eventType)。
-
projectId:為不生效的工作空間ID,您可通過ListProjects擷取,或在DataWorks控制台的工作空間配置頁面查看擷取。
說明支援一個參數應用代碼裡指定多個工作空間ID,使用逗號(,)分隔。
-
-
程式碼範例:
extension.project.commit-file.disabled.append=projectId1 extension.project.delete-file.disabled.append=projectId2,projectId3
內建參數5:extension.fileType.{fileType}.{eventCode}.enabled
-
應用情境:
通過此參數,使擴充程式對指定類型的節點任務不生效,或僅對指定類型的節點任務生效。
-
參數說明:
extension.fileType.{fileType}.{eventCode}.enabled其中
-
fileType:為指定的節點任務類型對應的類型Code,您可通過ListFileType擷取任務節點的類型Code。
-
eventCode:為不生效的擴充點事件類型,取值請參見附錄:事件詳情(eventType)。
-
-
程式碼範例:
以下以對節點任務10(即ODPS SQL節點任務)、11(即ODPS MR節點任務)進行配置作為樣本。
-
如果均設定為true,則未配置的fileType預設為false
extension.fileType.10.run-file.enabled=true extension.fileType.11.run-file.enabled=true-
對節點任務10(即ODPS SQL節點任務)、11(即ODPS MR節點任務)生效,則後續實際運行任務時,ODPS SQL節點和ODPS MR節點任務會觸發擴充點的擴充程式。
-
其他節點任務(如離線同步DI節點任務)不會觸發擴充點的擴充程式。
-
-
均設定為false,則未配置的fileType預設為true
extension.fileType.10.run-file.enabled=false extension.fileType.11.run-file.enabled=false-
對節點任務10(即ODPS SQL節點任務)、11(即ODPS MR節點任務)不生效,則後續實際運行任務時,ODPS SQL節點和ODPS MR節點任務不會觸發擴充點的擴充程式。
-
其他節點任務(如離線同步DI節點任務)均會觸發擴充點的擴充程式。
-
-
設定混合模式,則未配置的fileType預設為false
extension.fileType.10.run-file.enabled=false extension.fileType.11.run-file.enabled=true-
對節點任務11(即ODPS MR節點任務)生效,則後續實際運行任務時,ODPS MR節點任務會觸發擴充點的擴充程式。
-
對節點任務10(即ODPS SQL節點任務)和其他節點任務(如離線同步DI節點任務)不生效,這類任務不會觸發擴充點的擴充程式。
-
-