O uso de variáveis evita riscos de segurança causados pela exposição de informações sensíveis, como pares de AccessKey e senhas em texto simples. Com variáveis, você não precisa repetir o mesmo código ou valores diversas vezes, o que simplifica o gerenciamento de configurações. É possível referenciar uma variável em diversos cenários, como no desenvolvimento de rascunhos SQL, em implantações JAR ou Python, na configuração de saída de logs e na configuração de parâmetros via interface. Este tópico descreve como criar e usar variáveis nesses diferentes contextos.
Informações básicas
Cada variável possui um nome e um valor. O nome reflete o significado do valor e pode ser personalizado. O valor representa os dados reais. O Realtime Compute for Apache Flink oferece suporte a variáveis de implantação e variáveis de namespace. A seção a seguir descreve as diferenças entre elas:
Variáveis de implantação: utilizáveis apenas em uma única implantação. Podem ser aplicadas, por exemplo, em um rascunho SQL para extração, transformação e carga (ETL) ou como parâmetros de entrada na função Main de uma implantação JAR ou Python, no formato ${Nome da variável}. Para mais detalhes sobre o uso dessas variáveis, consulte a seção Variáveis de implantação neste tópico.
Variáveis de namespace: aplicáveis dentro de um namespace. São úteis para desenvolvimento de dados, incluindo ingestão, ETL e consultas baseadas em scripts. Também servem como parâmetros de entrada na função Main de implantações JAR ou Python, na configuração de parâmetros de uma implantação, na configuração de logs e em definições via interface, como parâmetros de catálogo. Essas variáveis seguem o formato ${secret_values.Nome da variável}. Para saber como criar e utilizar variáveis de namespace, veja a seção Variáveis de namespace neste tópico.
Observações de uso
Não configure múltiplos valores para um mesmo nome de variável.
Não utilize palavras-chave reservadas como nome de variável.
Em rascunhos SQL, você pode referenciar variáveis em tabelas temporárias (definidas com a instrução CREATE TEMPORARY TABLE). Se referenciar uma variável em uma tabela persistente (definida pela instrução CREATE TABLE), a tabela criada não poderá ser utilizada.
Variáveis de implantação
Os nomes das variáveis de implantação devem ser exclusivos dentro de uma única implantação.
Referenciar uma variável em um rascunho SQL
Durante o desenvolvimento de um rascunho SQL, utilize variáveis. Elas podem servir, por exemplo, como parâmetros de entrada para funções personalizadas. Além disso, modifique os valores das variáveis após o início da implantação do rascunho.
No painel de navegação à esquerda do console do Realtime Compute for Apache Flink, escolha .
-
No editor SQL do rascunho desejado, crie variáveis no formato ${Nome da variável}. O código de exemplo abaixo ilustra essa criação.
Ao referenciar uma variável na cláusula WITH, envolva-a com aspas simples ('), seguindo o formato '${Nome da variável}'.
Para referenciar uma variável como nome de tabela ou campo em uma instrução SQL, utilize crases (
), no formato${Nome da variável}`.
create temporary table `${source_name}`( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table blackhole( id varchar, `${test_name}` varchar ) with ( 'connector' = '${blackhole}' ); insert into blackhole select * from `${source_name}`; -
O Realtime Compute for Apache Flink identifica automaticamente as variáveis no formato exigido dentro do rascunho. Configure os valores das variáveis utilizando um dos métodos abaixo:
-
Método 1: insira o valor da variável no painel Variables do editor SQL.

-
Método 2: clique em Configurations no lado direito do editor SQL. No painel Configurations, defina os valores na seção Variables.

-
-
Após implantar o rascunho, visualize a variável referenciada na aba Configuration da página Deployments.

-
Na página Deployments, localize a implantação que deseja iniciar e clique em Start na coluna Actions. Altere o valor da variável no painel Start Job.
ImportanteOs novos valores das variáveis terão efeito apenas nesta execução específica da implantação. As definições originais no rascunho SQL permanecem inalteradas.

Referenciar uma variável em uma implantação JAR ou Python
Utilize variáveis como parâmetros de entrada na função Main de implantações JAR ou Python.
Método 1
No painel de navegação à esquerda, acesse . Em seguida, crie uma variável.
Navegue até . Na página Deployments, clique em Create Deployment.
-
No campo Entry Point Main Arguments da caixa de diálogo exibida, insira os nomes das variáveis no formato
--<Nome da variável especificado no código> ${secret_values.<Nome da variável configurado no console>}, como--akid ${secret_values.test1}.NotaPara configurar variáveis no console, acesse .
Se o nome da variável contiver caracteres especiais, siga as instruções em Passing special characters in main arguments.

Clique em Deploy.
Localize a implantação alvo e clique em Start na coluna Actions.
Método 2
No painel de navegação à esquerda do console de desenvolvimento, selecione . Na página Deployments, clique em Create Deployment.
-
Na caixa de diálogo aberta, informe os nomes das variáveis no campo Entry Point Main Arguments. Depois, defina os valores correspondentes na seção Variables logo abaixo.
Caso o nome da variável possua caracteres especiais, consulte as orientações em Passing special characters in main arguments

Para mais informações sobre outros parâmetros de implantação, veja Deploy a job.
Clique em Deploy.
-
Acesse . Na página Deployments, encontre a implantação desejada e clique em Start na coluna Actions.
O painel Start Job será exibido. Nele, ajuste os valores das variáveis especificamente para esta execução do job Flink.

Variáveis de namespace
Criar uma variável
Somente membros com permissão de editor ou superior, ou aqueles com permissão específica para criação de variáveis, podem criar variáveis.
Faça login no console de desenvolvimento do Realtime Compute for Apache Flink. Localize o workspace que deseja gerenciar e clique em Console na coluna Actions.
-
No painel de navegação à esquerda, escolha . Na página Variables, clique em Add Variable.
Parâmetro
Descrição
Variable Name
Os nomes das variáveis devem ser únicos dentro do mesmo namespace e não podem ser alterados após a criação.
Variable Value
Os valores das variáveis diferenciam maiúsculas de minúsculas. Atenção ao digitar letras no valor. Modifique o valor de uma variável após sua criação. Para mais detalhes, consulte a seção Editar ou excluir uma variável neste tópico.
Type
O tipo da variável não pode ser modificado após a criação. Valores válidos:
-
Texto simples: permite visualizar diretamente o valor da variável na página Variables.
-
Texto cifrado: impede a visualização do valor da variável.

-
Clique em OK.
Referenciar uma variável
Após criar uma variável, referencie-a usando o formato ${secret_values.Nome da variável}. A seguir, são apresentados exemplos de referência em diferentes cenários.
Referenciar uma variável no desenvolvimento de dados
Referencie variáveis de namespace no módulo Development do console do Realtime Compute for Apache Flink.
Rascunho SQL para ETL
Na instrução DDL de um rascunho SQL, utilize o formato ${secret_values.Nome da variável} para referenciar variáveis. O exemplo de código abaixo demonstra essa utilização.
Para referências na cláusula WITH, envolva a variável com aspas simples ('), no formato '${secret_values.Nome da variável}'.
Quando a variável representar um nome de tabela ou campo em uma instrução SQL, use crases (
), seguindo o padrão${secret_values.Nome da variável}`.
create temporary table `${secret_values.source_name}`(
id varchar,
name varchar
) with (
'connector' = 'datagen'
);
create temporary table blackhole(
id varchar,
`${secret_values.test_name}` varchar
) with (
'connector' = '${secret_values.blackhole}'
);
insert into blackhole select * from `${secret_values.source_name}`;
Ingestão de dados
source:
type: mysql
name: Mysql Source
hostname: localhost
port: 3306
username: test
password: ${secret_values.mysqlpw}
tables: app_db.\.*
server-id: 5400-5404
···
Consulta de dados
USE CATALOG paimon;
CREATE DATABASE IF NOT EXISTS `${secret_values.test_name}`;
CREATE TABLE paimon.`${secret_values.test_name}`.ods_user_log
(
item_id int NOT NULL,
`${secret_values.user}` varchar(50) NOT NULL,
action varchar(20) NOT NULL,
vtime timestamp,
ds varchar(10) NOT NULL
)
PARTITIONED BY (ds);
SELECT * from paimon.`${secret_values.test_name}`.ods_user_log LIMIT 10;
Referenciar uma variável em uma implantação JAR ou Python
Utilize variáveis como parâmetros de entrada na função Main de implantações JAR ou Python.
No console de desenvolvimento do Realtime Compute for Apache Flink, navegue por . Na página Deployments, clique em Create Deployment.
-
Informe o nome da variável no campo Entry Point Main Arguments. A figura a seguir ilustra a configuração.

Para detalhes sobre outros parâmetros de implantação, consulte Deploy a job.
Clique em Deploy.
Referenciar uma variável na configuração de parâmetros de uma implantação
Utilize variáveis na configuração de parâmetros de uma implantação.
No console de desenvolvimento do Realtime Compute for Apache Flink, acesse . Na página Deployments, clique na implantação que deseja gerenciar.
-
Na aba Configuration, clique em Edit no canto superior direito da seção Parameters e ajuste os parâmetros. Utilize variáveis como valores desses parâmetros. A imagem abaixo mostra as configurações.

Clique em Save.
Referenciar uma variável na seção Logging
-
Acesse a seção Logging.
Para configurar a exportação de logs de uma implantação específica, veja Configure single job log export.
Para configurar a exportação de logs de todas as implantações em um namespace, consulte Configure log export for a namespace.
-
Referencie uma variável na seção Logging.
No exemplo a seguir, as variáveis accessKeyId e accessKeySecret são utilizadas para exportar logs de implantações para o Simple Log Service. Para a configuração completa, consulte Configure job log export.
<Appender name="SLS" type="SLS"> <Layout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS}{GMT+8} %-5p %-60c %x - %m%n" type="PatternLayout" charset="UTF-8"/> <!-- The final effective log path is: ${baseUri}/logs/${namespace}/${deploymentId}/{jobId}/ --> <Property name="namespace">{{ namespace }}</Property> <!-- Do not modify this line --> <Property name="project">YOUR-SLS-PROJECT</Property> <Property name="logStore">YOUR-SLS-LOGSTORE</Property> <Property name="endpoint">YOUR-SLS-ENDPOINT</Property> <Property name="accessKeyId">${secret_values.accessKeyId}</Property> <Property name="accessKeySecret">${secret_values.accessKeySecret}</Property> <Property name="topic">{{ namespace }}:{{ deploymentId }}:{{ jobId }}</Property> <Property name="deploymentName">{{ deploymentName }}</Property> <Property name="flushIntervalSeconds">10</Property> <Property name="flushIntervalEventCount">100</Property> </Appender>
Referenciar uma variável na configuração de parâmetros via interface
Ao criar um catálogo no console de desenvolvimento do Realtime Compute for Apache Flink, referencie uma variável em um item de configuração.
No console de desenvolvimento do Realtime Compute for Apache Flink, clique em Catalogs no painel de navegação à esquerda.
-
Referencie uma variável na caixa de diálogo Create Catalog. Neste exemplo, a variável
mysqlpasswordé aplicada ao parâmetro de senha durante a criação de um catálogo MySQL.
Editar ou excluir uma variável
Tenha cuidado ao editar ou excluir variáveis. Operações acidentais podem causar falhas na implantação de rascunhos ou exigir uma nova implantação. A exclusão de uma variável existente não afeta as implantações que já estão em execução.
Faça login no console do Realtime Compute for Apache Flink. Encontre o workspace que deseja gerenciar e clique em Console na coluna Actions.
-
No painel de navegação à esquerda, selecione . Na página Variables, localize a variável que deseja editar ou excluir e clique em Edit ou Delete na coluna Actions.
-
Editar uma variável
Altere o valor de uma variável. Apenas membros com permissão de editor ou superior podem editar variáveis.
-
Excluir uma variável
Apenas membros com permissão de editor ou superior, ou aqueles com permissão específica para exclusão, podem excluir variáveis.
-
Referências
Para mais informações sobre o desenvolvimento de rascunhos SQL, consulte Job development overview.
Para detalhes sobre parâmetros de implantação JAR ou Python, veja Deploy a job.
Para saber como criar e utilizar um catálogo, acesse Catalogs.
Para uma lista dos conectores suportados pelo Realtime Compute for Apache Flink, consulte Supported connectors.