İçeriğe geç

n8n

n8n-nodes-basedb paketi n8n’e üç düğüm ekler:

DüğümRol
basedbbir tablonun satırlarını okur ve yazar, bir satırı yorumlar; n8n’in bir yapay zeka ajanı tarafından araç olarak kullanılabilir
basedb Triggerson kontrolden bu yana oluşturulan — ya da oluşturulan veya değiştirilen — her satır için bir iş akışı başlatır
basedb Webhook Triggerbir satır oluşturulduğu, değiştirildiği ya da silindiği anda bir iş akışı başlatır

n8n’de: Settings › Community Nodes › Install, ardından n8n-nodes-basedb.

Arayüz olmadan — kuyruk kipi, önceden kurulmuş bir Docker imajı — : ~/.n8n/nodes klasöründe npm install n8n-nodes-basedb, ardından n8n’i yeniden başlatın.

n8n’de bir basedb API kimlik bilgisi oluşturun:

AlanDeğer
Instance URLbasedb’yi açtığınız adres: https://basedb.exemple.fr
Workspaceçalışma alanının referansı, API adreslerindeki (/api/v1/<espace>/…) referans: t4z56fq, kurulum BASEDB_TENANT’ı belirlemediyse
Tokenbir entegrasyon token’ı: veritabanının ⋯ menüsü → API ve ajanlar → API ve MCP token’ları…
Environmentisteğe bağlı: veritabanında çalışılacak ortam — recette, production… Boş: canlı ortam

Bir token bir veritabanını açar — tüm ortamlarıyla ya da, oluşturulurken sınırlandıysa, yalnızca biriyle. Satırlarını okur, yazma yetkisiyle oluşturulduysa yazar ve onu oluşturan kişiden asla daha fazla izne sahip olmaz. Kaydedilirken n8n bağlantıyı dener ve token reddedilirse bunu bildirir.

Canlı ortamda ve test ortamında çalışmak için, aynı token ile iki kimlik bilgisi oluşturun: birinde Environment boş, diğerinde recette. Hiçbir ortam seçilmediğinde, düğümün veritabanı listesi her ortamı gösterir, adı parantez içinde.

İşlemNe yapar
Row › Createbir satır ekler
Row › Create or Updateseçilen alanları bu değerleri taşıyan satırı değiştirir, ya da hiçbiri taşımıyorsa ekler
Row › Getbir satırı _id’siyle okur
Row › Get Manybir filtrenin satırlarını, istenen sırada, bir sınıra kadar ya da tümünü, sayfa sayfa okur
Row › Update_id’siyle ya da başka alanlarla bulunan bir satırı değiştirir
Comment › Createbir satırı yorumlar; bir @bahsetme kişiye haber verir

Veritabanı ve tablo, token’ın açtığı listelerden seçilir. Yazılacak alanlar basedb’deki adlarıyla görünür, bir tekli seçim seçenekleriyle, bir Kişi alanı çalışma alanının üyeleriyle; hesaplanan bir alan — formül, arama, toplama, otomatik numara — orada yer almaz, çünkü onu basedb’nin kendisi yazar. Alanın reddettiği bir değer, düğümü basedb’nin koduyla ve söylediğiyle durdurur.

  • Filtre ve sıralama, alanların teknik adlarını, SQL’dekileri kullanır: statut eq "gagne" and montant gte 10000, -montant,nom. Dil bilgisi REST API’nınkiyle aynıdır.
  • Sayılar ondalık metin olarak gelir ("1250.50"), hiçbir hane kaybolmasın diye; Numbers as Numbers seçeneği onları sayıya çevirir.
  • Bir ilişki { "id": …, "display": … } olarak okunur ve bağlı satırın _id’siyle yazılır.
  • Create or Update hiçbir zaman birden çok satırı değiştirmez: birden çoğu bu değerleri taşıyorsa, düğüm tahmin etmek yerine durur.
  • Delete işlemi yok: satırları kaldırmak için onları işaretleyin (bir “Arşivlendi” durumu), silmeyi bir otomasyona bırakın, ya da silmek için oluşturulmuş bir token’la REST API’yi çağırın.

Düğüm, basedb’den seçilen hızda (her dakika, her saat…), son seferden bu yana oluşturulan — ya da oluşturulan veya değiştirilen — satırları ister, gerekirse ek bir filtreyle. basedb n8n’e ulaşamadığında dahi her yerde çalışır. İlk kontrolünde tablonun neresinde olduğunu not eder ve hiçbir şey üretmez; düzenleyiciden bir deneme, sonraki düğümleri bağlayabilmek için son satırı verir.

Oluşturulan, değiştirilen ya da silinen her satır — doğrudan PostgreSQL’e yazılan SQL ile bile — iş akışını hemen başlatır:

  1. Düğümü ekleyin ve Production URL’sini kopyalayın.
  2. basedb’de, veritabanının ⋯ menüsü → API ve ajanlar → Webhook’lar…: bu adrese bir webhook oluşturun, tablolarını ve olaylarını seçin.
  3. basedb imza gizli anahtarını bir kez gösterir: onu n8n’in bir basedb Webhook kimlik bilgisine koyun.
  4. İş akışını etkinleştirin.

Her olay bir öğeye dönüşür: type’ı (record.created, record.updated, record.deleted), tablo, satırın önceki ve sonraki hâli, ve değişen alanlar (changed). Düğüm her iletimin imzasını doğrular ve imzası olmayana, sahte olana ya da beş dakikadan eskisine 401 yanıtı verir. basedb en az bir kez iletir: iş akışının bir olayı iki kez işlememesi gerekiyorsa olayın id’si üzerinden tekilleştirin.

n8n’in HTTP Request düğümü de basedb ile konuşur: Authorization: Bearer <jeton> başlığı, gidişte ve dönüşte JSON, after olarak geçirilen meta.next_cursor ile sayfalama ({{ $response.body.meta.next_cursor }}), ve bir arıza sonrası _updated_at üzerinde bir filtre ile ve …/<table>/deleted?since= ile devam etme.

basedb, yapay zeka odaklı yazılım stüdyosu Eodia tarafından geliştirilen özgür bir yazılımdır.