As opções de extensão são configurações personalizáveis definidas pelo desenvolvedor da extensão. Essas opções permitem ajustar o comportamento da extensão para cada workspace. Por exemplo, o desenvolvedor pode definir uma opção que permita aos usuários controlar o limite de comprimento de SQL e aplicar limites diferentes em workspaces distintos com a mesma extensão.
Contexto
-
O desenvolvedor define as opções de extensão durante o registro da extensão. Posteriormente, os usuários podem configurar essas opções em um workspace específico.
Para obter mais informações sobre como registrar extensões, consulte Desenvolver e implantar uma extensão: Método de serviço autogerenciado.
Ao utilizar uma extensão em um workspace, configure as opções antes de ativá-la. Na página Workspace Configuration > Extensions, visualize a lista de extensões registradas com detalhes como pontos de extensão, módulos aplicáveis e status. Selecione um escopo, como Global, na lista suspensa extension scope e clique em Settings na coluna Actions para configurar uma extensão registrada.
Os desenvolvedores de extensões podem chamar a API GetOptionValueForProject para recuperar os valores de configuração definidos por um usuário (como um administrador de workspace) para uma extensão em um workspace específico.
Observações
O desenvolvedor da extensão fornece as informações de configuração e os textos relacionados às opções de extensão. A plataforma não se responsabiliza por quaisquer riscos associados ao conteúdo.
Componentes suportados
Atualmente, a configuração de opções suporta sete tipos de componentes de formulário: text (para exibição de texto estático), single-line input box, multi-line input box, single-select drop-down list, multi-select drop-down list, checkbox (suporta múltiplas opções, como opt1, opt2 e opt3) e radio button (suporta múltiplas opções, algumas das quais podem ser desabilitadas).
Configuração de opções
Ao registrar uma extensão, o desenvolvedor deve definir as opções como uma string JSON no campo Option Configuration.
{
"type": "object",
"properties": {
"Component name (must be unique)": {
"type": "string",
"title": "See the table below",
"x-decorator": "See the Parameters section for details",
"x-component": "See the Parameters section for details",
"x-decorator-props": {
"tooltip": "Description"
},
"x-component-props": {
"dataSource": "See the Parameters section for details",
"mode": "multiple"
}
}
}
}
Use os recursos a seguir para configurar as opções:
Para obter detalhes sobre os parâmetros dos componentes, consulte Parâmetros.
Para exemplos de configuração de componentes, veja Exemplo: Definir o limiar de recursos CU para uma tarefa SQL e Exemplo: Utilizar os sete tipos de componentes.
Para mais informações sobre registro e gerenciamento de extensões, consulte Desenvolver e implantar uma extensão: Método de serviço autogerenciado.
Parâmetros
Parâmetro | Tipo de componente | Valor |
title | text | Título do componente. |
single-line input box | Título do componente. | |
multi-line input box | Título do componente. | |
single-select drop-down list | Título do componente. | |
multi-select drop-down list | Título do componente. | |
checkbox | Título do componente. | |
radio button | Título do componente. | |
x-decorator | text | FormItem |
single-line input box | FormItem | |
multi-line input box | FormItem | |
single-select drop-down list | FormItem | |
multi-select drop-down list | FormItem | |
checkbox | FormItem | |
radio button | FormItem | |
x-component | text | PreviewText.Input |
single-line input box | Input | |
multi-line input box | Input.TextArea | |
single-select drop-down list | Select | |
multi-select drop-down list | Select | |
checkbox | Checkbox.Group | |
radio button | Radio.Group | |
dataSource | text | opcional |
single-line input box | opcional | |
multi-line input box | opcional | |
single-select drop-down list | A fonte de dados é um array de objetos únicos. Cada objeto deve conter um | |
multi-select drop-down list | A fonte de dados é um array de objetos únicos. Cada objeto deve conter um | |
checkbox | A fonte de dados é um array de objetos únicos. Cada objeto deve conter um | |
radio button | A fonte de dados é um array de objetos únicos. Cada objeto deve conter um |
Exemplo: Definir limiar de CU para tarefas SQL
Este exemplo demonstra como definir um limiar de recursos CU para uma tarefa SQL.
Após inserir o JSON Schema na área de texto Option Configuration do formulário Register Extension, o sistema gera automaticamente uma caixa de diálogo Extension Options que exibe os controles de formulário correspondentes, como a caixa de entrada CU Threshold.
O JSON a seguir define essa configuração:
{
"type": "object",
"properties": {
"cuNumber": {
"type": "string",
"title": "CU Threshold",
"x-decorator": "FormItem",
"x-component": "Input",
"x-decorator-props": {
"tooltip": "Enter the CU consumption threshold for the SQL task."
}
}
}
}
Exemplo: Utilizar os sete tipos de componentes
O exemplo abaixo ilustra a configuração e o uso dos sete tipos de componentes.
Depois de inserir a configuração JSON no campo Option Configuration da caixa de diálogo Register Extension, a caixa de diálogo Extension Options renderiza os sete componentes de formulário correspondentes.
O JSON a seguir define essa configuração:
Para utilizar todos os sete componentes simultaneamente, copie o JSON a seguir e modifique os dados conforme necessário.
{
"type":"object",
"properties":{
"text":{
"type":"string",
"title":"Text",
"x-decorator":"FormItem",
"x-component":"PreviewText.Input",
"x-decorator-props":{
"tooltip":"Description"
},
"default":"This is text information"
},
"input":{
"type":"string",
"title":"Single-line Input Box",
"x-decorator":"FormItem",
"x-component":"Input",
"x-decorator-props":{
"tooltip":"Description"
},
"x-component-props":{
},
"default":"This is the default value"
},
"textarea":{
"type":"string",
"title":"Multi-line Input Box",
"x-decorator":"FormItem",
"x-component":"Input.TextArea",
"x-decorator-props":{
"tooltip":"Description"
},
"x-component-props":{
},
"default":"This is the default value"
},
"select":{
"type":"string",
"title":"Single-select Drop-down List",
"x-decorator":"FormItem",
"x-component":"Select",
"x-decorator-props":{
"tooltip":"Description"
},
"x-component-props":{
"dataSource":[
{
"value":"10001",
"label":"opt1"
},
{
"value":10002,
"label":"opt2"
},
{
"value":10003,
"label":"opt3",
"disabled":true
}
]
},
"default":"10001"
},
"selectmore":{
"type":"string",
"title":"Multi-select Drop-down List",
"x-decorator":"FormItem",
"x-component":"Select",
"x-decorator-props":{
"tooltip":"Description"
},
"x-component-props":{
"dataSource":[
{
"value":"10001",
"label":"opt1"
},
{
"value":10002,
"label":"opt2"
},
{
"value":10003,
"label":"opt3",
"disabled":true
}
],
"mode":"multiple"
},
"default":["10001","10002"]
},
"checkbox":{
"type":"array",
"title":"Checkbox",
"x-decorator":"FormItem",
"x-component":"Checkbox.Group",
"x-decorator-props":{
"tooltip":"Description"
},
"x-component-props":{
"dataSource":[
{
"value":"10001",
"label":"opt1"
},
{
"value":10002,
"label":"opt2"
},
{
"value":10003,
"label":"opt3",
"disabled":true
}
],
"mode":"multiple"
},
"default":["10001","10002"]
},
"radio":{
"type":"number",
"title":"Radio Button",
"x-decorator":"FormItem",
"x-component":"Radio.Group",
"x-decorator-props":{
"tooltip":"Description"
},
"x-component-props":{
"dataSource":[
{
"value":"10001",
"label":"opt1"
},
{
"value":10002,
"label":"opt2"
},
{
"value":10003,
"label":"opt3",
"disabled":true
}
],
"mode":"multiple"
},
"default":"10001"
}
}
}
Para mais informações, consulte Melhores práticas: Proibir o uso da função MAX_PT.