Crie uma função Aviator no DataService Studio para processar parâmetros de requisição da API ou dados de resposta como filtro.
Pré-requisitos
Você criou um fluxo de trabalho. Para mais informações, consulte Crie e gerencie um fluxo de trabalho.
-
Você adquiriu um grupo de recursos exclusivo para o DataService Studio . Para mais informações, consulte Use an exclusive resource group for DataService Studio.
NotaAs funções Aviator devem ser executadas em um grupo de recursos exclusivo para o DataService Studio.
Contexto
No DataService Studio, você pode criar, testar e implantar funções. Após a implantação, associe a função a uma API como filtro para processar parâmetros de requisição ou dados de resposta. Isso permite lógicas de consulta complexas para diversos cenários de negócios. Para exemplos de código, consulte Best practices: Use an Aviator function as a filter.
Limitações
As funções Aviator devem ser executadas em um grupo de recursos exclusivo para o DataService Studio.
Ao usar uma função como filtro de API, o pré-filtro e o pós-filtro devem utilizar o mesmo tipo de função. Escolha Aviator ou Python para ambos.
Observações de uso
Por motivos de segurança e desempenho, as funções Aviator devem ser executadas em um grupo de recursos exclusivo para o DataService Studio. Portanto:
Ao editar ou testar uma função, associe-a a um grupo de recursos exclusivo para o DataService Studio. Para mais informações, consulte Gerencie uma função.
Durante o desenvolvimento da API, ao ativar um filtro e associá-lo à função de destino, vincule a API a um grupo de recursos exclusivo para o DataService Studio. Para mais informações, consulte Generate an API from a data source (API Gateway).
Estrutura da função
As funções Aviator usam o seguinte modelo integrado. Para detalhes sobre a sintaxe, consulte Sintaxe de função Aviator.
## --- AviatorScript ---
## $0: the default name of the input param.
## Expressions must be separated by the semicolon ";".
## Example 1:
## $0.a: Get the attribute "a" from the input param "$0".
## $0.b[index]: Get the element at the specified index from the array "b" in the input param "$0". The index cannot be an expression or a variable.
## Example 2:
## Input: {"keyA":[1,2],"keyB":"value"}
## Function: $0.keyA[0]=3; $0.keyB="new_value"; return $0;
## Output: {"keyA":[3,2],"keyB":"new_value"}
return $0;
Modifique a função com base neste modelo.
O nome do parâmetro de entrada padrão de uma função Aviator é
$0e não pode ser alterado. Use$0para obter toda a entrada da função.No DataService Studio, as funções atuam como filtros de API para processar parâmetros de requisição e dados de resposta. A entrada da função, representada por
$0, é um objeto JSON. Os parâmetros de requisição são passados como uma estrutura JSON plana (profundidade 1) e os dados de resposta como uma estrutura JSON aninhada (profundidade N).Quando uma função atua como pré-filtro de API, o sistema converte os parâmetros de requisição da API ou a saída de uma função anterior de um
key-value mappara um objeto JSON e o passa para o parâmetro$0. O valor de cada chave no objeto JSON deve ser uma string.Se a função for usada como pré-filtro de API, sua saída deve ser um
key-value map. Essa saída serve como parâmetros de entrada para a execução de instruções SQL. Assim, apenas umkey-value mapplano, com profundidade de um nível, é compatível.
Acessar o DataService Studio
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to DataService Studio.
Criar uma função
-
Na página Service Development, passe o mouse sobre o ícone
e clique em .Alternativamente, localize o fluxo de trabalho de destino, clique com o botão direito em Function e escolha .
-
Na caixa de diálogo Create Aviator Function, configure os parâmetros.
Parâmetro
Descrição
Function Name
Nome exclusivo da função, com até 256 caracteres.
Function Template
Somente AviatorScript Standard v1 é compatível.
Function Description
Breve descrição da função, limitada a 512 caracteres.
Location
Diretório de destino da função.
NotaSelecione um fluxo de trabalho específico, uma pasta ou uma categoria de função. Se não houver nenhum fluxo de trabalho, crie um antes de prosseguir.
Clique em Determine.
Na área Edit Code, insira o código da função.
-
Configure o grupo de recursos.
-
No painel direito da página de edição da função, clique em Resource Group for DataService Studio. Na seção Resource Group Type, configure o tipo de grupo de recursos para chamadas de API.
Você só pode selecionar um grupo de recursos exclusivo para o DataService Studio.
NotaSe o nome do grupo de recursos de destino não aparecer na lista, acesse o console do DataWorks e vincule o grupo de recursos ao seu workspace usando Modify Workspace Ownership. Você também pode clicar em Purchase Exclusive Resource Group for DataService Studio para adquirir um novo. Para mais informações, consulte Use an exclusive resource group for DataService Studio.
-
Na seção Environment Configuration, defina a Memory e o Timeout.
Para grupos de recursos exclusivos do DataService Studio, recomenda-se que o tempo limite da função seja de 100 ms ou menos.
-
Clique no ícone
na barra de ferramentas para salvar a função.
Após criar a função, teste-a e implante-a para uso como pré-filtro ou pós-filtro de API.
Próximos passos
Depois de criar a função, teste-a e implante-a. Para mais informações, consulte Test, deploy, and use a function e Deploy a function.
Após implantar a função, associe-a a uma API para usá-la como pré-filtro ou pós-filtro no processamento de parâmetros de requisição e dados de resposta. Para mais informações, consulte Use a function as an API filter.