Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Gerenciamento de variáveis

Última atualização: Aug 19, 2026

O uso de variáveis ajuda a evitar riscos de segurança associados a credenciais em texto simples, como AccessKey ou senhas. A reutilização de variáveis também evita a repetição de código e valores, simplificando o gerenciamento de configurações. Há suporte para variáveis em jobs SQL, implantações JAR/Python, configurações de log e definições da interface. Este tópico descreve como criar variáveis e utilizá-las em diferentes cenários.

Informações básicas

Uma variável é composta por um nome e um valor. O nome, definido por você, atua como um espaço reservado para os dados reais e geralmente reflete seu significado. O valor corresponde aos dados reais que o nome representa. O Flink oferece suporte a dois tipos de variáveis: variáveis de implantação e variáveis de namespace. As diferenças são as seguintes:

  • Variável de implantação: Uso restrito a uma única implantação, como em um job SQL de ETL ou como argumento da função principal em uma implantação JAR/Python. O formato para referenciar uma variável de implantação é ${variable_name}. Para mais informações, consulte Deployment variables.

  • Variável de namespace: Aplicável em todo um namespace. Isso inclui o uso em Development (para scripts de ingestão de dados, ETL e consultas), como argumentos da função principal em implantações JAR/Python, em configurações de parâmetros de implantação, configurações de log e definições da interface (como na criação de um Catalog). O formato para referenciar uma variável de namespace é ${secret_values.variable_name}. Para saber como criá-las e usá-las, consulte Namespace variables.

Observações de uso

  • Não configure vários valores para um único nome de variável.

  • Evite utilizar palavras-chave como nomes de variáveis.

  • Em jobs SQL, use variáveis apenas em tabelas temporárias (CREATE TEMPORARY TABLE). O uso de variáveis em tabelas persistentes (CREATE TABLE) causa mau funcionamento da tabela.

Variáveis de implantação

Nota

Os nomes das variáveis de implantação devem ser exclusivos dentro de uma única implantação.

ETL (job SQL)

Use variáveis durante o desenvolvimento de jobs SQL, inclusive como argumentos para funções personalizadas. Também modifique os valores das variáveis ao iniciar o job.

  1. No painel de navegação à esquerda do console do Realtime Compute for Apache Flink, clique em Development > ETL.

  2. No editor SQL do job desejado, crie variáveis usando o formato ${variable_name}, conforme o exemplo a seguir.

    • Ao usar como parâmetro em uma cláusula WITH, coloque a variável entre aspas simples: '${variable_name}'.

    • Em outros locais (como nomes de tabelas ou campos SQL), coloque a variável entre crases: ${variable_name}.

    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}`;
  3. O Flink identifica automaticamente as variáveis de implantação que utilizam esse formato no job SQL. Forneça valores para essas variáveis.

    • Método 1: O painel Job Variables aparece no editor SQL. Insira os valores nesse painel.

      No painel Job Variables, configure os pares chave-valor: source_name=datagen, test_name=name e blackhole=blackhole.

    • Método 2: Clique em More Configurations no lado direito. Insira os valores na seção Job Variables.

      Por exemplo, configure a variável source_name como datagen, test_name como name e blackhole como blackhole. Em seguida, referencie esses valores no código SQL usando a sintaxe ${variable_name}.

  4. Após a implantação do job, visualize suas variáveis na aba Deployment Details da página de detalhes do job, em Deployments.

    Nas propriedades do job, a linha Job Variables exibe as variáveis configuradas (como source_name, test_name e blackhole) e seus valores correspondentes.

  5. Clique em Start na coluna Actions do job desejado. Modifique os valores das variáveis no painel de inicialização do job.

    Importante

    As alterações nos valores das variáveis feitas no painel de inicialização do job aplicam-se apenas à execução atual. Elas não alteram os valores definidos no job SQL.

    No painel de inicialização do job, selecione o modo stateless start ou stateful start. Se escolher a inicialização com estado, configure as opções de recuperação, como Recover from latest state. A seção Job Variables exibe as variáveis e seus valores padrão, como source_name definido como datagen, test_name como name e blackhole como blackhole. Modifique-os conforme necessário e clique em Start.

Implantação JAR/Python

Use variáveis como argumentos para a função principal em implantações JAR/Python.

Método 1: Usar variáveis de namespace

  1. Crie uma nova variável. Para detalhes, consulte Create a variable.

  2. No console do Realtime Compute for Apache Flink, acesse O&M > Deployments e clique em Deploy Job.

  3. No campo Entry Point Main Arguments, insira o argumento usando o formato --variable_in_code ${secret_values.variable_in_management}.

    Caso o nome da variável precise incluir caracteres especiais, consulte How do I pass special characters as parameters when I use Entry Point Main Arguments?.

    Por exemplo, insira --akid ${secret_values.test1} e --aksecret ${secret_values.test2}, com cada parâmetro em uma nova linha.

    Para detalhes sobre outros parâmetros de implantação, consulte Deploy a job.

  4. Clique em Deploy.

  5. Clique em Start na coluna Actions da implantação desejada.

Método 2: Usar variáveis de implantação

  1. No console do Realtime Compute for Apache Flink, acesse O&M > Deployments e clique em Deploy Job.

  2. No campo Entry Point Main Arguments, insira o argumento usando o formato --variable_in_code ${deployment_variable_name} e forneça o valor da variável na seção Job Variables abaixo.

    Caso o nome da variável precise incluir caracteres especiais, consulte How do I pass special characters as parameters when I use Entry Point Main Arguments?.

    Por exemplo, insira --akid ${test1} --aksecret ${test2}, adicione as variáveis test1 (AccessKey ID) e test2 (AccessKey Secret) e insira as credenciais reais como seus valores padrão.

    Para detalhes sobre outros parâmetros de implantação, consulte Deploy a job.

  3. Clique em Deploy.

  4. Clique em Start na coluna Actions da implantação desejada. Modifique os valores das variáveis no painel de inicialização do job.

    Selecione um modo de início: stateless start (sem estado inicial) ou stateful start (a partir de um estado existente). Também ative o Configuration Autotuning.

Variáveis de namespace

Criar uma variável

Nota

Apenas membros com permissões de editor ou superiores, ou membros com permissão específica para criar variáveis, podem criar variáveis.

  1. Faça login no console do Realtime Compute for Apache Flink. Localize o workspace desejado e clique em Console na coluna Actions.

  2. No painel de navegação à esquerda, clique em Security > Variables e clique em Add Variable.

    Parâmetro

    Descrição

    Variable Name

    O nome da variável deve ser exclusivo dentro do namespace e não pode ser alterado após a criação.

    Variable Value

    Os valores das variáveis diferenciam maiúsculas de minúsculas. O valor pode ser modificado após a criação. Para detalhes, consulte Edit or delete a variable.

    Type (Plaintext/Ciphertext)

    O tipo não pode ser alterado após a criação.

    • Plaintext: O valor da variável fica diretamente visível na página Variables.

    • Ciphertext: O valor da variável permanece oculto.

    Após a criação da variável, visualize seu nome, tipo, valor e hora de criação na lista da página Variables. Também edite (Edit) ou exclua (Delete) a variável.

  3. Clique em OK.

Usar uma variável

Após criar uma variável, referencie-a usando o formato ${secret_values.variable_name}. Substitua "variable_name" pelo nome da sua variável.

Desenvolvimento

Use variáveis de namespace na seção Development do console do Realtime Compute for Apache Flink.

ETL (SQL)

Utilize variáveis no DDL de um job SQL referenciando-as com o formato ${secret_values.variable_name}, conforme o exemplo a seguir.

  • Ao usar como parâmetro em uma cláusula WITH, coloque a variável entre aspas simples: '${secret_values.variable_name}'.

  • Em outros locais (como nomes de tabelas ou campos SQL), coloque a variável entre crases: ${secret_values.variable_name}.

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;

Implantação JAR/Python

Use variáveis como argumentos para a função principal em implantações JAR/Python.

  1. No console de desenvolvimento, acesse O&M > Deployments e clique em Deploy Job.

  2. No campo Entry Point Main Arguments, insira o argumento usando o seguinte formato.

    Exemplo: --input ${secret_values.input}, onde ${secret_values.variable_name} é a sintaxe para referenciar uma variável.

    Para detalhes sobre outros parâmetros de implantação, consulte Deploy a job.

  3. Clique em Deploy.

Configuração de parâmetros de tempo de execução

Use variáveis nos parâmetros de tempo de execução do job.

  1. Acesse a página O&M > Deployments e clique no job desejado.

  2. Na aba Deployment Details, clique em Edit no canto superior direito da seção Runtime Parameter Configuration e configure os parâmetros. Utilize variáveis como valores de parâmetro, conforme o exemplo a seguir.

    Na área de texto Other Configurations, use o formato ${secret_values.xxx} para referenciar variáveis. Por exemplo, para configurar credenciais de acesso ao Jindo OSS, defina parâmetros como fs.oss.jindo.buckets, fs.oss.jindo.accessKeyId e fs.oss.jindo.accessKeySecret.

  3. Clique em Save.

Configuração de log

  1. Acesse a página de configuração de log.

  2. Utilize variáveis na configuração de log.

    Por exemplo, ao configurar logs de job para envio ao SLS, use variáveis para 'accessKeyId' e 'accessKeySecret'. Para informações completas sobre a configuração de saída de log, consulte Configure job log output.

    <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>

Interface

Ao criar um Catalog pela interface, utilize variáveis nos itens de configuração.

  1. No painel de navegação à esquerda do console do Realtime Compute for Apache Flink, clique em Catalogs.

  2. Use variáveis na página Create Catalog. O exemplo a seguir mostra como usar uma variável chamada mysqlpassword para o parâmetro de senha em um Catalog MySQL.

    No campo password, insira ${secret_values.mysqlpassword} para referenciar o valor secreto.

Editar ou excluir uma variável

Nota

Tenha cautela ao editar ou excluir variáveis. Essa ação pode fazer com que implantações que as referenciam falhem ou exigir a reimplantação de jobs online. Jobs em execução não são afetados.

  1. Faça login no console do Realtime Compute for Apache Flink. Localize o workspace desejado e clique em Console na coluna Actions.

  2. No painel de navegação à esquerda, clique em Security > Variables. Localize a variável desejada e clique em Edit ou Delete na coluna Actions.

    • Editar

      Altere o valor de uma variável. Apenas membros com permissões de editor ou superiores podem editar variáveis.

    • Excluir

      Apenas membros com permissões de editor ou superiores, ou membros com permissão específica para excluir variáveis, podem excluir variáveis.

Documentos relacionados