Tüm Ürünler
Search
Belge Merkezi

Realtime Compute for Apache Flink:Integrate with Git (Beta)

Son Güncelleme:Oct 04, 2026

Git entegrasyonu, Realtime Compute for Apache Flink geliştirme konsolu ile uzak bir git deposu (GitHub, GitLab veya Gitee) arasında iş kodunu ve yapılandırmaları eşitlemenizi sağlar. Kodları yerel ortamlardan geçirmek, ekipler arası iş birliği yapmak, kod inceleme iş akışlarını uygulamak ve denetime uygun değişiklik geçmişini korumak için bu özelliği kullanın.

Kullanım Senaryoları

Kullanım senaryosu Çözülen sorun Önerilen yaklaşım
Buluta geçiş Yerel Flink SQL kodunu manuel dışa veya içe aktarma işlemi olmadan git aracılığıyla bulut Flink kümesine gönderin. Kodları çektikten sonra geliştirmeye doğrudan konsolda devam edin. Çekme işlemi git deposunda değişiklik yapmaz.
İş birliğine dayalı geliştirme İş taslaklarını ve yapılandırmalarını paylaşın ve sürüm kontrolü altında tutun. Paralel geliştirme ve hata düzeltmeleri için özellik dalları (örneğin feature/topic) oluşturun ve testler başarılı olduktan sonra bunları ana dala birleştirin. Tüm SQL kodu değişikliklerini git üzerinden işleyin ve çekme/doğrulama işlemleri için konsolu kullanın. Ana dalı stabil tutmak için git dal yönetimini kullanın.
Kalite güvencesi ve risk yönetimi Kod incelemesi için çekme isteklerini kullanın. Test amacıyla kodları konsola çekin. Değişiklikleri izlemek ve sorunları tespit etmek için işlem geçmişinden yararlanın. Tüm SQL kodu değişikliklerini git üzerinden işleyin. Değişikliklerin izlenebilir kalmasını sağlamak için işlem geçmişini düzenli olarak kontrol edin.
Olağanüstü durum kurtarma ve uyumluluk Git, yanlışlıkla dosya silinmesine karşı dağıtılmış yedekleme sağlar. Git günlükleri, denetim uyumluluğu için tüm iş mantığı değişikliklerinin doğrulanabilir kaydını tutar. SQL kodu güncellemelerini düzenli olarak git'e gönderin. Gerektiğinde kodları git'ten kurtarın. Tüm temel operasyonları izlemek için git günlüklerini kullanın.

Ön Koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Bir Flink çalışma alanı. Bkz. Çalışma alanı oluşturma

  • Uzak bir git deposuna erişim (GitHub, GitLab, Gitee veya Alibaba Cloud DevOps)

  • Flink çalışma alanınız için etkinleştirilmiş internet erişimi. Bkz. İnternet erişimini yapılandırma

  • (IP beyaz listesine alınan depolar için) Flink çalışma alanınızın IP adresinin deponun izin listesine eklenmiş olması

Sınırlamalar

Kısıtlama Ayrıntı
Desteklenen iş türü Yalnızca SQL
İzinler Git entegrasyonunu yapılandırmak veya mevcut bir yapılandırmayı düzenlemek için ad alanı sahibi olmanız veya eşdeğer izinlere sahip bir üye olmanız gerekir
Ad alanı başına tek depo Her ad alanı yalnızca bir git deposuna ve tek bir dala bağlanabilir. Birden fazla depoyu veya dalı yönetmek için ek ad alanları oluşturun
Klasör derinliği Maksimum yedi seviye. Sekizinci seviye veya daha derindeki dosyalar Flink'e çekilemez
JSON dosya eşitlemesi Git'te .json dosyaları eklemek veya silmek konsolda yansıtılmaz. .json dosyalarında yapılan değişiklikler, aynı ada sahip SQL taslağının yapılandırmalarını günceller
Birleştirme çakışmaları Aynı dosyayı hem git'te hem de konsolda aynı anda düzenlemekten kaçının. Eş zamanlı düzenlemeler gerçekleşirse, Flink gönderme veya çekme sırasında bir çakışma kontrolü çalıştırır ve manuel çözüm gerektirir

Adım 1: Bir git deposunu ad alanıyla ilişkilendirme

  1. İnternet bağlantısı oluşturun ve bağlantıyı test edin. Zaten bir internet bağlantısı varsa bu adımı atlayın.

  2. Geliştirme konsoluna gidin.

    1. Realtime Compute for Apache Flink yönetim konsolunda oturum açın.

    2. Hedef çalışma alanının Actions sütununda Console öğesine tıklayın.

  3. Ad alanı için git deposu yapılandırmasını ayarlayın.

    1. Sağ üst köşede profil resmine tıklayın, ardından User Profile öğesine tıklayın.

    2. Ad alanınızın Actions sütununda Git Config öğesine tıklayın.

    3. Git deposu yapılandırmasını doldurun.


      Alan


      Açıklama


      Provider


      Git sağlayıcısı. Geçerli değerler: GitHub, GitLab, Gitee.


      Repository URL


      Git deponuzun URL'si. HTTP veya HTTPS ile başlamalı ve .git ile bitmelidir. Maksimum 64 karakter.


      Username


      Git hesabı kullanıcı adınız. Hesabın hedef depo üzerinde gerekli izinlere sahip olması gerekir.


      Personal Access Token

      Kimlik doğrulama için kullanılan kişisel erişim belirteci (PAT).

      Talimatlar için bkz. Managing personal access tokens (GitHub) veya Personal access tokens (GitLab).


      Branch


      Bu ad alanına bağlanacak dal. Her ad alanı yalnızca bir dala bağlanabilir.

    4. OK öğesine tıklayın. Git deposu ve dal artık ad alanınızla ilişkilendirilmiştir. Bağlama başarılı olduktan sonra Git Config iletişim kutusu bağlı depo URL'sini, kullanıcı adını, dalı ve Kişisel Erişim Belirteci depolama durumunu gösterir. Mevcut depo bağlamasını kaldırmak için Unbind öğesine tıklayın. Farklı bir depoya veya dala geçmek için Git Config öğesine tıklayarak mevcut bağlamayı kaldırın ve ardından yeni olanı bağlayın.

Adım 2: Güncellemeleri gönderme veya çekme

İşlem Ne zaman kullanılır
Değişiklikleri gönderme SQL kodu ve yapılandırma değişikliklerini konsoldan uzak git deposuna gönderin.
Değişiklikleri çekme SQL kodunu veya iş yapılandırmalarını uzak git deposundan konsola alın.
Birleştirme çakışmalarını çözme Aynı dosyanın her iki yerde de düzenlenmesi durumunda gönderme veya çekme sırasında tespit edilen çakışmaları giderin.

Değişiklikleri gönderme

  1. Development > ETL sayfasında Git - Push öğesine tıklayın.

  2. Changes alanında eklemeleri (A), değişiklikleri (M) ve silmeleri (D) gözden geçirin. Farkı görüntülemek için bir harfe tıklayın.

  3. Bir Commit Message girin ve Commit And Push öğesine tıklayın. Gönderme, çakışmalar nedeniyle reddedilirse sistem sizden önce uzak depodan güncellemeleri çekmenizi ister. Çektikten sonra herhangi bir birleştirme çakışmasını çözün ve ardından tekrar gönderin.

    Git - Push iletişim kutusu, işlemeden önce gönderim hedefini onaylamanıza olanak tanıyan Repository URL ve Branch alanlarını içerir.

  4. Sonuçları git deponuzda doğrulayın. Git'e gönderilen her yeni SQL taslağı, aynı ada ancak farklı uzantılara sahip iki dosya üretir: Güncellemeler ilgili .sql veya .json dosyasını değiştirir.

    • filename.sql — SQL kodu.

    • filename.json — taslak adı, taslak kimliği, yürütme modu ve motor sürümü dahil olmak üzere iş yapılandırmaları.

Değişiklikleri çekme

  1. Development > ETL sayfasında Git'ten en son durumu almak için Git - Synchronize Changes öğesine tıklayın. Son eşitlemenin zamanı simgenin sağında görünür. Güncel değilse yenilemek için simgeye tıklayın. Git'te güncellemeler varsa çekme simgesinin yanında Update Available görünür.

  2. Git - Pull öğesine tıklayın.

    Sayfanın altındaki durum çubuğunda, git dalı main olarak gösterildiğinde ve yeni uzak işlemler tespit edildiğinde mavi bir Update Available bağlantısı görünür. Çekme işlemini başlatmak için bu bağlantıya (ipucu: Git - Pull) tıklayın.

  3. Sayfada Successfully pulled from the remote repository mesajı göründüğünde ETL sayfası yenilenir ve çekilen SQL taslaklarını görüntüler. Çekme işleminden sonra mevcut taslak git tarafından kilitlenir. Taslağı değiştirmek veya silmek için Click To Unlock öğesine tıklayın.

    CREATE TEMPORARY TABLE test_source(
        a BIGINT,
        b INT
    ) WITH (
        'connector'='datagen'
    );

Birleştirme çakışmalarını çözme

Önemli

Realtime Compute for Apache Flink genel geri almayı desteklemez. Çakışmaları çözmeden önce kritik verileri yedekleyin (örneğin example.sql dosyasını yerel olarak kopyalayın) ve operasyonel etkiyi değerlendirin. Çakışmaların yanlış ele alınması geri döndürülemez sonuçlara yol açabileceğinden dikkatli ilerleyin.

  1. Çakışan dosyada Resolve öğesine tıklayın.

  2. Çakışma çözümleme sayfasında çakışan kodu seçin ve uygun eylemi belirleyin.

    Düğme Eylem
    Accept Current Change Kodun orijinal sürümünü korur.
    Accept Incoming Change Uzak git deposundaki değişikliği uygular.
    Accept Both Changes Hem yerel hem de uzak değişiklikleri uygular.
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    CREATE TEMPORARY TABLE vvpnntest_source(
    =======
    CREATE TEMPORARY TABLE nntest_source(
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
        a BIGINT,
        b INT
    ) WITH (
        'connector'='datagen'
    );
    
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    CREATE TEMPORARY TABLE vvpnntest_sink(
    =======
    CREATE TEMPORARY TABLE nntest_sink(
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
        a BIGINT,
        b INT
    ) WITH(
        'connector'='blackhole'
    );
    
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    INSERT INTO vvpntest_sink
    =======
    INSERT INTO nntest_sink
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
    SELECT *
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    FROM vvpnntest_source;
    =======
  3. Mark As Resolved öğesine tıklayın.

  4. Continue öğesine tıklayın.

Sonraki Adımlar