Tüm Ürünler
Search
Belge Merkezi

Realtime Compute for Apache Flink:Değişken yönetimi

Son Güncelleme:Oct 12, 2026

Değişken kullanımı, AccessKey veya parola gibi düz metin kimlik bilgilerinin oluşturduğu güvenlik risklerini önlemenize yardımcı olur. Değişkenleri yeniden kullanmak ayrıca tekrarlayan kodları ve değerleri ortadan kaldırarak yapılandırma yönetimini basitleştirir. SQL işlerinde, JAR/Python dağıtımlarında, günlük kaydı yapılandırmalarında ve kullanıcı arayüzü ayarlarında değişken desteği bulunur. Bu konuda, değişkenlerin nasıl oluşturulacağı ve farklı senaryolarda nasıl kullanılacağı açıklanmaktadır.

Arka plan bilgileri

Bir değişken bir addan ve bir değerden oluşur. Tanımladığınız ad, gerçek veriler için yer tutucu görevi görür ve genellikle anlamını yansıtır. Değer ise adın temsil ettiği gerçek veridir. Flink iki tür değişkeni destekler: dağıtım değişkenleri ve ad alanı değişkenleri. Aralarındaki farklar aşağıda verilmiştir:

  • Dağıtım değişkeni: Yalnızca tek bir dağıtım içinde (örneğin bir ETL SQL işinde veya JAR/Python dağıtımında ana işlev bağımsız değişkeni olarak) kullanılabilir. Bir dağıtım değişkenine başvuru formatı ${variable_name} şeklindedir. Daha fazla bilgi için bkz. Dağıtım değişkenleri.

  • Ad alanı değişkeni: Tüm bir ad alanı genelinde kullanılabilir. Buna Geliştirme bölümünde (veri alımı, ETL ve sorgu betikleri için), JAR/Python dağıtımlarında ana işlev bağımsız değişkeni olarak, dağıtım parametre yapılandırmalarında, günlük kaydı yapılandırmalarında ve kullanıcı arayüzü ayarlarında (Catalog oluşturma gibi) kullanım dahildir. Bir ad alanı değişkenine başvuru formatı ${secret_values.variable_name} şeklindedir. Bunların nasıl oluşturulup kullanılacağını öğrenmek için bkz. Ad alanı değişkenleri.

Kullanım notları

  • Tek bir değişken adı için birden fazla değer yapılandıramazsınız.

  • Değişken adları olarak anahtar sözcükler kullanmaktan kaçının.

  • SQL işlerinde değişkenleri yalnızca geçici bir tabloda (CREATE TEMPORARY TABLE) kullanabilirsiniz. Kalıcı bir tabloda (CREATE TABLE) değişken kullanılması tablonun hatalı çalışmasına neden olur.

Dağıtım değişkenleri

Not

Dağıtım değişken adları, tek bir dağıtım içinde benzersiz olmalıdır.

ETL (SQL işi)

SQL işi geliştirme sırasında, özel işlevler için bağımsız değişkenler dahil olmak üzere değişkenleri kullanabilirsiniz. İşi başlatırken değişken değerlerini de değiştirebilirsiniz.

  1. Realtime Compute for Apache Flink konsolunun sol gezinme bölmesinde, şuraya gidin: Development > ETL.

  2. Hedef SQL işinizin SQL düzenleyicisinde, aşağıdaki örnekte gösterildiği gibi ${variable_name} formatını kullanarak değişkenler oluşturun.

    • WITH yan tümcesinde bir parametre olarak kullanıldığında, değişkeni tek tırnak içine alın: '${variable_name}'.

    • Diğer konumlarda (örneğin SQL tablo veya alan adları için) kullanıldığında, değişkeni geri tırnak içine alın: ${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. Flink, SQL işinde bu formatı kullanan dağıtım değişkenlerini otomatik olarak tanımlar. Bu değişkenler için değer girmeniz gerekir.

    • Yöntem 1: SQL düzenleyicide Job Variables paneli görünür. Değerleri bu panele girin.

      Job Variables panelinde anahtar-değer çiftlerini yapılandırın: source_name=datagen, test_name=name ve blackhole=blackhole.

    • Yöntem 2: Sağ taraftaki More Configurations seçeneğine tıklayın. Değerleri Job Variables bölümüne girin.

      Örneğin, source_name değişkenini datagen olarak, test_name değişkenini name olarak ve blackhole değişkenini blackhole olarak yapılandırın. Ardından, bu değerlere SQL kodunuzda ${variable_name} sözdizimini kullanarak başvurabilirsiniz.

  4. İş dağıtıldıktan sonra, işin ayrıntılar sayfasındaki Deployments sekmesi altında Deployment Details sekmesinden değişkenlerini görüntüleyebilirsiniz.

    İş özelliklerinde, Job Variables satırı yapılandırılmış değişkenleri (örneğin source_name, test_name ve blackhole) ve bunlara karşılık gelen değerleri gösterir.

  5. Hedef işin Actions sütununda Start seçeneğine tıklayın. İş başlatma panelinde değişken değerlerini değiştirebilirsiniz.

    Önemli

    İş başlatma panelinde yapılan değişken değeri değişiklikleri yalnızca mevcut iş çalıştırmasına uygulanır. SQL işinde tanımlanan değerleri değiştirmez.

    İş başlatma panelinde stateless start veya stateful start modunu seçebilirsiniz. Stateful start'i seçerseniz, Recover from latest state gibi kurtarma seçeneklerini yapılandırabilirsiniz. Job Variables bölümü, source_name için datagen, test_name için name ve blackhole için blackhole gibi değişkenleri ve varsayılan değerlerini görüntüler. Bunları gerektiği gibi değiştirebilir ve ardından Start seçeneğine tıklayabilirsiniz.

JAR/Python dağıtımı

JAR/Python dağıtımlarında ana işlev için bağımsız değişken olarak değişkenleri kullanabilirsiniz.

Yöntem 1: Ad alanı değişkenlerini kullanma

  1. Yeni bir değişken oluşturun. Ayrıntılar için bkz. Değişken oluşturma.

  2. Realtime Compute for Apache Flink konsolunda, şuraya gidin: O&M > Deployments ve Deploy Job seçeneğine tıklayın.

  3. Entry Point Main Arguments alanında, bağımsız değişkeni --variable_in_code ${secret_values.variable_in_management} formatını kullanarak girin.

    Bir değişken adının özel karakterler içermesi gerekiyorsa, bkz. Entry Point Main Arguments kullanırken özel karakterleri parametre olarak nasıl aktarırım?.

    Örneğin, her parametreyi yeni bir satıra yazarak --akid ${secret_values.test1} ve --aksecret ${secret_values.test2} girin.

    Diğer dağıtım parametreleriyle ilgili ayrıntılar için bkz. İş dağıtma.

  4. Deploy seçeneğine tıklayın.

  5. Hedef dağıtımın Actions sütununda Start seçeneğine tıklayın.

Yöntem 2: Dağıtım değişkenlerini kullanma

  1. Realtime Compute for Apache Flink konsolunda, şuraya gidin: O&M > Deployments ve Deploy Job seçeneğine tıklayın.

  2. Entry Point Main Arguments alanında, bağımsız değişkeni --variable_in_code ${deployment_variable_name} formatını kullanarak girin ve ardından aşağıdaki Job Variables bölümünde değişken değerini sağlayın.

    Bir değişken adının özel karakterler içermesi gerekiyorsa, bkz. Entry Point Main Arguments kullanırken özel karakterleri parametre olarak nasıl aktarırım?.

    Örneğin, --akid ${test1} --aksecret ${test2} girin, ardından test1 (AccessKey ID) ve test2 (AccessKey Secret) değişkenlerini ekleyin ve gerçek kimlik bilgilerini bunların varsayılan değerleri olarak girin.

    Diğer dağıtım parametreleriyle ilgili ayrıntılar için bkz. İş dağıtma.

  3. Deploy seçeneğine tıklayın.

  4. Hedef dağıtımın Actions sütununda Start seçeneğine tıklayın. İş başlatma panelinde değişken değerlerini değiştirebilirsiniz.

    Bir başlatma modu seçin: stateless start (başlangıç durumu olmadan) veya stateful start (mevcut bir durumdan). Ayrıca Configuration Autotuning özelliğini etkinleştirebilirsiniz.

Ad alanı değişkenleri

Değişken oluşturma

Not

Yalnızca düzenleyici veya daha yüksek izinlere sahip üyeler ya da değişken oluşturma iznine sahip özel üyeler değişken oluşturabilir.

  1. Realtime Compute for Apache Flink konsoluna giriş yapın. Hedef çalışma alanını bulun ve Actions sütununda Console seçeneğine tıklayın.

  2. Sol gezinme bölmesinde, şuraya gidin: Security > Variables ve Add Variable seçeneğine tıklayın.

    Parametre

    Açıklama

    Değişken Adı

    Değişken adı, ad alanı içinde benzersiz olmalı ve oluşturulduktan sonra değiştirilememelidir.

    Değişken Değeri

    Değişken değerleri büyük/küçük harfe duyarlıdır. Değer, oluşturulduktan sonra değiştirilebilir. Ayrıntılar için bkz. Değişkeni düzenleme veya silme.

    Tür (Düz Metin/Şifreli Metin)

    Tür, oluşturulduktan sonra değiştirilemez.

    • Düz Metin: Değişken değeri Variables sayfasında doğrudan görünür.

    • Şifreli Metin: Değişken değeri gizlidir.

    Değişken oluşturulduktan sonra, Variables sayfasındaki listede adını, türünü, değerini ve oluşturulma zamanını görüntüleyebilirsiniz. Ayrıca değişkeni Edit veya Delete edebilirsiniz.

  3. OK seçeneğine tıklayın.

Değişken kullanma

Bir değişken oluşturduktan sonra, bunu ${secret_values.variable_name} formatını kullanarak başvurabilirsiniz. "variable_name" yerine kendi değişkeninizin adını yazın.

Geliştirme

Realtime Compute for Apache Flink konsolunun Development bölümünde ad alanı değişkenlerini kullanabilirsiniz.

ETL (SQL)

Aşağıdaki örnekte gösterildiği gibi, bir SQL işinin DDL'sinde değişkenleri ${secret_values.variable_name} formatıyla başvurarak kullanabilirsiniz.

  • WITH yan tümcesinde bir parametre olarak kullanıldığında, değişkeni tek tırnak içine alın: '${secret_values.variable_name}'.

  • Diğer konumlarda (örneğin SQL tablo veya alan adları için) kullanıldığında, değişkeni geri tırnak içine alın: ${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}`;

Veri alımı

source:
  type: mysql
  name: Mysql Source
  hostname: localhost
  port: 3306
  username: test
  password: ${secret_values.mysqlpw}
  tables: app_db.\.*
  server-id: 5400-5404
···

Veri sorgulama

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;

JAR/Python dağıtımı

JAR/Python dağıtımlarında ana işlev için bağımsız değişken olarak değişkenleri kullanabilirsiniz.

  1. Geliştirme konsolunda, şuraya gidin: O&M > Deployments ve Deploy Job seçeneğine tıklayın.

  2. Entry Point Main Arguments alanında, bağımsız değişkeni aşağıdaki formatı kullanarak girin.

    Örnek: --input ${secret_values.input}; burada ${secret_values.variable_name} bir değişkene başvurma sözdizimidir.

    Diğer dağıtım parametreleriyle ilgili ayrıntılar için bkz. İş dağıtma.

  3. Deploy seçeneğine tıklayın.

Çalışma zamanı parametre yapılandırması

İş çalışma zamanı parametrelerinde değişkenleri kullanabilirsiniz.

  1. O&M > Deployments sayfasına gidin ve hedef işe tıklayın.

  2. Deployment Details sekmesinde, Runtime Parameter Configuration bölümünün sağ üst köşesindeki Edit seçeneğine tıklayın ve parametreleri yapılandırın. Aşağıdaki örnekte gösterildiği gibi parametre değerleri olarak değişkenleri kullanabilirsiniz.

    Other Configurations metin alanında, değişkenlere başvurmak için ${secret_values.xxx} formatını kullanın. Örneğin, Jindo OSS erişim kimlik bilgilerini yapılandırmak için fs.oss.jindo.buckets, fs.oss.jindo.accessKeyId ve fs.oss.jindo.accessKeySecret gibi parametreleri ayarlayabilirsiniz.

  3. Save seçeneğine tıklayın.

Günlük kaydı yapılandırması

  1. Günlük kaydı yapılandırma sayfasına gidin.

  2. Günlük kaydı yapılandırmasında değişkenleri kullanın.

    Örneğin, iş günlüklerini SLS'ye göndermek için yapılandırma yaparken 'accessKeyId' ve 'accessKeySecret' için değişkenleri kullanabilirsiniz. Günlük çıktısı yapılandırmasıyla ilgili eksiksiz bilgiler için bkz. İş günlük çıktısını yapılandırma.

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

Kullanıcı arayüzü

Kullanıcı arayüzü üzerinden bir Catalog oluştururken yapılandırma öğelerinde değişkenleri kullanabilirsiniz.

  1. Realtime Compute for Apache Flink konsolunun sol gezinme bölmesinde, şuraya tıklayın: Catalogs.

  2. Create Catalog sayfasında değişkenleri kullanın. Aşağıdaki örnek, bir MySQL Catalog'undaki parola parametresi için mysqlpassword adlı bir değişkenin nasıl kullanılacağını göstermektedir.

    password alanında, gizli değere başvurmak için ${secret_values.mysqlpassword} girin.

Değişkeni düzenleme veya silme

Not

Değişkenleri düzenlerken veya silerken dikkatli olun. Bu işlem, başvuruda bulunan dağıtımların başarısız olmasına veya çevrimiçi işleri yeniden dağıtmanıza neden olabilir. Çalışan işler etkilenmez.

  1. Realtime Compute for Apache Flink konsoluna giriş yapın. Hedef çalışma alanını bulun ve Actions sütununda Console seçeneğine tıklayın.

  2. Sol gezinme bölmesinde, şuraya gidin: Security > Variables. Hedef değişkeni bulun ve Actions sütununda Edit veya Delete seçeneğine tıklayın.

    • Düzenle

      Bir değişkenin değerini değiştirebilirsiniz. Yalnızca düzenleyici veya daha yüksek izinlere sahip üyeler değişkenleri düzenleyebilir.

    • Sil

      Yalnızca düzenleyici veya daha yüksek izinlere sahip üyeler ya da değişken silme iznine sahip özel üyeler değişkenleri silebilir.

İlgili belgeler