开发扩展程序代码时,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节点任务)不生效,这类任务不会触发扩展点的扩展程序。