Uso de variáveis em um script Python/HCL
Quando você cria um script Python/HCL no editor de scripts do Robôs, é possível criar dois tipos de variáveis diferentes:
-
Variáveis Python variáveis Python regulares definidas no corpo do script
-
Variáveis HCL Variáveis HCL definidas na janela Variáveis
Os dois tipos de variável têm propósitos diferentes, explicados nas seções a seguir.
Além disso, o HCL atribui valores automaticamente às variáveis integradas do sistema com base na organização do Diligent One em que um script é executado e no modo em que isso acontece (desenvolvimento ou produção). Para obter mais informações, consulte Método system_variable[].
Você pode usar os três tipos de variáveis juntos no mesmo script.
Variáveis Python
As variáveis Python em um script Python/HCL funcionam da mesma forma que em qualquer script Python. Se os valores em um script estiverem sujeitos a alteração, você pode fazer referência a variáveis na lógica do script em vez de valores literais. Você pode criar variáveis Python em qualquer lugar do script em que precise delas.
Exemplos de variáveis Python
O exemplo abaixo percorre uma lista de números e quadrados de cada número na lista. Como os números na lista mudam, a lógica do script usa variáveis em vez de valores literais:
-
lista_de_números – uma variável atribuída à lista de números
-
v_número – uma variável atribuída a um único número na lista
-
v_número_quadrado – uma variável atribuída ao resultado de v_número * v_número
Com cada iteração do loop para, os valores das variáveis v_número e v_número_quadrado atualizam.
list_of_numbers = [1, 2, 3, 4, 5]
for v_number in list_of_numbers:
v_squared_number = v_number * v_number
print(v_squared_number)
Saída do script:
1 4 9 16 25
Variáveis HCL
Variáveis HCL atendem a duas finalidades:
-
Elas são a base dos parâmetros de entrada de tarefa em tarefas do robô.
-
Oferecem armazenamento seguro para informações sigilosas, como senhas e tokens de autenticação.
No Robôs, nenhum desses requisitos pode ser atendido com variáveis Python. Você precisa usar variáveis HCL.
A janela Variáveis
No editor de scripts do Robôs, a janela Variáveis oferece um local centralizado para definir qualquer variável HCL exigida por um script. Mais especificamente, a janela Variáveis é onde você define qualquer variável de script para armazenar valores de entrada informados pelos usuários quando executam ou agendam uma tarefa de robô. Por exemplo:
-
uma variável v_department que permite aos usuários especificar um departamento quando executam ou agendam uma tarefa
-
uma variável que administra com segurança uma credencial de autenticação necessária para acessar uma fonte de dados, como senha ou token de autenticação
Você também pode usar a janela Variáveis para definir uma variável HCL usada apenas no contexto do script. Por exemplo, v_id_org. No entanto, a abordagem mais fácil nessa situação é criar uma variável Python padrão no corpo do script em vez de definir uma variável HCL.
Campos de definição de variável
Número | Descrição |
---|---|
1 |
Nome contém o nome da variável, como v_department |
2 |
Tipo especifica o tipo de variável |
3 |
Valor o valor inicial atribuído à variável na execução interativa do script no editor de script |
Campos de entrada da tarefa do robô
Número | Descrição |
---|---|
4 |
Entrada da tarefa especifica que a variável é usada com um parâmetro de entrada da tarefa no Designer de Tarefa
|
5 |
Rótulo de entrada de tarefa cria um rótulo para o parâmetro de entrada exibido para o usuário no Designer de Tarefa. Por exemplo, Insira um departamento Descrição da entrada da tarefa (opcional) cria uma descrição para o parâmetro de entrada, adicionando detalhes opcionais que podem ser úteis para o usuário |
Use a janela Variáveis para definir uma variável HCL
Defina uma variável HCL como v_department ou v_password para usar com um parâmetro de entrada de tarefa do robô no Designer de Tarefa.
Observação
As variáveis HCL são principalmente para uso com entradas de tarefas de robô, como opções de configuração de scripts ou senhas ou tokens. Para variáveis de script não usadas com entradas de tarefas, a abordagem mais fácil é definir uma variável padrão Python no corpo do script.
Criar uma definição básica de variável
-
No editor de scripts do Robôs, clique em Gerenciar variáveis
.
-
Na janela Variáveis, clique em Adicionar variável.
-
Especifique os seguintes valores para criar as definições básicas da variável:
Campo Descrição Nome Especifique o nome da variável. Por exemplo: v_department ou v_password.
Observação
Uma variável que armazena um token do Diligent One deve usar este nome exato: v_hb_token
Para obter mais informações sobre como adquirir um token do Diligent One, consulte Criando e gerenciando tokens de acesso da Diligent One.
Tipo Selecione o tipo de variável:
-
Caractere para texto
-
Senha para gerenciar com segurança senhas ou tokens
-
Usuário de sistema (disponível com kits de ferramentas) para autorizar operações da Plataforma Diligent One sem fazer referência a um usuário real, semelhante a uma conta de serviço
Cuidado
não edite variáveis de usuário de sistema, a menos que tenha um motivo para isso.
Valor Insira um valor de variável. O valor de uma variável de senha pode ter até 8 KB de comprimento.
O valor inserido é o valor inicial atribuído à variável na execução interativa do script no editor de script.
Observação
Para uma variável associada a uma entrada de tarefa, o valor está disponível apenas no editor de scripts. Ele não é propagado como valor padrão no Designer de Tarefa.
-
Configurar um parâmetro de entrada da tarefa associada
Se a variável é usada com um parâmetro de entrada da tarefa no Designer de Tarefa, você precisa especificar configurações adicionais.
-
Clique no botão de alternância para habilitar Entrada da tarefa.
Ative esta configuração para solicitar um valor ao usuário no Designer de Tarefa. A variável armazena o valor inserido pelo usuário ao executar ou agendar a tarefa.
-
Se quiser permitir que o usuário ignore a informação de um valor de entrada, selecione Entrada do usuário opcional.
Alguns valores podem alterar o comportamento do script, mas não são necessários para sua execução. Por exemplo, datas de início e fim opcionais especificadas pelo usuário podem limitar a análise a um determinado período.
-
Em Rótulo da entrada da tarefa, insira o rótulo que o usuário verá no Designer de Tarefa para esse parâmetro.
Por exemplo, Insira um departamento ou Insira seu token do Diligent One.
-
Opcional. Em Descrição da entrada da tarefa, adicione detalhes para ajudar o usuário a fornecer um valor de entrada para o parâmetro.
Salvar a definição da variável
-
Clique em Salvar e fechar para salvar a definição de variável e sair da janela Variáveis.
-
Clique em Salvar e enviar para salvar o script com a definição de variável atualizada.
Observação
Você precisa salvar e enviar o script para salvar permanentemente a definição da variável.
-
Digite uma mensagem de confirmação e clique em Confirmar.
Uma mensagem é exibida com o resultado da confirmação do script.
Executar novamente o script
Quando você salva o conteúdo da janela Variáveis, a memória da sessão é limpa automaticamente no editor de script. Nenhuma das bibliotecas Python importadas, dicionários Python, dataframes gerados ou valores de variáveis armazenados na memória permanece disponível. Se você executar uma célula de script que depende de algo armazenado previamente na memória, ocorre um erro ou resultado inesperado.
Para restaurar a memória da sessão ao seu estado anterior, execute novamente todo o script ou todas as células que são pré-requisito.
Usar uma variável HCL em um script
Para usar uma variável HCL em um script, você precisa fazer referência à variável usando a sintaxe HCL específica.
Referência a uma variável de caractere HCL
Para fazer referência a uma variável de caractere HCL, use a seguinte sintaxe: hcl.variable[“nome_variável”]
Por exemplo:
print(hcl.variable["v_department"])
Saída do script:
Operações
Para obter informações detalhadas sobre a sintaxe exigida, consulte Método variable[].
Referência a uma variável de senha HCL
Para fazer referência a uma variável de senha HCL, use a seguinte sintaxe: hcl.secret [“nome_variável”].unmask()
Por exemplo:
print(hcl.secret["v_hb_token"].unmask())
Saída do script:
zq025f72938e4s...
Para obter informações detalhadas sobre a sintaxe exigida, consulte Método secret[].
Atribuir uma variável HCL a uma variável Python
Por conveniência, você pode atribuir um valor de uma variável HCL a uma variável normal do Python e depois referenciar somente a variável do Python.
Por exemplo:
department = hcl.variable["v_department"]
print(department)
token = hcl.secret["v_hb_token"].unmask()
print(token)
Saída do script:
Operações zq025f72938e4s...