開發擴充程式碼時,DataWorks為您提供了內建參數,同時也支援您自訂參數,以提高擴充程式碼開發效率和效果,例如,結合參數實現擴充程式僅對指定工作空間生效。本文為您介紹如何使用擴充程式的參數。
背景資訊
使用擴充程式參數進行代碼開發時,您需要在擴充程式的註冊資訊中定義好擴充程式參數,將後續可能需要在擴充程式碼開發過程中使用的內建參數或自訂參數添加到擴充程式的註冊資訊中。擴充程式開發人員可通過調用APIGetExtension獲得該擴充程式的參數配置。
支援添加多個參數,一個參數一行。
添加內建參數時:
添加自訂參數時:
建議也使用
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節點任務)不生效,這類任務不會觸發擴充點的擴充程式。