在配置变量后,您可以在单作业的SQL编辑器或更多Flink配置、作业模版中的其他配置中去调用已配置的变量。本文为您介绍如何配置和调用变量。

背景信息

配置变量可以帮您解决以下两个问题:
  • 避免DDL中出现明文AccessKey带来的安全风险。
  • 动态修改变量值,避免直接修改SQL,提高变量替换的效率。

使用限制

  • 仅支持新增和删除变量,不支持修改和查看变量值。
  • 仅支持在创建临时表(即CREATE TEMPORARY TABLE)时的WITH参数中调用变量,如果在持久表(即CREATE TABLE)的WITH参数中调用变量,则这张表会无法正常使用。

注意事项

请谨慎删除已创建的变量,因为可能会导致开发中的SQL作业无法上线,或需要重新提交已上线的作业。但不影响已经上线作业的运行。

配置变量

  1. 登录实时计算控制台
  2. Flink全托管页签,单击目标工作空间操作列下的开发控制台
  3. 在左侧导航栏上,选择系统管理 > 变量配置
  4. 单击新增变量
  5. 填写变量名称变量值。
    注意 变量值的字母大小写敏感,请注意变量值的字母大小写。
    变量信息
  6. 单击确认

调用变量

配置变量后,您可以在单作业的SQL编辑器中去调用已配置的变量。

  1. 在开发控制台左侧导航栏,单击作业开发
  2. 在目标作业的SQL编辑器中调用。
    变量在调用时的格式为${secret_values.变量名}。代码示例如下。
    CREATE TEMPORARY table datahub_source(
      name VARCHAR
    ) WITH (
      'connector' = 'datagen'
    );
    
    CREATE TEMPORARY table datahub_sink(
      name  VARCHAR  
    ) WITH (
      'connector'='datahub',
      'endpoint'='<yourEndpoint>',
      'project'='<yourProject>',
      'topic'='<yourTopic>',
      'accessId'='<yourAccessId>',
      'accessKey'='${secret_values.test_ak}'
    );
    
    INSERT INTO datahub_sink
    SELECT 
      LOWER(name)
    from datahub_source;