Runbook: Upravljanje DSN

Trajanje: ~10 minut
Vloga: Gateway-operater
Predpogoj: Dostop do appsettings.json

DSN (Data Source Name) definira vnaprej nastavljene povezave do baz podatkov.


Potek dela

flowchart TD A[Zahteva za DSN] --> B{Nova ali obstoječa?} B -->|Nova| C[Uredi appsettings.json] B -->|Obstoječa| D[Testiraj povezavo] C --> E[Ponovno zaženi Gateway] E --> D D --> F{Test uspešen?} F -->|Da| G[Dokumentiraj] F -->|Ne| H[Preveri Connection String] H --> C style G fill:#e8f5e9 style H fill:#ffebee


1. Prikaz obstoječih DSN

# Navedi vse konfigurirane DSN (API)
curl -s http://localhost:5000/api/v1/dsn | jq
 
# Ali neposredno preveri v konfiguraciji
cat appsettings.json | jq '.Gateway.Databases'

2. Dodajanje novega DSN

Uredi appsettings.json:

{
  "Gateway": {
    "Databases": {
      "demo": {
        "Provider": "sqlite",
        "ConnectionString": "Data Source=data/demo.db"
      },
      "produkcija": {
        "Provider": "sqlserver",
        "ConnectionString": "Server=sql01;Database=ProdDB;User Id=app;Password=***;TrustServerCertificate=True"
      },
      "porocanje": {
        "Provider": "postgresql",
        "ConnectionString": "Host=pg01;Database=reports;Username=reader;Password=***"
      }
    }
  }
}

Podprti ponudniki:

Ponudnik Primer ConnectionString
———-—————————
sqlserver Server=host;Database=db;User Id=user;Password=pwd
sqlite Data Source=path/file.db
postgresql Host=host;Database=db;Username=user;Password=pwd
mysql Server=host;Database=db;User=user;Password=pwd

3. Ponovni zagon Gateway

# Windows
Stop-Process -Name "WvdS.WebAPI.Data.Gateway.Api" -Force
Start-Process -FilePath ".\WvdS.WebAPI.Data.Gateway.Api.exe"
 
# Linux (systemd)
sudo systemctl restart data-gateway

4. Testiranje DSN

# Navedi tabele novega DSN
curl -s http://localhost:5000/api/v1/dsn/produkcija/tables | jq
 
# Pridobi prve podatke
curl -s "http://localhost:5000/api/v1/dsn/produkcija/tables/Customers?\$top=5" | jq

5. Odstranitev DSN

  1. Izbriši vnos DSN iz appsettings.json
  2. Ponovno zaženi Gateway
  3. Preveri, da DSN ni več na voljo:
curl -s http://localhost:5000/api/v1/dsn/stari_dsn/tables
# Pričakovan odgovor: 404 Not Found

Kontrolni seznam

# Točka preverjanja V
———–
1 Ponudnik pravilen (sqlserver/sqlite/…)
2 Connection String veljaven
3 Geslo ni vidno v dnevnikih
4 Gateway ponovno zagnan
5 API-test uspešen

Odpravljanje težav

Težava Vzrok Rešitev
————————–
Database not found Napačna baza podatkov Preveri ime baze
Login failed Napačno geslo Preveri poverilnice
Connection refused Požarni zid blokira Odpri port 1433/5432/3306
Provider not supported Napačno ime ponudnika sqlserver, sqlite, postgresql, mysql
JSON parse error Sintaktična napaka Preveri JSON (jsonlint.com)

Varnostni nasveti

Gesel nikoli ne zapisuj v čistem besedilu v dnevnike!

Uporabi okoljske spremenljivke za poverilnice:

"ConnectionString": "Server=sql01;Database=ProdDB;User Id=${DB_USER};Password=${DB_PASS}"

Povezani Runbooks


« <- Zagon strežnika | -> Health Check »


Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional

Zuletzt geändert: dne 29.01.2026 ob 23:40